构建交互式3D球体
纯纯是为了装一下自己显卡的强大(bushi下面是代码哦:
# 如果未安装,先安装:!pip install plotly
import plotly.graph_objects as go
import numpy as np
# 创建球体数据
u = np.linspace(0, 2*np.pi, 50)
v = np.linspace(0, np.pi, 50)
x = np.outer(np.cos(u), np.sin(v))
y = np.outer(np.sin(u), np.sin(v))
z = np.outer(np.ones_like(u), np.cos(v))
# 使用 Plotly 绘制
fig = go.Figure(data=[
go.Surface(
x=x, y=y, z=z,
colorscale='Viridis',
opacity=0.8,
showscale=True
)
])
fig.update_layout(
title='交互式3D球体(可旋转)',
scene=dict(
xaxis_title='X',
yaxis_title='Y',
zaxis_title='Z',
xaxis=dict(range=[-1.5, 1.5]),
yaxis=dict(range=[-1.5, 1.5]),
zaxis=dict(range=[-1.5, 1.5]),
),
width=700,
height=600
)
fig.show() 鱼油你好!你的代码思路很棒,使用 Plotly 的 Surface 类型就能画出可旋转的3D球体。不过你留了几个空,需要补全:
[*]data 需要传入一个 Surface 对象,例如 go.Surface(x=x, y=y, z=z)
[*]range 设置为坐标轴范围,球体半径为1,所以设为 [-1, 1]
完整的代码如下,直接复制运行即可:
import plotly.graph_objects as go
import numpy as np
# 生成球体表面数据
u = np.linspace(0, 2*np.pi, 50)
v = np.linspace(0, np.pi, 50)
x = np.outer(np.cos(u), np.sin(v))
y = np.outer(np.sin(u), np.sin(v))
z = np.outer(np.ones_like(u), np.cos(v))
# 绘制球体
fig = go.Figure(data=go.Surface(x=x, y=y, z=z))
fig.update_layout(
title='交互式3D球体(可旋转)',
scene=dict(
xaxis_title='X',
yaxis_title='Y',
zaxis_title='Z',
xaxis=dict(range=[-1, 1]),
yaxis=dict(range=[-1, 1]),
zaxis=dict(range=[-1, 1]),
),
width=700,
height=600
)
fig.show()
运行后拖动鼠标就能旋转,滚轮缩放,配合你的显卡绝对丝滑~
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]