c++ - 任何计算无限线和轴对齐弧之间距离的方法?

标签 c++ distance

我在 3D 中有一条无限长的直线,假设它的终点为 A 和 B(A 和 B 之间的长距离),还有一条轴对齐的弧,假设它的中心为 C,起点为 S,终点为作为E。我们如何计算它们之间的距离?

或者圆弧可能是螺旋线?

这是我的问题的图片。

Question Scene

如图所示,圆弧或螺旋在xy平面上。

线条方向由xyz 轴表示。

红点代表垂直于屏幕的线。

左中图为圆弧状态,右图为螺旋状态。

最佳答案

如果你的弧是椭圆弧那么它就很简单了:

  1. 创建将椭圆弧转换为圆弧的转换。这是通过旋转和缩放变换矩阵的组合来完成的。 rotation 必须旋转您的圆弧,使其 a、b 轴与 x、y 轴对齐(旋转角度值通常是直接已知的,或者您可以使用 a、b 轴之一的 arctan 计算它)。然后将比例应用于 x 或 y 坐标,以便在缩放两个轴 a、b 后将具有相同的长度。

  2. 计算圆和点之间的最小距离(它位于圆心和您的兴趣点以及圆轮廓的直线上)我就是这样。你可以自己计算公式或谷歌它或者如果你仍然有问题写在这里我会计算它。

关于c++ - 任何计算无限线和轴对齐弧之间距离的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226601/

相关文章:

c++ - 如何在C++中获取距给定位置一定距离内的对象列表

iphone - 检测两个 iphone/ipod/ipad 之间距离的最佳方法是什么?

distance - 使用哪种数据结构来存储二进制字符串并使用汉明距离进行查询

c++ - 使用 C++ 的 XCode、Visual Studio 和 GitHub

c++ - 如何最好地保存 XML 文件

c++ - 在不同的内核上运行 QThreads

java - Java有毕达哥拉斯定理吗?

c++ - 大圆距离c++

c++ - Portaudio 回调函数示例

c++如何获取指向另一个类中当前对象的指针?