Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
dass ich kein Mathematiker binGut,..
Ich verstehe das so, dass die Normale irgendwo durch die Ebene gehen kann, bei mir geht sie durch den Ursprung
Du sagst du hast 3 Punkte, die die Ebene aufspannen? Woher kommen die genau?
Du sagst du hast 3 Punkte, die die Ebene aufspannen? Woher kommen die genau?
Das ist doch völlig egal, wir können ja sicherlich davon ausgehen, dass diese drei Punkte im gleichen Koordinatensystem liegen.
Aus diesen drei Punkten ergibt sich dann die Ebene, bis auf die Orientierung der Normale die aber für das Problem eventuell auch völlig egal ist.
Okay, dann begreife ich auch endlich worauf du mit den Koordinatensystemen hinaus willst
Aber auch das ist dann ja nurnoch eine weitere einfache Transformation.
Also wenn ich jetzt das Problem korrekt verstehe, gibt es mehrere Punkte in einem 2D Koordinatensystem und diese sollen jetzt auf eine Ebene im Raum projiziert werden, die durch 3 Punkte in diesem 3D Koordinatensystem bestimmt ist?
Dann lässt sich dafür ja relativ einfach eine Transformation bestimmen:
Erst eine Look At Matrix bestimmen: http://stackoverflow.com/questions/34905…a-lookat-matrix
und dann das Ergebnis eventuell noch verschieben.
Die up, forward und right Vektoren lassen sich aus den drei Koordinaten bestimmen, dazu kann man einen der Punkte direkt als einen der Vektoren nutzen, die Normale als einen der anderen (normalerweise wohl als up Vektor) und der übrige als Vektorprodukt der anderen beiden passend dazu.
Jetzt sehe ich, dass ich einen Fehler gemacht habe: Hätte gleich die 3D-Version angeben sollen.Das Problem, so wie ich es verstanden hab, ist, Punkte aus einem in 3D eingebetteten 2D Koordinatensystem in das 3D Koordinatensystem zu transformieren. Dazu wird es rein prinzipiell erforderlich sein, zu definieren, wie genau das 2D System im 3D System eingebettet ist...
C#-Quelltext |
|
1 2 3 |
x=sin(2piFta+phiS)sin(2pi(F+1)ta+phiS) y=sin(2piFta+phiS)sin(2pi(F+1)ta+phiS+phiR) // hier phiR=pi/3 z=sin(2piFta+phiS)sin(2pi(F+1)ta+phiS+phiR) // hier phiR=2pi/3 |
An Schiebung hab' noch gar nicht gedacht, nur an PhasenschiebungDu willst nun einfach ein Objekt an diese Position verschieben oder wie!?
Werbeanzeige