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



also: hätte irgend jemand einen Alorithmus-Vorschlag
der erkennt ob ein Punkt innerhalb eines Polygons
ist. ( dass der Punkt auf der Ebene des Polygons liegt
ist in mienem Fall bereits geprüft worden.. )

Dazu etwas c-Pseudocode:

Quellcode:
struct vertex_3d
{
float v[3];
};

struct plane_3d
{
float normal[3];
float dist;
};

struct polygon_3d
{
plane_3d plane;

vertex_3d *points;
int numpoints;
};

wäre echt cool wenn dazu jemand ein Vorschlag hätte - THX

--


Dieser Beitrag wurde am 23.02.2002 um 18:40 von Diablo_bth bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
23.02.2002, 19:34
Prefect



Für was brauchst du das?

Ich würde als Ansatz versuchen, durch die Polygonkanten Ebenen durchzulegen. Angenommen die Vorderseiten dieser Ebenen zeigen nach außen, dann muß dein Punkt einfach hinter allen Kanten-Ebenen liegen.

Im Zusammenhang mit CSG oder nicht-löcherigen BSP-Trees, Meshes, etc.. kannst du als Kanten-Ebenen natürlich einfach die anderen Ebenen verwenden, die z.B. zu einem Brush gehören. Auf diese Weise läßt sich auch Kollision relativ leicht erledigen.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
002
23.02.2002, 19:47
Diablo_bth



danke Prefi, is schon mal ein Anfang...
ich bräuchte sowas wie eine intersect-abfrage für zwei Polygone. Dabei genügt es aber nicht die maximale Ausdehnung ( *quake-bounding-rulez* ) auf Überlappung zu überprüfen, weil eventuell zwei schräge Polygone als berührende interpretiert werden! Deshalb müsste ich einfach jeden Punkt des einen Polygons darauf überprüfen ob er innerhalb des anderem Polygon liegt. ( wie gesagt liegen dieser Polygone zu deiesem Zeitpunkt bereits auf einer Fläche.. )

naja ich bastel an einem leaf-bsp-tree-system, aber in deisem Stadium der map gibts es bereits keine Brushes mehr. Ich brauch diese Prozedur um den Aussenraum aufzufüllen und hab kein bock das so bescheuert wie die quake-technick zu handhaben.

--

zum Seitenanfang zum Seitenende Profil || Suche