我有一个系统,其中一个轴从0 -> 2PI移动。这种运动会产生一个有角度的平面。Axis movement。
这架黄色飞机将是我的目标飞机。我知道这个黄色平面的法向量和它的常数。根据轴(工具)的旋转值来计算XYZ在黄色平面上的位置。我得到了一个“解”,首先计算一个更简单的平面vertical plane [1 0 0] as normal vector的XYZ坐标,因为我知道球的原点和半径,然后根据轴角很容易地计算出任何XYZ的位置。
但是我的问题是,现在我在灰色平面上有了XYZ位置:如何才能得到我的XYZ位置到黄色平面上的相应位置呢?From gray plane to yellow plane,如果有任何建议的话,我们将不胜感激。
发布于 2021-12-07 12:47:25
解决办法很简单..。我把事情弄得太复杂了。不需要将点从一个平面转换到另一个平面,因为这些值可以根据球面原点和平面方向值很容易地计算出来。
// calculate axis rotation to radians
let radAngle = (angle)*Math.PI/180;
let beeta = (90*Math.PI/180) - radAngle; //rotation value on the circle
let gamma = Math.acos(yellow.normal.x); //plane orientation
// temporary vars
let cb = Math.cos(beeta);
let sb = Math.sin(beeta);
let cg = Math.cos(gamma);
let sg = Math.sin(gamma);
let x = sphere.origin.x + sphere.radius*(cg*sb);
let y = sphere.origin.y + sphere.radius*(sg*sb);
let z = sphere.origin.z + sphere.radius*cb;https://stackoverflow.com/questions/70259626
复制相似问题