我希望能够在3D空间中任意两点之间绘制曲线。这条曲线必须是"垂直的"。也就是说,曲线上的x和y坐标必须在同一条直线上,但z值必须像你向地面发射抛物体,它在空中飞行并再次撞击地面一样变化。它不需要物理上的正确性,一个弧也可以。
以下是起始代码:
import numpy as np
p1=np.array([1,1,1]) #x,y,z coordinates of the first point
p2=np.array([3,3,3]) #x,y,z coordinates of the second point
xi=np.linspace(p1[0],p2[0],100) #determine 100 x coordinates between two points
yi=np.linspace(p1[1],p2[1],100) #determine 100 y coordinates between two points
zi= ?? #determine 100 z coordinates between two points.
我怎样能够确定这些100个z坐标(zi
)呢?
确定了zi
之后,就很容易使用mayavi或mplot3d在连续的点之间绘制线条,从而给出曲线的视觉效果。