Aktuelle Zeit: 20.04.2025, 03:12

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Get Triangle Normals
BeitragVerfasst: 20.07.2007, 11:48 
Offline

Registriert: 22.04.2007, 13:12
Beiträge: 53
Hi hab wieder mal ein kleines Problem wobei ihr mir bestimmt helfen könnt.

Es geht darum das ich ein Object an den Normalen eines Triangles (von einem anderen Object ) ausrichten möchte.

Alles ist soweit auch ok... Ich hab das benötigte Triangle und kann das Object auch an der Position des Triangle positionieren. Jetzt sollte dieses Object aber auch die Normals des Triangles als Rotation anwenden.

hab es mal mit :

Triangle.getnormals()
--------------------------------------------------
und
--------------------------------------------------
Triangle.getplain.normal

Versucht och bei beiden kein Erfolg.

Wie kann ich an die Normalausrichtung des Triangles kommen .. so das ich mein Object danach ausrichten kann...

??
Danke schonmal.

_________________
Progammiersprache: VB.NET 2005
Irrlichtversion: Irrlicht.Net CP 0.8


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Get Triangle Normals
BeitragVerfasst: 20.07.2007, 18:21 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
also, Triangle.getNormal() sollte eigentlich funktionieren...

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Get Triangle Normals
BeitragVerfasst: 24.07.2007, 11:40 
Offline

Registriert: 22.04.2007, 13:12
Beiträge: 53
Also Dankeschön ;) habs jetzt doch hinbekommen.. leider hat nur ein Triangle.getnormals nicht gereicht :)
Aber jetzt hab ichs ja und es kann weitergehen ;)

_________________
Progammiersprache: VB.NET 2005
Irrlichtversion: Irrlicht.Net CP 0.8


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Get Triangle Normals
BeitragVerfasst: 24.07.2007, 13:10 
Offline
Moderator

Registriert: 26.03.2007, 20:06
Beiträge: 114
Wenn du eine Lösung für dein Problem gefunden hast, wäre es schön, wenn du diese hier noch mit ins Forum schreibst. So können Leute mit dem gleichen Problem einfach über die Suche eine Antwort finden, ohne die Frage noch mal stellen zu müssen...


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Get Triangle Normals
BeitragVerfasst: 26.07.2007, 18:03 
Offline

Registriert: 22.04.2007, 13:12
Beiträge: 53
Ups Sorry ! Ja klar werd den Code Posten ;)

Also : Code ist VB.Net und die c++ vorlage hab ich aus dem US Forum.
Nachdem man die Triangle hat geht man wie folgt vor.

Dim normal1 As Vector3D = (triangle.pointB - triangle.pointA).CrossProduct(triangle.pointC - triangle.pointB).Normalize * 9.48685

Code:
Dim bbox As Core.Box3D = plan.BoundingBox ' Plan ist in diesem Falle das OBject was später positioniert werden soll.

Dim a As Vector3D = bbox.MinEdge
Dim b As Vector3D = bbox.MaxEdge
Dim c As Vector3D = bbox.MinEdge

b.Y = a.Y
c.X = b.X

Dim normal2 As Vector3D = (b - a).CrossProduct(c - b).Normalize * 9.48685
Dim angle As Vector3D = normal2.CrossProduct(normal1)



SO ist auch schon alles! Jett muss man nur das OBject an dem Vector der Collision positionieren und anhand des neuen Vectors(Angle) rotieren.

Hoffe das es für andere brauchbar ist.

_________________
Progammiersprache: VB.NET 2005
Irrlichtversion: Irrlicht.Net CP 0.8


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de