I have a series of planes represented with their equation (tuples of [A, B, C, D] from Ax+By+Cz+D=0). These planes intersect in a delimited section of space (a unit cell with periodic boundary conditions). I also have a point cloud within this unit cell. I have my own algorithm to associate the 3D points from the point cloud to each plane (they aren't necessarily always associated to the closest). I would like to use Open3D to construct an interactive window. This window to me is obtained from the following below lines of code that I already successfully used to create convenient visualizations in the past.
import open3d as o3d
import open3d.visualization.gui as gui
app = gui.Application.instance
app.initialize()
vis = o3d.visualization.O3DVisualizer("Open3D - 3D Text", 1024, 768)
vis.show_settings = True
However, in the Open3D documentation, I can't find any way to display a plane from its equation. Here are the things I would like to ideally accomplish:
- Display a series of planes
- Each plane has a center position in addition (stored elsewhere than the [A, B, C, D] tuple) ; I would like the planes to stop displaying at the intersections with other planes closest to that center position (in other words, each plane will appear like a polygon generated by the intersection with all other planes around)
- I would like the planes to be semi-transparent
- I would like to be able to highlight a specific plane and the point-cloud associated to this plane while clicking on it
Has anyone an idea on how to do this? Is this possible with Open3D or should I use another library for this?