Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
17.07.2002, 20:20
Pa



Hoi,
folgendes Problem:

Ich habe ein Dreieck (nicht rechtwinklig) beliebige größe ..
Ein punkt ist an einer stelle in der nähe (oder drinn)

Wie kann ich prüfen ob der Punkt im Dreieck oder ausserhalb ist?
Bitte auch allgemeine logische Lösungen (oder c++)

__
Ref:
Skizzenversuch (funktioniert nicht, da nicht nur die dreiecke gecheckt werden sondern eben das gesammte rechteck

--

_______________
cooldata.org - real bugware

zum Seitenanfang zum Seitenende Profil || Suche
001
17.07.2002, 21:07
xoix



ack da kann man fast nichts erkennen...
das grün tötet meine augen.
zu dem problem, da kann ich dir nich helfen weil ich grad kein bock hab zum nachdenken, wahrscheinlich irgendwie mit flächeninhalt oso.
vielleicht machste es auch in einem koord system könnte auch gehen. nur so ein ansporn ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
002
17.07.2002, 21:16
Pa



hmm .. ist halt ne paint-style-skizze ..

--

_______________
cooldata.org - real bugware

zum Seitenanfang zum Seitenende Profil || Suche
003
17.07.2002, 21:28
xoix



ja aber dieses grün hätteste anders machen können ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
004
17.07.2002, 22:04
Killing Me Softly



*inlinksammlungwühl* da isser. Zwar nicht für den Spezialfall "Dreiecke", aber reinschauen kannste ja mal.
http://astronomy.swin.edu.au/~pbourke/geometry/insidepoly/

--

Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.

zum Seitenanfang zum Seitenende Profil || Suche
005
17.07.2002, 22:18
Nicemice
Moderator


Hi,
Willst du's in 2D oder in 3D ?

In 3D isses etwas komplizierter:
1. Du baust aus den aufspannenden Vektoren des Dreiecks ein Koordinaten system.
2. Dann mußt du den Punkt von deinem Weltkoordinatensystem auf das neue Koordinatensystem projezieren.
3. Die Projektion sagt die nun ob der Punkt drin liegt oder nich.

So sieht ein optimierter Algorithmus aus: (Der verwendet noch gleich den Normalenvektor des Dreiecks, was etwas Performance spart, da der im Normalfall vorberechnet wird)

Link

Im 2D funktionierts genauso...

--

www.d3opencoop.com - A Doom3 Cooperative Mod

zum Seitenanfang zum Seitenende Profil || Suche
006
18.07.2002, 09:25
Tron



google mal nach baryzentriysch/barycentric

im prinzip:
punkt: p
eckpunkte des dreiecks: p1, p2, p3

1. ein eckpunkt des 3ecks als ursprung definieren (z.b. p1)
2. die beiden vektoren zu den anderen eckpunkten bestimmen (u = p2-p1, v = p3-p1)
3. den punkt natuerlich auch an das neue koordinatensystem anpassen (p'=p-p1)
4. pruefen, ob der punkt diese gleich erfuellt: p' = u * t + v * (1 - t) fuer 0 <= t <= 1
funktioniert in jedem n-dimensionalen raum fuer n >= 2

hab ich schnell aus dem kopf hingeschrieben, falls ich irgendwo nen fehler reingebaut hab, moege man mich korrigieren.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
007
18.07.2002, 13:59
Pa



danke, ihr habt mir sehr geholfen ..

--

_______________
cooldata.org - real bugware

zum Seitenanfang zum Seitenende Profil || Suche