3d - 在 3D 空间中沿圆的圆周移动一个点
问题描述
我试图在圆上找到一个最终位于球体中的点。这里已知的参数是C(x,y,z),半径R和点P(a,b,c)。现在我想找到一个点 Q(d,e,f),它与点 P 相距特定距离D(例如 15 毫米)。但它应该正好位于圆的圆周上。当涉及到位于 2D 空间中的圆时,我可以理解这种情况,我可以使用圆的参数方程并且可以找到圆周上的点。但我在这里面临的挑战是圆圈位于 3D 空间中。
所以我无法解决这个案子。
球体参数方程:
x=Rsin(φ)cos(θ);y=Rsin(φ)cos(θ);z=Rcos(φ);
已知参数:中心 C(x,y,z) ,点 P(a,b,c),半径 R,距离 D
**示例代码:**
double radianConversion = PI / 180.0; // **i = θ (0 - 360°) & j = Φ (0 - 180°)** & intermedPoint-P(a,b,c)
for(double i = 0 ; i <= 360; i++;) {
for(double j = 0; j <= 180; j++) {
double x = (intermedPoint.x() + d*sin(j*radianConversion)*cos(i*radianConversion));
double y = (intermedPoint.y() + d*sin(j*radianConversion)*cos(i*radianConversion));
double z = (intermedPoint.z() + d*cos(j*radianConversion));
qDebug() <<x<<";"<<y <<";" <<z ;
}
}
解决方案
推荐阅读
- javascript - 在页面刷新期间使用 Jquery Cookie 存储和更新计数器变量
- javascript - Angular组件继承,保留父html
- swift - ObjectMapper - 将 JSON 字典映射为嵌套对象
- java - 定时两个Fragment中的AsyncTask onPostExecute方法在android中同时完成
- angular - cdkDropListSortingDisabled 属性无法绑定,因为它是 cdkDropList 指令的未知属性。角材料
- git - git - 无法将分支合并到主文件中,冲突文件
- java - 使用 Fragment 上的按钮打开 AlertDialog
- python - 无法使用 pypng 从 url 创建图像
- c - 有符号字符可以比无符号字符更有效吗
- python-3.x - Databricks JDBC 集成安全性