我的程序中有一个球体,我打算在距离该球体中心 x 处绘制一些矩形。该图如下所示:
矩形绘制在我已经在 3d 点向量中的 (x,y,z) 点处。假设 x 到中心的距离为 10。注意这些矩形的方向,它们与半径为 10 的假想球体相切(垂直于从球心到矩形中心的假想线)
目前,我执行以下操作:
vector<vec3f> pointsInSpace
对于必须绘制矩形的n 个点
for(int i=0;i<pointsInSpace.size();++i){
//draw rectnagle at (x,y,z)
}
它没有我正在寻找的这种切线方向。在我看来,roll,pitch,yaw
对每个矩形应用旋转并以某种方式使用四元数使它们与我正在寻找的东西相切。但是,对我来说它看起来有点复杂,我想问一些更好的方法来做到这一点。
此外,将来的矩形可能会更改为其他形状,因此将不胜感激一种通用的解决方案。