Rotation hin, Rotation her.....Problem
Übersicht

.erazerBetreff: Rotation hin, Rotation her.....Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich stehe vor folgendem Problem.
Ich habe eine parent/child Beziehung und dann ist klar, dass sich das child bei rotation um das parent dreht, als mittelpunkt sozusagen. aber was ist, wenn ich ein child um die eigene achse drehen will, und sich das parent woanders befindet? was sind eigentlich globale rotationen? eigentlich ist doch alles relativ, oder? ich komm da nicht ganz hinterher. |
||
Silvester |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn ich mit turnentity das child bewege, dreht sich das Childobjekt schon um sich selbst,nicht um das Parent:
Code: [AUSKLAPPEN] Graphics3D 640, 480 SetBuffer BackBuffer() sphere = CreateSphere(5) ;Diese Kugel ist das Parentobjekt des Würfels cube = CreateCube(sphere) ;Diese Würfel ist Child von sphere MoveEntity cube, 0, 3, 0 ;Würfel verchieben, um die Drehung zu sehen ScaleEntity sphere, 0.1, 0.1, 0.1 ScaleEntity cube, 1.5, 1.5, 1.5 cam = CreateCamera() MoveEntity cam, 0,0,-3 PointEntity cam, cube WireFrame 1 While Not KeyHit(1) TurnEntity cube, 1, 1, 1 UpdateWorld : RenderWorld : Flip Wend Wo ist also das Problem? (oder ahbe ich deine Frage nicht ganz verstanden)[/code] |
||
Mach das Fenster zu, dem Pinguin wird kalt!!! ![]() |
.erazer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und um das child um das parent zu drehen, brauch ich den optionalen global parameter, richtig? | ||
Silvester |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Um das child um das Parent zu drehen, musst du einfach das parent-objekt drehen, also so:
Code: [AUSKLAPPEN] Graphics3D 640, 480 SetBuffer BackBuffer() sphere = CreateSphere(5) ;Diese Kugel ist das Parentobjekt des Würfels cube = CreateCube(sphere) ;Diese Würfel ist Child von sphere MoveEntity cube, 0, 3, 0 ;Würfel verchieben, um die Drehung zu sehen ScaleEntity sphere, 0.1, 0.1, 0.1 ScaleEntity cube, 1.5, 1.5, 1.5 cam = CreateCamera() MoveEntity cam, 0,0,-3 PointEntity cam, cube WireFrame 1 While Not KeyHit(1) TurnEntity sphere, 1, 1, 1 UpdateWorld : RenderWorld : Flip Wend Silvester[/code] |
||
Mach das Fenster zu, dem Pinguin wird kalt!!! ![]() |
.erazer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wozu ist dann der parameter global da? | ||
Silvester |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn Global auf 0 ist (die standardeinstellung), dann wird das lokale Koordinatensystem des parent-meshs (oder, wenn der mesh kein parent hat, sein eigenes lokales Koordinatensystem) verwendet. Das heißt: Wenn der parent-mesh gedreht wird, drehen sich auch die Achsen mit (die y-achse schaut dann nicht mehr nach oben, sondern z.B. nach vorne).
Wenn Global auf 1 gesetzt ist, wird das globale Koordinatensystem verwendent, d.h. wenn der mesh gedreht wird, zeigt die x-achse immer noch nach links und rechts, die y-achse nach oben und die z-achse nach hinten. Ich hoffe, du hast es verstanden (ich kann nicht so gut erklären) Silvester |
||
Mach das Fenster zu, dem Pinguin wird kalt!!! ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group