### Quaternion – View Parameters

This tab lets you change all parameters of the observer, i.e. you can change the position, the orientation, etc.

Let me first describe the principle for specifying the observer position: This position cannot be changed directly. Perhaps you expected to simply specifying a 3D-point which is the position of the observer? Well, then I must disappoint you. But believe me, you won’t miss it…

Instead, when you see a quaternion, you can “rotate” around that object. This is much better and much more intuitive:

Most of the time you don’t want to specify some abstract 3D point which should be the observer position, no, most of the time you simply want to rotate the object by , say, 30 degree horizontally, because this seems to be an interesting area worth looking at.

And you can do that…

• Horizontal Observer Angle: ChaosPro won’t bother you with the current horizontal observer angle. Indeed, who cares? You see the object, and you want to rotate it, so simply do it regardless the current horizontal angle or any other parameter.

By dragging the slider you rotate the object horizontally. ChaosPro always internally maintains all other parameters in order to give you the possibility to rotate horizontally relative to your current observer position.

Just imagine you are at some location, looking at any point, you have rotated yourself: Now horizontally does not mean “rotate in the x-y-axis”. No! Horizontally for YOU means, rotate horizontally relative to my current position, my current orientation regardless the coordinate system!

Perhaps this seems to be clear? Well, mathematically this is quite difficult, especially if interpolation of the observer position should be implemented, too (or don’t you want to create animations flying around a quaternion?). This slider can be dragged from -90 degree to +90 degree. After you are finished changing the horizontal rotation angle it will switch back to 0, thus allowing you to rotate by another 90 degree.

• Vertical Observer Angle: Again, ChaosPro won’t bother you with the current vertical observer angle. This parameter lets you simply rotate vertically to your current observer position.
• Distance: This parameter specifies the distance from the view point: It lets you change how far you are away from the view point. The parameter is expressed in % of your current distance. ChaosPro won’t bother you with the current distance in any unit as this information is just a meaningless number. Instead. By dragging the slider you can reduce the distance to the view point or you can increase the distance. After having adjusted the distance the slider will snap to the middle position and again show “100%”. You can then adjust the distance again.
• Rotation: This parameter lets “rotate” the observers head: The position gets not changed. Instead, the observer rotates himself around the view axis.

Example? Ok, you must rotate your head by 90 degree in view axis in order to correctly recognize the following:

• View point:The position of the observer can be specified, his orientation, but where does the observer look at? I did not want to implement a fixed view point (0,0,0), so here you can specify the exact point at which the observer will look. Most of the time you won’t change it, because “normal” quaternions seem to be around the null point…
• Plane distance: This parameter specifies the distance between the projection plane and the viewpoint: In order to display a 2D image of a 3D object a normal projection is implemented: Each observer ray gets examined and projected onto an imaginary plane, which lies beyond the view point. Additionally this indirectly specifies the maximum length of the ray: Parts of a quaternion which ly beyond the projection plane are clipped. Adjust this parameter so all parts of the quaternion get drawn, the smaller the value, the faster the calculation.

Sometimes it is desirable to know the current observer position and his orientation (i.e. where is “up”?).

So the internally maintained observer position and the vector specifying “up” are displayed (read only).

The “top” (or “up”) vector is automatically normalized, i.e. it always forms a rectangular angle between the view axis and it has length 1.