Behöver hjälp... Njae... nu pratar du lite konstigt. Typ... Menade ju att Jag har X,Y och vilken vinkel jag vill vrida den.. Alltså Vx=23grader Vy=75 Vz=2... Du måste vara mer specifik och tydlig. Ok... Ja, då är det frågan om vad du vill göra. Vill du ha perspektivkorrekt vy? http://www.pellesoft.se/communicate/userprogram/program.aspx?tid=597Rotation i 3D
Jag har en 3D punkt (2D (X,Y)) och skall rotera den Vx,Vy och Vz grader.
Hur räknar jag ut ny X och Y punkt??Sv: Rotation i 3D
1. Menar du att den alltid är (X, Y, 0) ?
2. Hur menar du med att rotera den vx, vy och vz? Rotera den vx kring x-axeln, osv.?
Du vill nog använda kvaternioner egentligen, men skit samma.
Principen för att rotera kring x-axeln blir
y = y_0 cos(vx) - z_0 sin(vx)
z = y_0 sin(vz) + z_0 cos(vz)
Sen får du applicera varje rotation efter varandra.Sv:Rotation i 3D
Z är ju alltid samma eftersom det är ett platt föremål...
Finns det ingen formel att läsa ut tex X med Det gamla X ochde 3 Vinklarna eller måste man ta det i 3 steg??Sv: Rotation i 3D
<b>>Typ... Menade ju att Jag har X,Y och vilken vinkel jag vill vrida den.. Alltså Vx=23grader Vy=75 Vz=2...
Z är ju alltid samma eftersom det är ett platt föremål...</b>
Fundera igenom vad du menar. 3D-rotationer är inga uppenbara grejer. Det finns minst tre sätt att betrakta dem.
<b>>Finns det ingen formel att läsa ut tex X med Det gamla X ochde 3 Vinklarna eller måste man ta det i 3 steg??</b>
Om jag gissar vad du menar : jo, visst kan du slå ihop formlerna till en enda. Ser ingen större nytta med det i ditt fall.Sv:Rotation i 3D
Men behöver jag bry mig om det slutliga Z jag får då??
Eller använder jag bara X.Y?
Hur svårt är det att få in Camera Pos och Djup i bilden om man vill ha tex en kub som roterar? (Som givetvis har ett Zmått...)Sv: Rotation i 3D
då ska du använda
X = x*d/z
Y = y*d/z
Men då måste du göra en rad andra transformationer. Vill du ha parallellperspektiv är det bara att skippa Z, men det är inte så snyggt.
Vill du ha in en kamera så måste du börja läsa lite och förstå det här på riktigt. Det är inte speciellt svårt, lite trianglar och trigonometri, men det är inget man kan lära ut i en forumtråd. Jag lade upp ett program som gjorde lite av det här för några år sen, ska kolla om jag hittar den.Sv:Rotation i 3D
Det som måste ändras är framför allt funktionen Conv3DTo2D i mod3D.bas. Detta är parallellprojektion.