OGRE Wiki
Support and community documentation for Ogre3D
Ogre Forums
ogre3d.org
Log in
Username:
Password:
CapsLock is on.
Remember me (for 1 year)
Log in
Home
Tutorials
Tutorials Home
Basic Tutorials
Intermediate Tutorials
Mad Marx Tutorials
In Depth Tutorials
Older Tutorials
External Tutorials
Cookbook
Cookbook Home
CodeBank
Snippets
Experiences
Ogre Articles
Libraries
Libraries Home
Alternative Languages
Assembling A Toolset
Development Tools
OGRE Libraries
List of Libraries
Tools
Tools Home
DCC Tools
DCC Tutorials
DCC Articles
DCC Resources
Assembling a production pipeline
Development
Development Home
Roadmap
Building Ogre
Installing the Ogre SDK
Setting Up An Application
Ogre Wiki Tutorial Framework
Frequently Asked Questions
Google Summer Of Code
Help Requested
Ogre Core Articles
Community
Community Home
Projects Using Ogre
Recommended Reading
Contractors
Wiki
Immediate Wiki Tasklist
Wiki Ideas
Wiki Guidelines
Article Writing Guidelines
Wiki Styles
Wiki Page Tracker
Ogre Wiki Help
Ogre Wiki Help Overview
Help - Basic Syntax
Help - Images
Help - Pages and Structures
Help - Wiki Plugins
Toolbox
Freetags
Categories
List Pages
Structures
Trackers
Statistics
Rankings
List Galleries
Ogre Lexicon
Comments
History: Talk:Quaternion and Rotation Primer
View page
Source of version: 1
(current)
---Just to make something clear I notice it said that the walking thing first examples work ok on a plane, but I had to strip out the y coordinate for even a plane. This was(I assume) because even though it might have been on the plane it was still above the plane to some extent. That confused me for a little while. Sterra !Rotations in three dimensions don't commute! As a simple example take your right hand, point rightwards with your thumb and upwards with your forefinger. Thumb and forefinger now forms an "L". This is the initial position. __Rotation A__: Rotate your hand 90 degrees around the axis from right to left. Applied to the initial position, your thumb still points rightwards, but your forefinger points away from you. In any representation this would be "A*L". __Rotation B__: Rotate your hand 90 degrees around the axis from top to buttom. Applied after you applied rotation A to the initial position, your forefinger points rightwards and your thumb points at the person that will soon understand that rotation order matters in three dimensions. In any representation this would be "B*A*L". Of course now we do the rotations the other way round. "B*L" results in the forefinger still pointing upwards and the thumb pointing at you. "A*B*L" results in the thumb pointing upwards and the forefinger pointing away from you. This is the symbolic gun used to shoot at any claim like: "Quaternions avoid the problem of rotation ordering." or "With quaternions we can apply multiple rotations simultaneously allowing them to transform the same coordinate space. Thus the order does not matter." as in the article. {DL()} ((User:Reimpell|reimpell)) 05:05, 13 Jun 2005 (CDT) {DL} Agreed. Your quotes were from a prerelease draft of the article, before I had all of my facts straight. I hope it is correct now. {DL()} ((User:Discipline|discipline)) 17:16, 16 Jun 2005 (PDT) {DL} --- Great Tutorial!! But when you say: Vector3 src = mNode->getOrientation() * Vector3::UNIT_X; // Orientation from initial direction I think to get the orientation we must to use Vector3::-UNIT_Z, if you use Vector3::UNIT_X the mesh is allways walk rigth sided!! i think that the mesh that you test it's not aligned to world when been exported, all my test have been done with ninja.mesh {DL()} - Liaven {DL} Perhaps it should be UNIT_Z which is the facing direction of the camera. However as it is, UNIT_X is the facing direction of the Robot.mesh. At the beginning of that section I have a note, "See (1)" in the code that references this just below it: ~pp~ (1) ...Multiplying it by UNIT_X, which is the objects initial facing position in this case, provides a vector describing its current facing direction.~/pp~ {DL()} - discipline {DL}
Search by Tags
Search Wiki by Freetags
Latest Changes
IDE Eclipse
FMOD SoundManager
HDRlib
Building Ogre V2 with CMake
Ogre 2.1 FAQ
Minimal Ogre Collision
Artifex Terra
OpenMB
Advanced Mogre Framework
MogreSocks
...more
Search
Find
Advanced
Search Help
Online Users
92 online users