mathematica,我有三个list,里面分别装的xyz三个坐标轴的信息,怎么在空间直角坐标系绘制出螺旋线来.listx,listy,listz,x与y画出来的是圆,沿着z轴拉出来应该是螺旋,可是找不到直接3D画list的命令,也不
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 11:55:27
![mathematica,我有三个list,里面分别装的xyz三个坐标轴的信息,怎么在空间直角坐标系绘制出螺旋线来.listx,listy,listz,x与y画出来的是圆,沿着z轴拉出来应该是螺旋,可是找不到直接3D画list的命令,也不](/uploads/image/z/11152327-31-7.jpg?t=mathematica%2C%E6%88%91%E6%9C%89%E4%B8%89%E4%B8%AAlist%2C%E9%87%8C%E9%9D%A2%E5%88%86%E5%88%AB%E8%A3%85%E7%9A%84xyz%E4%B8%89%E4%B8%AA%E5%9D%90%E6%A0%87%E8%BD%B4%E7%9A%84%E4%BF%A1%E6%81%AF%2C%E6%80%8E%E4%B9%88%E5%9C%A8%E7%A9%BA%E9%97%B4%E7%9B%B4%E8%A7%92%E5%9D%90%E6%A0%87%E7%B3%BB%E7%BB%98%E5%88%B6%E5%87%BA%E8%9E%BA%E6%97%8B%E7%BA%BF%E6%9D%A5.listx%2Clisty%2Clistz%2Cx%E4%B8%8Ey%E7%94%BB%E5%87%BA%E6%9D%A5%E7%9A%84%E6%98%AF%E5%9C%86%2C%E6%B2%BF%E7%9D%80z%E8%BD%B4%E6%8B%89%E5%87%BA%E6%9D%A5%E5%BA%94%E8%AF%A5%E6%98%AF%E8%9E%BA%E6%97%8B%2C%E5%8F%AF%E6%98%AF%E6%89%BE%E4%B8%8D%E5%88%B0%E7%9B%B4%E6%8E%A53D%E7%94%BBlist%E7%9A%84%E5%91%BD%E4%BB%A4%2C%E4%B9%9F%E4%B8%8D)
mathematica,我有三个list,里面分别装的xyz三个坐标轴的信息,怎么在空间直角坐标系绘制出螺旋线来.listx,listy,listz,x与y画出来的是圆,沿着z轴拉出来应该是螺旋,可是找不到直接3D画list的命令,也不
mathematica,我有三个list,里面分别装的xyz三个坐标轴的信息,怎么在空间直角坐标系绘制出螺旋线来.
listx,listy,listz,x与y画出来的是圆,沿着z轴拉出来应该是螺旋,可是找不到直接3D画list的命令,也不会把三条轴的起点都放到原点.
mathematica,我有三个list,里面分别装的xyz三个坐标轴的信息,怎么在空间直角坐标系绘制出螺旋线来.listx,listy,listz,x与y画出来的是圆,沿着z轴拉出来应该是螺旋,可是找不到直接3D画list的命令,也不
你没有给出具体的 listx,listy,listz 数据,所以我就自己构造一个简单地例子来说明一下,
首先构造的三列数据如下:
listx = Table[2*Cos[t], {t, 0, 20, 1/4}];
listy = Table[2*Sin[t], {t, 0, 20, 1/4}];
listz = Table[t/5, {t, 0, 20, 1/4}];
这三列数据满足你说的要求,现在把三列数据转换成坐标的形式,即把对应的分量组合在一起,
Transpose[{listx, listy, listz}]
这样就可以使用函数 ListPointPlot3D 来画出离散的点了,如下
ListPointPlot3D[Transpose[{listx, listy, listz}]]
当然,如果你想把这些点连接起来,就在最后加上/.Point -> Line
ListPointPlot3D[Transpose[{listx, listy, listz}]] /. Point -> Line
选项 Boxed -> False 可以去掉外面的框架,选项 AxesOrigin -> {0,0,0} 作用就是把坐标轴的交点放在原点,这里我构造的数据的 listx,listy有正有负,所以你说的三条轴的起点都放到原点的话,图形就显示不完整了,而下面的这句选项
PlotRange -> {{Min@listx, Max@listx}, {Min[listy],
Max[listy]}, {Min[listz], Max[listz]}}
是用来限定绘制的坐标轴范围,如果你的数据都是正值,那么就可以把三条轴的起点都放到原点.
ListPointPlot3D[Transpose[{listx, listy, listz}], Boxed -> False,
AxesOrigin -> {0, 0, 0},
PlotRange -> {{Min@listx, Max@listx}, {Min[listy],
Max[listy]}, {Min[listz], Max[listz]}}] /. Point -> Line
大体过程就是这样子了,更多的图形选项及细节,可以查看帮助.