You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用含x、y的方程生成类谷歌3D图,x和y应如何计算取值

3D绘图x、y取值设置方法

x、y的取值不需要额外计算,你可以根据目标函数的特征和你想要展示的效果主动定义采样规则,具体逻辑如下:

  • 确定取值区间
    首先匹配函数的有效定义域,同时覆盖你想要观察的特征区域即可:
    比如你示例中的sin(sqrt(x**2 + y**2))属于全实数域有效函数,要观察环形波纹特征的话,取x、y的区间都为[-10, 10]就可以满足展示需求;如果是带限制条件的函数比如sqrt(x**2 + y**2 - 4),就要把x、y的区间设置在满足x**2 + y**2 ≥4的范围,避免计算报错。
  • 设置采样密度
    取值区间确定后,在区间内均匀取采样点即可,采样点数量通常设置在50~200区间:
    采样点太少会导致生成的3D曲面锯齿感明显、特征展示不全,采样点太多会大幅增加计算和渲染负担,没有特殊需求的话x、y各取100个采样点完全够用。
  • 生成网格坐标
    单独的x、y采样结果是一维数组,需要转换为二维网格矩阵才能代入表达式计算z值,如果你用Python实现的话直接调用np.meshgrid(x采样数组, y采样数组)即可,输出的两个二维矩阵就是所有需要参与z值计算的x、y坐标对。

以下是对应你示例的Python实现参考代码:

import numpy as np
import matplotlib.pyplot as plt

# 定义x、y取值区间和采样点数量
x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
# 生成网格坐标
X, Y = np.meshgrid(x, y)
# 代入表达式计算z值
Z = np.sin(np.sqrt(X**2 + Y**2))

# 绘制3D图
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z)
plt.show()

内容的提问来源于stack exchange,提问作者Itzsten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:36:07