how to get data position and pint out?
-
On 27/03/2015 at 00:14, xxxxxxxx wrote:
i have tried use MatrixToHPB but it doesnt work. and then i tried VectorToHPB and it works. but the third coloumn always "0". How come? this is my code
import c4d
#Welcome to the world of Pythondef main() :
pass #put in your code here
a = op.GetObject().GetMg().off
b = c4d.utils.MatrixToHPB(a)
print a
and how to convert values to deg? -
On 27/03/2015 at 00:22, xxxxxxxx wrote:
def main() :
pass #put in your code here
a = op.GetObject().GetMg().off
b = c4d.utils.VectorToHPB(a)
print b -
On 27/03/2015 at 00:28, xxxxxxxx wrote:
Vector(3.144, 0.239, 0)
Vector(3.144, 0.256, 0)
Vector(3.144, 0.273, 0)
Vector(3.145, 0.29, 0)
Vector(3.145, 0.306, 0)
Vector(3.145, 0.322, 0)
Vector(3.145, 0.336, 0)
Vector(3.146, 0.35, 0)
Vector(3.146, 0.361, 0)
Vector(3.147, 0.371, 0)
Vector(3.147, 0.379, 0)
Vector(3.147, 0.385, 0)
Vector(3.148, 0.39, 0)
Vector(3.148, 0.394, 0)
Vector(3.148, 0.396, 0)
Vector(3.148, 0.397, 0)
Vector(3.148, 0.397, 0)
Vector(3.148, 0.395, 0)
Vector(3.148, 0.393, 0)
Vector(3.148, 0.389, 0)
Vector(3.148, 0.385, 0) -
On 27/03/2015 at 01:52, xxxxxxxx wrote:
Hello,
as the name suggests MatrixToHPB() must be used with a Matrix, not with the translation vector as in your code. And as said before, turning the position into a rotation using VectorToHPB() does not seem to make sense. As you can read in the documentation, VectorToHPB() will always return a rotation with bank set to zero.
best wishes,
Sebastian -
On 27/03/2015 at 02:00, xxxxxxxx wrote:
Hello,
the first case:
you´ll need to feed the matrix not the offset vector from this matrixa = op.GetObject().GetMg()
b = c4d.utils.MatrixToHPB(a)the second case:
euler angle always gives you a zero banking back it calculates the direction with a fixed rotation around this directiona = op.GetObject().GetMg().off
b = c4d.utils.VectorToHPB(a)for a complex track you might think about flipping conditions or quaternions.
rad to degree:
c4d.utils.Deg
( r )
or
rad = HPB * math.pi / 180Hope this helps?
Best wishes
Martin -
On 02/04/2015 at 07:17, xxxxxxxx wrote:
Hello Yefta
was your question answered?
best wishes,
Sebastian -
On 05/04/2015 at 23:02, xxxxxxxx wrote:
hello Martin.
yes, it helps. but i still cant transform to degree. it shows "a float is required".
can u help me out?
-
On 05/04/2015 at 23:14, xxxxxxxx wrote:
hello s_bach
i'm sorry, been off for a while. yes it's answered, but not all.
if i type c4d.utils.Deg(b)
it shows in console "TypeError : a float is required" -
On 06/04/2015 at 04:21, xxxxxxxx wrote:
Hello Yefta,
sorry my answer was a little sloppy.
This should answer your question ...rad = c4d.Vector(0,1,1) deg = c4d.Vector(c4d.utils.Deg(rad.x),c4d.utils.Deg(rad.y),c4d.utils.Deg(rad.z)) print deg deg2 = 180/math.pi*rad print deg2
Best wishes
Martin -
On 16/04/2015 at 00:35, xxxxxxxx wrote:
thanks martin.