使用Plotly Python绘制3D填充三角形失败问题求助
解决Plotly Mesh3D无法显示填充三角形的问题
你的问题出在使用alphahull参数绘制单个三角形,该参数用于基于点云构建复杂的Alpha形状或凸包,并不适合直接绘制三个顶点构成的简单面。要正确显示填充三角形,需要显式指定面的顶点索引。
修正后的代码
import plotly.graph_objects as go import numpy as np x = np.array([50, 50, 50]) y = np.array([-10, 10,-10]) z = np.array([50, 50, 60]) # 定义单个三角形面:使用三个顶点的索引(从0开始计数) faces = [[0, 1, 2]] fig = go.Figure() fig.add_trace(go.Mesh3d( x=x, y=y, z=z, faces=faces, opacity=0.4, color='cyan' )) fig.show()
关键修改说明
- 移除
alphahull参数:该参数会干扰简单面的生成逻辑,对于已知顶点的单个三角形完全不需要。 - 添加
faces参数:通过[[0,1,2]]明确告诉Plotly,用索引为0、1、2的三个顶点构成填充面,这是Mesh3D绘制自定义面的标准方式。 - 保留原顶点坐标:你的三个点本身共面,符合三角形的几何要求,无需调整坐标。
运行修正后的代码即可得到预期的3D填充三角形。
内容的提问来源于stack exchange,提问作者Canis_Lupas
相关产品推荐
相关产品推荐

