The rotation done by repeat_primitive function is not working as it should be. And the rotated actor doesn't fit to the direction vector.
Way to reproduce
I tried to add three arrow actors returned by repeat_primitive pointing at the three main axes with colors (r, g, b -> x, y, z), and they all should've been perpendicular, but they weren't (the same issue happens for the frustum actor).
Code example
import numpy as np
from fury import window, actor
scene = window.Scene()
centers = np.zeros([3, 3])
dirs = np.identity(3)
colors = np.identity(3)
scales=np.array([1.1, 1.2, 1.3])
actor1 = actor.arrow(centers, dirs, colors=colors, scales=scales)
scene.add(actor1)
window.show(scene, size=(600, 600), reset_camera=False, title='Using repeat_source')
comparing repeat_primitive (large arrows) to repeat_source (small arrows) using the code below:
Description
The rotation done by repeat_primitive function is not working as it should be. And the rotated actor doesn't fit to the direction vector.
Way to reproduce
I tried to add three arrow actors returned by repeat_primitive pointing at the three main axes with colors (r, g, b -> x, y, z), and they all should've been perpendicular, but they weren't (the same issue happens for the frustum actor).
Code example
comparing repeat_primitive (large arrows) to repeat_source (small arrows) using the code below:
I think there is something wrong with the rotation matrix inside repeat_primitive function.
Operating system and versions