Hi all,
I have to say that I’m new to panda3D. I have an object that I need to rotate and I have a rotation matrix, is there a way to use it to rotate the object instead of using yaw, roll and pitch with the setHpr function? I already managed to rotate some sets of points simply using algebra, I just wanted to know if I could do the same with objects.
Thanks!
Hello, I am glad to see you here. Here is an example of matrix rotation in Panda3D using a high-level method.
from panda3d.core import LMatrix4f, Vec3
from direct.showbase.ShowBase import ShowBase
class TestMat(ShowBase):
def __init__(self):
ShowBase.__init__(self)
panda = base.loader.load_model("panda")
panda.reparent_to(render)
# Getting the current object matrix.
#curr_mat = panda.get_mat()
# Creating a new matrix.
my_mat = LMatrix4f(1,0,0,0,
0,1,0,0,
0,0,1,0,
0,0,0,1)
# Rotation of the matrix by 90 degrees on the Z axis.
result = my_mat.rotate_mat(90.0, Vec3(0, 0, 1))
panda.set_mat(result)
demo = TestMat()
demo.run()
1 Like
Hi, thanks for the reply! How would it work if I want to apply a specific rotation matrix and not like in the example you provided to simply rotate by 90 degrees on an axis?
Edit: I managed to do it, thanks!
1 Like