I am currently projecting a circle with the camera.Camera class and different viewing angles.
Specifications:
- Circle center -> [0 , 0, 1]
- Camera center -> [0, 0, 0] (looking up the z-axis)
I used the camera.Camera class and it all seems fine, but when I change the viewing angle of the y-axis to a higher degree than 60, the points suddenly form a cross. (https://i.stack.imgur.com/GBvDX.png)
In my opinion, this is a code problem (it should form an ellipse). Or is this some projective phenomenon?
Here is my code:
cam = Camera()
cam.set_K_elements(0, 0, 1, a=1)
R = np.identity(3)
cam.set_R(R)
cam.set_t(np.array([[0], [0], [0]]))
rad_y = 1,0472
cam.set_R_euler_angles((0, rad_y, 0))
circle = get_circle_points(1000, 1)
cam.plot_world_points(circle, plot_style="ro", solve_visibility=False)
I am new to projective geometry, and I don't know if this behavior is expected or my fault.
I really appreciate any help you can provide.