0

我在 Matlab 中制作动画:我有 15 个点在 3D 空间中移动。它们的 XYZ 坐标和运动取自运动捕捉数据。我需要从运动“前面”的观察者的角度展示这些点是如何移动的。我现在正在尝试的是创建一个 2D 平面并将其移向点,以便它们最终“投影”到它上面。但是,它不是标准的 XY 或 YZ 平面,所以我很难弄清楚如何进行这项工作。

我怎样才能让这架飞机做我想做的事——或者我应该尝试另一种方式吗?

4

1 回答 1

2

您的目标基本上是实现一个理想的针孔相机,其中针孔成为空间中的一个点。您的每个 3D 点加上“针孔”定义了 3D 空间中的一条线,该线在某个点与您的投影平面相交。它看起来有点像这样:针孔相机

x_1 和 y_1 应该有相同的长度,即 1,因此 3D 空间中的“x”定义为 x = o_1 + a * x_1 + b * y_1。在您的 2D 投影中,a 和 b 成为您的绘图坐标。

于 2012-12-03T08:09:35.067 回答