Files
2023-02-06 15:53:34 +00:00

68 lines
2.3 KiB
Python

import plotly.graph_objects as go
from plotly.subplots import make_subplots
def plot_mesh(verts, faces):
fig = go.Figure()
fig.add_trace(go.Mesh3d(
x=verts[:,0],
y=verts[:,2],
z=verts[:,1],
i = faces[:,0],
j = faces[:,1],
k = faces[:,2],
text="",
),)
fig.update_layout(scene_aspectmode='manual', scene_aspectratio=dict(x=1, y=1, z=1))
# helper = dict(xaxis = dict(range=[-1,1], showbackground=False, showticklabels=False, showaxeslabels=False, showspikes=False, visible=False),
# yaxis = dict(range=[-1,1], showbackground=False, showticklabels=False, showaxeslabels=False, showspikes=False, visible=False),
# zaxis = dict(range=[-1,1], showbackground=False, showticklabels=False, showaxeslabels=False, showspikes=False, visible=False),)
helper = dict(xaxis = dict(range=[-1,1], ),
yaxis = dict(range=[-1,1], ),
zaxis = dict(range=[-1,1], ) )
fig.update_layout(scene = helper)
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0, pad=0))
return fig
def plot_mesh_2(verts_1, verts_2, faces):
# fig = make_subplots(rows=1, cols=2, start_cell="top-left", specs = [ [{ 'type': 'scene' } for _ in range(2)] ])
fig = go.Figure()
fig.add_trace(go.Mesh3d(
x=verts_1[:,0],
y=verts_1[:,2],
z=verts_1[:,1],
i = faces[:,0],
j = faces[:,1],
k = faces[:,2],
text="",
),)
fig.add_trace(go.Mesh3d(
x=verts_2[:,0],
y=verts_2[:,2],
z=verts_2[:,1],
i = faces[:,0],
j = faces[:,1],
k = faces[:,2],
text="",
),)
fig.update_layout(scene_aspectmode='manual', scene_aspectratio=dict(x=1, y=1, z=1),
# scene2_aspectmode='manual', scene2_aspectratio=dict(x=1, y=1, z=1)
)
helper = dict(xaxis = dict(range=[-1,1], ),
yaxis = dict(range=[-1,1], ),
zaxis = dict(range=[-1,1], ) )
fig.update_layout(scene = helper,
# scene2 = helper
)
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0, pad=0))
return fig