-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What coordinate system does Open3D use? #6508
Comments
Using code adapted from Draw Line Set, it looks like the coordinate system is RH y UP, which matches OpenGL, etc. def generate_axes(scale: float) -> List[o3d.geometry.LineSet]:
points = [
[0, 0, 0],
[scale, 0, 0],
[0, scale, 0],
[0, 0, scale],
]
lines = [
[0, 1],
[0, 2],
[0, 3]
]
colors = [
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]
]
line_set = o3d.geometry.LineSet(
points=o3d.utility.Vector3dVector(points),
lines=o3d.utility.Vector2iVector(lines),
)
line_set.colors = o3d.utility.Vector3dVector(colors)
return [line_set, ] The part that confuses me, maybe, is the
So this o3d.visualization.draw_geometries(
to_view,
zoom=0.3412,
front=[0, 0, 1],
lookat=[0, 0, 0],
up=[0, 1, 0],
point_show_normal=True
) Camera position (slightly adjusted for visibility) when |
I'm also confused because the normals in this "F" synthetic point cloud are all
EDIT scratch this comment. I was flipping the normals myself. |
Okay, I think this is right, and maybe helpful to someone else:
Here's an annotated version of the arguments.
|
@cod3monk3y thank you very much! This is the first consistent explanation of hoe the open3d coordinate system works that I have found. |
Checklist
master
branch).My Question
I can't find any reference to the coordinate system used in Open3D.
For instance, OpenGL uses RH y-up (z backward), Blender uses RH z-up, DirectX uses LH y UP, and Unreal uses RH with x to the right and y up).
This is pretty fundamental, so I probably just missed it in the docs. If it's not in the docs, this would be really helpful to add up front in the docs.
I'm passing my data (point cloud, meshes) through several applications with potentially different coordinate systems, and want to make sure I have all my transformations correct. I'm quite familiar with this domain, so I only a reference to which coordinate system is in use. Thanks!
The text was updated successfully, but these errors were encountered: