[转]三维曲线投影到坐标轴
觉得有用的话,欢迎一起讨论相互学习~
————————————————
版权声明:本文为CSDN博主「Mr-Cat伍可猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Mr_Cat123/article/details/108525323
由于三维曲面投影到坐标轴已经有了答案,在一开始我给的链接或者官网都有(链接在另一博文开头),如下:
(代码可以点开始给的链接进入查看)
但是三维 曲 线 曲线 曲线的投影还没有给,所以这里通过查找一番之后总结如下(参考python,matlab)
以下我使用的是python
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.gca(projection='3d')
#输入经纬度和海拔值(也就是x,y,z)
ax.plot(lat_new, lon_new, temp_list[layer], linewidth=10, color='r')
plt.show()
现在要将这个图投影到x-z坐标面上
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(lat_new, lon_new, temp_list[layer], linewidth=10, color='r')
null = [30]*len(lat_new) #在y=30处的面
ax.plot(null, lon_new, temp_list[layer])
# ax.plot(lat_new,null, temp_list[layer])
# ax.plot(lat_new, lon_new, null)
plt.show()
同时在三个面上投影
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(lat_new, lon_new, temp_list[layer], linewidth=10, color='r')
#至于要在多大的值上投影,可以自己测试找到最合适的
x_z = [min(lat_new)-0.5]*len(lat_new)
y_z = [max(lon_new)+0.5]*len(lon_new)
x_y = [min(temp_list[layer])-0.5]*len(temp_list[layer])
ax.plot(x_z, lon_new, temp_list[layer])
ax.plot(lat_new, y_z, temp_list[layer])
ax.plot(lat_new, lon_new, x_y)
plt.show()