Pitch Berechnung eines Dreiecks

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

fliege

Betreff: Pitch Berechnung eines Dreiecks

BeitragMo, Jun 05, 2006 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi nochmal,
Ich wollte fragen, ob folgende Funktion zur Berechnung des Pitch-winkels eines Dreiecks stimmt:
Code: [AUSKLAPPEN]
Function calc_tripitch(surface, triangle)
      a = TriangleVertex(Surface, triangle, 0)
      b = TriangleVertex(Surface, triangle, 1)
      c = TriangleVertex(Surface, triangle, 2)
      surf = Surface
      ;Vektor AB ausrechnen
      ABx# = VertexX(surf,b) - VertexX(surf,a)
      ABy# = VertexY(surf,b) - VertexY(surf,a)
      ABz# = VertexZ(surf,b) - VertexZ(surf,a)
     
      ;Punkt P ausrechnen:
      Px# = VertexX(surf,a)+0.5*(ABx#)
      Py# = VertexY(surf,a)+0.5*(ABy#)
      Pz# = VertexZ(surf,a)+0.5*(ABz#)
     
      ;Steigung ausrechnen:
      PCy# = VertexY(surf,c) - Py#
      PCz# = VertexZ(surf,c) - Pz#
      alpha = -ATan(PCy#/PCz#)
     
      Return alpha
End function

Ich weis, das die Formel nicht 100% richtig ist, weil sie nur den Winkel zwischen A und B ausrechnet, aber stimmt sie sonst? Gibt es vielleicht sogar andere Möglichkeiten, wie ich den Pitch-Winkel eines Dreiecks berechnen kann?

Fliege

stfighter01

BeitragDi, Jun 06, 2006 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
pitchwinkel bei einem dreieck? oO

ich weiss nicht genau was für einen winkel du ausrechnen willst, aber ich weiss das du irgendwann einen divisionbyzero fehler bekommen wirst.
nämlich genau dann wenn PCz# = 0 ist.
Denken hilft!

Markus2

BeitragDi, Jun 06, 2006 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Vieleicht solltest du erstmal die Oberflächennormale ausrechnen .

So wie du das jetzt gemacht hast geht das auch nur für Objekte die nicht
im Raum gedreht werden .

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group