3

我是一名参与建造各种计算机控制机器的艺术家。我已经开始制作基于万向节的 XY 绘画机的原型,并且意识到所需的数学运算超出了我的能力范围。我是一个足够体面的程序员,但数学不强。3D 数学。

为了了解我需要做什么,查看装备可能会有所帮助:

早期原型:

http://roypardi.com/gimble/IMG_2803.JPG

http://roypardi.com/gimble/IMG_2805.JPG

http://roypardi.com/gimble/IMG_2806.JPG

http://roypardi.com/gimble/gimbleSmall.MOV (小视频)

http://roypardi.com/gimble/gimbleLarge.mov (更大的视频)

两个内圈代表 X/Y 轴,由步进电机控制。我希望能够同时使用光栅图像和矢量数据(gcode)。所以我需要能够在纸上/从我的数据中找到二维空间中的一个点,并让万向节弄清楚它需要处于什么方向才能到达那里(即每个电机步进多少)。

我一直在寻找 2D > 3D 投影、欧拉角等,但我已经超出了我的深度。任何指针、正确方向的推动或代码片段都将受到欢迎。我可以理解大多数编程语言。

4

3 回答 3

1

您制作的机器非常好,我希望这对您有用,我相信它是正确的。

我看到它的方式是获得一个角度很简单,但另一个角度稍微难以想象,因为我们已经倾斜了它转动的轴。

我将避免使用 tan,因为在编程时可能会导致除以 0,这可能会令人沮丧。Z 也将是原点在纸上方的高度。

YAxis = arcsin( X / sqrt(X² + Z²))

XAxis = arcsin( Y / sqrt(Y² + X² + Z²))

或者我们可以使用

XAxis = arcsin(Y / sqrt(Y² + Z²))

YAxis = arcsin( X / sqrt(X² + Y² + Z²))

另外,如果可行的话,我非常想看这个绘图的视频。

编辑: 在考虑之后,我相信只有一种解决方案会起作用,这取决于哪个轴受另一个影响。Y轴在中间还是X轴?

于 2009-05-10T17:00:11.670 回答
0

我认为这是一个简单的问题http://en.wikipedia.org/wiki/Trigonometry

假设从环的中心到纸上最近的点(我将其称为“原点”的“O”点)的距离是距离 X。

取 O 正北的另一点 P,其与 O 的距离为 Y。

要绘制这一点,您需要角度 alpha 使得 tan(alpha)=Y/X,即您可以使用公式“arctan(Y/X)”计算 alpha [arctan 有时也称为 atan]。Arctan 是一个三角函数,我认为您可能会在通用数学库的 API 中找到它的定义。

以上是最简单的情况。

我能想到的唯一另一种情况是点 P 不是正北时。假设它的距离不是正北,而是 Y1 到北,Y2 到东。解决方案是两个角度(两个环各一个角度),其中一个是“arctan(Y1/X)”,另一个是“arctan(Y2/X)”。

于 2009-05-10T15:24:03.680 回答
0

也许我误解了,但我不相信云台会做你想做的事。云台可以指向任何 3D 方向,但不能移动到 3D 空间中的任意点。如果纸的平面与云台上的笔扫过的体积相交,笔可能会画一个圆圈,但仅此而已。甚至画一个圆圈也不确定,因为在这种情况下,纸也会与万向环扫过的体积相交;试图调整笔的方向会使一个环撞到纸上。

我认为您想要的是绘图仪,而不是云台。

于 2009-05-10T18:03:37.847 回答