我正在使用Matlab制作动画:我在3D空间中有15个点移动。他们的XYZ坐标和运动取自运动捕捉数据。我需要展示点是如何从运动“前方”的观察者的角度移动的。我现在正在尝试的是创建一个2D平面并将其移向点,以便它们最终“投射”到它上面。但是,它不是标准的X-Y或Y-Z平面,所以我无法弄清楚如何使这项工作。
我怎样才能让这架飞机做我想做的事 - 或者我还有其他方法可以尝试吗?
答案 0 :(得分:2)
你的目标是基本上实现一个理想的针孔相机,其中针孔成为空间中的一个点。每个3D点加上“针孔”在3D空间中定义一条线,该线在某个点与投影平面相交。看起来有点像这样:
x_1和y_1应具有相同的长度,即1,因此3D空间中的“x”定义为x = o_1 + a * x_1 + b * y_1。在2D投影中,a和b成为绘图的坐标。