|
Winkeldifferenzen berechnen
#168667
11/21/07 11:57
11/21/07 11:57
|
Joined: Sep 2007
Posts: 67 Seevetal, Germany
Rasterbar
OP
Junior Member
|
OP
Junior Member
Joined: Sep 2007
Posts: 67
Seevetal, Germany
|
Hi, ich habe zwei modelle mit ent_vertex zusammen gefügt, nun möchte ich das angehägte modell beliebig um seinen pan-winkel an dem Vertex des anderen modelles drehen. Das Problem sind die Tilt und Roll Winkel bei dem angehängtem modell. Weis jemand wie das mit C-Script Berechnet wird ? Für Lösungsvorschläge währe ich sehr dankbar. Code:
... my.skill69 = clamp(my.skill69, 10, 90); you = my.skill65; // Zeiger Anzuhägendes Model ent_vertex(temp, 49); // Vertex XYZ Pos vec_set(you.x,temp); vec_set(you.pan,my.pan); // Winkel setzen you.pan += my.skill69; // Angehängtes Model plus PAN Offset (10, 90) you.tilt = my.tilt * sin(you.pan); you.roll = my.roll * cos(you.pan); ...
|
|
|
Re: Winkeldifferenzen berechnen
[Re: Rasterbar]
#168668
11/21/07 13:45
11/21/07 13:45
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
ent_vertex?? Gibts bei mir weder im A6 noch im A7 manual. Der befehl um die position eines vertex zu erhalten ist: vec_for_vertex: vec_for_vertex(you.x,my,49); Wegen dem pan offset: Ich würde c_rotate nach dem vec_set benutzen: Code:
vec_set(you.pan,my.pan); c_rotate(you,vector(my.skill69,0,0),use_axisr);
|
|
|
Re: Winkeldifferenzen berechnen
[Re: Xarthor]
#168669
11/21/07 15:26
11/21/07 15:26
|
Joined: Sep 2007
Posts: 67 Seevetal, Germany
Rasterbar
OP
Junior Member
|
OP
Junior Member
Joined: Sep 2007
Posts: 67
Seevetal, Germany
|
Erstmal Danke für die schnelle Hilfe  , der ent_vertex Befehl ist noch von A5, läuft aber unter A6 und A7. Das c_rotate ist zu langsam und macht Probleme. Ich habe noch weitere try and error Versuche gemacht mit dem Ergebnis das das angehägte model den Tilt und Roll Winkel kompensiert solange das Basismodel nur im Pan Winkel gedreht wird oder im Tilt und oder Roll Winkel. Alle drei dürfen nicht gedreht werden. Code:
... my.skill69 = clamp(my.skill69, 10, 90); you = my.skill65; // Zeiger Anzuhägendes Model ent_vertex(temp, 49); // Vertex XYZ Pos vec_set(you.x,temp); you.pan = my.skill69; // Angehängtes Model plus PAN Offset (10, 90) you.tilt = my.tilt * sin(my.pan); you.roll = my.roll * sin(my.pan); ang_add(you.pan, my.pan); ...
|
|
|
Re: Winkeldifferenzen berechnen
[Re: Rasterbar]
#168670
11/22/07 11:20
11/22/07 11:20
|
Joined: Sep 2007
Posts: 67 Seevetal, Germany
Rasterbar
OP
Junior Member
|
OP
Junior Member
Joined: Sep 2007
Posts: 67
Seevetal, Germany
|
Hi, die Lösung liegt manchmal näher als gedacht, mit dem unteren Code lassen sich alle drei Winkel manipulieren. Code:
... vec_set(you.pan,vector(my.skill69,0,0)); // Pan, Tilt, Roll Winkel Offsets ang_add(you.pan, my.pan); // Winkel Offset plus Winkel des Basis Models ...
|
|
|
|