Kj。 2023-09-08 23:21 采纳率: 0%
浏览 3

如何用python画出同时满足这两个方程式的3维空间图啊

如何用python画出同时满足这两个方程式的3维空间图啊

img


已知D,alpha,theta,xp,yp

x=np.sqrt(((np.tan(np.radians(1.5))*y-120)**2)/((1/np.tan(np.radians(60)))**2))-y**2
z=-120+np.tan(np.radians(1.5))*y

这样写有什么问题吗

def tuoyuan(y):
    z=-120+np.tan(np.radians(1.5))*y
    x=np.sqrt(((np.tan(np.radians(1.5))*y-120)**2)/((1/np.tan(np.radians(60)))**2))-y**2
    return x,y,z
x3=tuoyuan(y)[0]
z3=tuoyuan(y)[2]
y3=tuoyuan(y)[1]
X3, Y3 = np.meshgrid(x3, y3)
ax.plot_surface(X3, Y3, z3)
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-09 12:11
    关注

    【以下回答由 GPT 生成】

    这段代码可能会有以下问题:

    1. 每次调用tuoyuan(y)都会计算三次,而实际上只需要计算一次就可以了。可以将tuoyuan(y)的结果保存到变量中,然后多次使用。
    2. 创建X3Y3的网格时,x3y3都是一维数组,而np.meshgrid函数要求输入的数组都应该是二维数组。可以使用np.meshgrid函数前将x3y3都转换为二维数组。
    3. 绘图时缺少坐标轴的标签和标题,使得图像不易理解。可以添加适当的标签和标题来提高可读性。
    4. 图像显示时可能没有正确的比例和视角,导致图像变形或者无法观察到数据特征。可以设置合适的坐标轴范围和视角来解决这个问题。

    以下是改进后的代码:

    import numpy as np
    import matplotlib.pyplot as plt
    
    def tuoyuan(y):
        z = -120 + np.tan(np.radians(1.5)) * y
        x = np.sqrt(((np.tan(np.radians(1.5)) * y - 120)**2) / ((1/np.tan(np.radians(60)))**2)) - y**2
        return x, y, z
    
    y = np.linspace(-200, 200, 500)
    x, y, z = tuoyuan(y)
    
    X, Y = np.meshgrid(x, y) # 将x和y转换为二维数组
    
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.plot_surface(X, Y, z)
    
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    ax.set_title('3D Plot')
    
    ax.set_xlim(-500, 500) # 设置X轴范围
    ax.set_ylim(-200, 200) # 设置Y轴范围
    ax.set_zlim(-300, 300) # 设置Z轴范围
    
    ax.view_init(elev=20, azim=-45) # 设置视角
    
    plt.show()
    

    使用以上改进后的代码,可以得到满足两个方程式的3维空间图,并且具有更好的可读性和可视化效果。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 修改了问题 9月9日
  • 创建了问题 9月8日

悬赏问题

  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件