Polygonnormale
Übersicht

![]() |
StepTigerBetreff: Polygonnormale |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo wieder mal.
Hab mal wieder ne extradumme Frage. Ich bastel immer noch an dem Normalmap Ersteller. Wie kann man die Polygonnormale eines einzelnen Dreiecks darstellen? Ich finde einfach keine Lösung =( |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Indem du ein Quad mit der Textur einer Linie / Pfeil darauf stellst und entsprechend ausrichstest.
Alternativ kannst du auch den 2D Befehl Line nehmen und die von "normalenpunkt" zu "normalenpunkt + normale" ziehen wobei du das ganze einfach in 2D Koordinaten umrechnest via Cameraproject |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
da liegt nicht mein Problem ![]() Die Darstellung ist ne Kleinigkeit! (Du unterschätzt mich, Dreamora ^^) Mir geht es um die Winkelrechnung und ich weiß nicht, wie ich diesen Punkt, da wo die normale hinführt, finden soll. Ich finde einfach keinen Weg, den X und Y Winkel zwischen den Dreieckspunkten zu finden. Soweit danke! |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du jetzt von deinen Dreieckspunkte die länge kennst ( mit helfe von pythagoras).
Dann könntest du doch mit dem Kosinussatz deine Winkel berechnen. a² = b² + c² - cos2bc * cos alpha b² = a² + c² - cos2ac * cos beta c² = a² + b² - cos2ab * cos gamma Ich hoffe es hilft dir, denn ich hab noch nie etwas von " Polygonnormale" gehört. mfg Shark |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
EdgeA = Vertex1 - Vertex0
EdgeB = Vertex2 - Vertex0 Normal = EdgeA x EdgeB Das x bedeutet Kreuzprodukt der Vektoren EdgeA und EdgeB. Weiß nicht mehr, ob du den Normalvektor noch normalisieren musst. Wirste ja sicher bei einem Beispiel herausfinden. mfg olli Edit, ja, muss noch normalisiert werden. Code: [AUSKLAPPEN] Vertex0% = TriangleSurface(Triangle, 0)
Vertex1% = TriangleSurface(Triangle, 1) Vertex2% = TriangleSurface(Triangle, 2) EdgeAX# = VertexX(Surface, Vertex1) - VertexX(Surface, Vertex0) EdgeAY# = VertexY(Surface, Vertex1) - VertexY(Surface, Vertex0) EdgeAZ# = VertexZ(Surface, Vertex1) - VertexZ(Surface, Vertex0) EdgeBX# = VertexX(Surface, Vertex2) - VertexX(Surface, Vertex0) EdgeBY# = VertexY(Surface, Vertex2) - VertexY(Surface, Vertex0) EdgeBZ# = VertexZ(Surface, Vertex2) - VertexZ(Surface, Vertex0) NormalX# = EdgeAY*EdgeBZ - EdgeAZ*EdgeBY NormalY# = EdgeAZ*EdgeBX - EdgeAX*EdgeBZ NormalZ# = EdgeAX*EdgeBY - EdgeAY*EdgeBX Length# = Sqr(NormalX*NormalX + NormalY*NormalY + NormalZ*NormalZ) If Length# = 0.0 Then NormalX = 0.0 NormalX = 0.0 NormalX = 0.0 Else RLength# = 1.0 / Length NormalX = NormalX * RLength NormalY = NormalY * RLength NormalZ = NormalZ * RLength EndIf so, in etwa müsste es funktionieren. Den Normalvektor solltest du dann über TFormVector noch in Weltkoordinaten umwandeln... mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
2 Sachen ^^
TriangleVertex und NormalX#=0.0 NormalY#=0.0 NormalZ#=0.0 Hab den Code noch nicht probiert, aber das ist Sicherheit. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group