Winkel berechnen
Übersicht

![]() |
NoobodyBetreff: Winkel berechnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, wie der Titel etwas ungenau ausdrückt, möchte ich die Ausrichtung eines Rechtecks im 3D - Raum berechnen.
Dies benötige ich, um Quads innerhalb einer Surface auf die Kamera auszurichten. Weil die Singlesurface - Lib, die ich benutze, nur QuadTurn beinhaltet, nicht aber das Drehen auf einen absoluten Winkel beeinhaltet, muss ich diese Funktion selbst schreiben (dies, um die Partikel später senkrecht auf die Kamera auszurichten). Für den einzige Weg, der mir dazu eingefallen ist, muss ich irgendwie die Ausrichtung des Quads (also dessen Winkel) berechnen. Mein Ansatz war, für beispielsweise den Pitch den Vektor der Seite AB auszurechnen, mithilfe von TFormVector zu transformieren und danach mit VectorPitch(...) den Pitch zu erhalten. Dies funktioniert jedoch nur, wenn die beiden anderen Achsen nicht gedreht sind. Hat hier jemand eine Ahnung, wie ich das berechnen kann / evt. besser lösen kann? MfG Noobody |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Winkel der Quads ist gleich der Winkel der Kamera. Was du brauchst ist also nur die relative Positionierung der einzelnen Vertices anhand der vorgegebenen Winkels. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau da liegt aber mein Problem ![]() Ich weiss nicht, wie ich das hinbekomme. Mein Ansatz war ja, ihre jetzige Rotation zu berechnen und sie nachher um die Differenz zum Kamerawinkel zu drehen. Jedoch kann ich jetzt die Winkel nicht berechnen. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
die methode die mir grad einfällt hört sich irgendwie langsam an aber wie wärs mit nem Pivot der sich auf jedes Quad mal opsitioniert dort einmal pointentity macht und seine Drehung an das quad übergibt.... | ||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Problem ist, dass die Quads innerhalb einer Surface liegen und daher nicht mit Entitybefehlen angesprochen werden können, daher bringt mir Pointentity auch nicht viel, da ich den Pivot nur auf das Containermesh ausrichten könnte.
Ausserdem würde das auch garantiert ziemlich langsam werden, da man in manchen Situationen sicher mehr als 100 Partikel hat. Mir ist da was eingefallen, wie ich zwar nicht den Winkel eines Quads herausfinden kann, aber es auf einen absoluten Winkel drehen kann. Den Mittelpunkt kann ich mir ja aus den Eckpunkten berechnen, und ich muss das Quad praktisch nur auf eine Drehung von 0 Grad zurückbringen und von dort um/auf den gewünschten Winkel zu drehen. Werde das austesten, sobald ich zuhause bin. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group