gpt4 book ai didi

vector - 使用两个自旋向量中的点对球体上的 x、y、z 坐标进行插值?

转载 作者:行者123 更新时间:2023-12-02 17:20:46 25 4
gpt4 key购买 nike

我想实时绘制位于单位球体 (r = 1) 表面上的 3D 点。

这里有两个自旋向量在起作用。一个向量绕 Y 轴旋转,它的 X 和 Z 值是使用完全位于 X/Z​​ 平面上且所有 Y 值都等于 0 的圆的 cos() 和 sin() 计算的。另一个向量绕X 轴,它是使用完全位于 Z/Y 平面上且所有 X 值都等于 0 的圆的 cos() 和 sin() 计算的 Z 和 Y 值。两个向量的角动量通常不是相同的。然而,矢量的端点位于半径等于 1 的公共(public)球体的表面上。因此它们的大小相等,并且都源自同一个 0, 0, 0 点。

假设第一个向量有一个角动量项,称为 angXZ,第二个向量有一个角动量项 angZY。这意味着我可以随时使用 angXY 和 angZY 计算两个点,每个点对应一个自旋向量。有了这两个 3D 点,计算第三个点的公式是什么,该点也位于单位球体的表面上,并且是根据 angXZ 和 angZY 计算的两个点之间的正确插值?

我可以在脑海中看到,给定位于单位球体表面上的任意两个 3D 点,它们都位于其圆周上的唯一一个圆(平面)。我还可以凭直觉知道,计算插值点的坐标可以归结为将两个计算点投影到它们共享圆周的圆上时所形成的角度平分。但我就是无法专注于翻译和数学。

是否有一个简单的公式,可以使用位于单位球体表面上的两个 3D 点来计算也位于该表面上的第三个点,并且是前两个点之间的正确插值?

如果重要的话,我正在使用 Delphi Pro 6。

后续:从直觉上看,我应该能够获取根据自旋向量对计算出的两个点的线性中点,并将该点投影回单位球体上。例如,下面链接中的公式给出了计算任意两个 3D 点之间的中点的方程。我是否应该能够采用该 3D 点并使用某些公式,以将其投影回单位球体表面的方式调整它的 XYZ 坐标?

Finding coordinates of a point between two points?

最佳答案

设 M 和 N 为两点,O 为原点。我们将找到 P,即 MN 段的中间:OP = OM + ON/2。您可以计算 OP 的大小:|OP|。您需要的点将是 R,其中 OR = OP/|OP| = OM + ON/2|OP|。

祝你计算顺利。我不知道Delphi,但也许它允许直接向量运算。如果没有,请使用解析几何。

中点的坐标是M和N坐标的算术平均值(你说你可以计算出来)。获取 |OP| 的大小您提取 x^2+y^2+z^2 的平方根。要得到 R,只需将 P 的坐标除以刚才计算的幅度即可。

当M和N相反时(P==O),你分开处理。

关于vector - 使用两个自旋向量中的点对球体上的 x、y、z 坐标进行插值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com