1

这个问题可能违反了不应提出冗长问题的规则。但是我的回答如下:有人能指出我可以问这个问题的地方吗……(或正确地提出问题)?

首先,为了说明这一点,我是一名机械工程教授,专攻动力学。所以我知道万向节锁定的问题,我了解四分位数、欧拉角,以及必要时的泰特布赖恩角。

我开发了一种新的 3D 动力学方法。这种方法,基于李代数、移动框架和一种新的符号;它使 3D 动力学变得容易。它具有解决奇​​点的潜力,但没有四分位数的复杂性。

我希望证明这种方法可以解决计算机图形中的此类问题。

现在我已经在 OpenGL、SGI Inventor 和 webGL 中进行了编码。我用过 proEngineer 和 Blender。因此,如果您希望以这种方式解释,我将能够关注与这些相关的讨论。

现在问题来了……

webGL中的云台锁是如何解决的?即便如此:“解决”是什么意思?因为这一切我都不清楚。

是的,我可以避免某些将内部框架带向奇点的运动。那将解决它。或者当我接近奇点时,我可以切换到四分位数。或者我可以添加另一个运动度数。这些都是解决方案的不同“分类”:一些在用户级别,一些在编码器级别。

所以,假设我有一个方法(不是 C++ 意义上的词——但是,谁知道呢,对)……一个允许用户以更简单的方式实现 3D 旋转的方法。

是否归结为我要求 webGL 的开发人员实现一种新方法?webGL_quarternion webGL_euler_angle webGL_new_method_in_moving frame

新方法会在旧方法上编码吗?例如,四元数调用是否反过来调用欧拉角方法?

我只是想找到一种方法来证明这种新方法对计算机图形程序员或用户(例如:Blender 用户)更有用。

4

1 回答 1

0

WebGL 不使用任何特定方法来管理旋转;如果在您看来确实如此,那么您一定是在使用一些高级库来为您做这件事,这隐藏了 WebGL 的基础。WebGL 提供屏幕空间绘图和快速 4×4 矩阵运算,以在编写的着色器中构建您的转换,这些转换可以从欧拉角、四元数、纯旋转矩阵或您想发明的任何其他矩阵推导出来。

如果你有更好的数学来管理旋转,那么我鼓励你继续编写顶点着色器来计算它;不需要对 WebGL 的扩展。

于 2013-03-08T16:31:40.373 回答