Autor Beitrag
Fetze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65
Erhaltene Danke: 1



BeitragVerfasst: Mo 12.05.08 23:13 
Heyho.

Ich poste das mal hier, da es sich um ein allgemeines mathematisches Problem handelt und nicht um ein speziell .Net/C#/Delphi/..-bezogenes. Es geht um folgendes:

Ich habe eine Kollisionsprüfung zwischen Polygon und Polygon und nutze dafür das Separating Axis Theorem. Funktioniert alles prima, inklusive Errechnung des resultierenden Minimum Translation Vectors bzw. des "Verschiebevektors" zur Trennung der beiden Polygone nach einer Kollision.

Leider benötige ich weiterhin einen etwaigen Schnittpunkt um - beispielsweise - eine Impulsübertragung mit Drehimpuls kollidierter Objekte durchzuführen. Mir ist allerdings nicht klar, wie ich den erhalten soll. Welche Möglichkeiten gibt es (Und wie sind diese ggf. mathematisch umsetzbar)? Welche sind am performantesten?

Es stehen selbstverständlich als Grundlage die Projektionsachsen beider Polygone, je eine Boundingbox und die Koordinaten all ihrer Punkte zur Verfügung.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 15.05.08 11:16 
IMHO brauchst Du nur nach Errechnung des Verschiebe-Vektors zu schauen, welche beiden Kanten scheiden. Da Du (IIRC) dazu eh bereits weißt, um welche Axe es sich handelt, solltest Du damit gleichzeitig aber auch wissen, welche Kante das betrifft.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.