News:

 

Topic: Rotation Input X in object orientation  (Read 9690 times)

0 Members and 1 Guest are viewing this topic.

  • Posts: 496
  • Triangle
September 19, 2012, 01:35:50 am
The absolute rotation input of the x-axis rotates around the world x axis in object mode! It should defintately rotate around the local axis as do the y and z axes. The click&drag of the x-axis works fine though.

  • No avatar
  • Posts: 3706
  • Developer
  • Administrator
  • Polygon
September 19, 2012, 02:28:31 am
Can you show the problem in a pic?

  • Posts: 496
  • Triangle
September 19, 2012, 03:10:14 am
I tried. :) It's only the absolute numeric input of X rotation in object orientation mode:

  • No avatar
  • Posts: 3706
  • Developer
  • Administrator
  • Polygon
September 19, 2012, 03:57:21 am
That's not a problem. If you want to rotate around any of the manipulator's axis, you should key in the offset field. It 'mimics the manual rotation of the specific axis'. So do the label drag action.

I will explain more about the absolute input here. If you key in (45, -45, 0), the programe will generate a space, starting from world space, rotate x 45, rotate y 45, rotate z 0. Then the programe will align the current manipulator to the generated space together with the selection to complete the transformation.

I don't know how other apps handle this. But the behaviour I use sounds logical to me. Rotation transformation is very hard to understand for many people.

  • Posts: 496
  • Triangle
September 19, 2012, 04:39:16 am
Still, it feels weird. Programmer logic doesn't conform artists logic. From a user standpoint you get this: every absolute input field aligns to object axis, but X. X absolute input is the only one that aligns to world axis. That may be reasonable for a programmer, because X gets handled first, but for the average user it's just odd.

  • No avatar
  • Posts: 3706
  • Developer
  • Administrator
  • Polygon
September 19, 2012, 05:45:53 am
I can't tell what is your logic in your mind. If the rotation absolute input contents is (45, 45, 45), what does that mean to you?

  • No avatar
  • Posts: 2101
  • Polygon
September 19, 2012, 07:47:08 pm
Not quite sure about this rotation.

If there is a binding from the Absolute numerical input to world axis orientation, then why when entering Absolute numerical input can the results change due to changing the manipulators orientation?
« Last Edit: September 19, 2012, 08:17:00 pm by steve »

  • No avatar
  • Posts: 3706
  • Developer
  • Administrator
  • Polygon
September 19, 2012, 09:47:14 pm
In the code, space is described as a matrix

    m11 m12 m13 0
    m21 m22 m33 0
    m31 m32 m32 0
    m41 m42 m43 1

where
 
   x axis = (m11, m12, m13)
   y axis = (m21, m22, m23)
   z axis = (m31, m32, m33)

   while pos = (m41, m42, m43)

If I present the matrix with these data, I need 6 fields for the orientation. Luckly, there is another way to described its orientation by three angles.
Every matrix can be achieved by rotating its x/y/z axis when it's originaly aligned to world matrix. First we rotate x by xa angle, then ya then za.
The funny thing is that a matrix can be achieved by different angle sets. For example (90, 90, 90) and (0, 90, -180) have the same result. That's gimbal lock.

In the code, the program does not use angles. When you make a selection, the manipulator appears. The manipulator is the visual representation of a matrix. The program will compute the xa/ya/za angles the put them into the rotation absolute fields. Of course the xa/ya/za is chosen from one of the possible angle sets.
When you change the input value in the absolute fields, the programe will create a new matrix from the values in the absolute input fields then align the manipulator to the new matrix together with the selection.
Suppose you have a selection whose orientation is aligned to world space. If you want to rotate the selection around world x axis, just change the absolute x value. If you want to rotate the selection around y/z axis, NO WAY!!!. Unless you switch the manipulator to world space.

So for rotation, the absolute fields aren't that usefull.
But for moving, both the absolute and offset fields are usefull. You can use the absolute fields to adjust object's world position. You can use the offset fields to move object along its local axis by a certain amount.

  • No avatar
  • Posts: 2101
  • Polygon
September 19, 2012, 10:10:12 pm
Hi IStonia,

Many thanks for the explanation, it does make it clearer as to what I am seeing.

Regards,

-Steve