首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平面点旋转到特定平面

平面点旋转到特定平面
EN

Stack Overflow用户
提问于 2021-12-07 11:50:20
回答 1查看 51关注 0票数 0

我有一个系统,其中一个轴从0 -> 2PI移动。这种运动会产生一个有角度的平面。Axis movement

这架黄色飞机将是我的目标飞机。我知道这个黄色平面的法向量和它的常数。根据轴(工具)的旋转值来计算XYZ在黄色平面上的位置。我得到了一个“解”,首先计算一个更简单的平面vertical plane [1 0 0] as normal vector的XYZ坐标,因为我知道球的原点和半径,然后根据轴角很容易地计算出任何XYZ的位置。

但是我的问题是,现在我在灰色平面上有了XYZ位置:如何才能得到我的XYZ位置到黄色平面上的相应位置呢?From gray plane to yellow plane,如果有任何建议的话,我们将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-12-07 12:47:25

解决办法很简单..。我把事情弄得太复杂了。不需要将点从一个平面转换到另一个平面,因为这些值可以根据球面原点和平面方向值很容易地计算出来。

代码语言:javascript
复制
// 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;

旋转样本

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70259626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档