c# - 给定起点、终点和(圆的)中心点找到圆弧的中点

标签 c# trigonometry

我正在寻求有关如何找到圆弧中点的帮助。我有起点和终点、圆心和半径。我在网上到处搜索,找不到可以在任何地方转换为代码的答案。如果有人有任何想法,请告诉我。下图是我要找的(假设圆心已经找到了)。

Find Midpoint?

最佳答案

x1、x2 的平均值和 y1、y2 的平均值的 Atan2() 为您提供到中点的角度。因此发现圆弧的中点为:

double c=Math.Atan2(y1+y2, x1+x2);
double x_mid=R*Math.Cos(c);
double y_mid=R*Math.Sin(c);

请注意,我从 Atan2 的两个参数中删除了 1/2(均值)因子,因为这不会改变角度。

更新:此方法将始终找到圆周上两点之间最短弧线上的中点。这可能是也可能不是您需要的。

关于c# - 给定起点、终点和(圆的)中心点找到圆弧的中点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674239/

相关文章:

c# - 在 ExceptionFilter 中访问 dbcontext

geometry - 仅使用已知距离查找多边形的角度

java - 泰勒级数 - 计算 sin(x) 直至 6 位精度

clang - 强制 clang 生成内在 cos

c# - Sharepoint 和 .Net 开发的区别?

c# - 来自同一个 System.Timers.Timer 的两个 ElapsedEvent 能否同时运行

r - 将 x 和 y 转换为以弧度为单位的角度

objective-c - 在 touchesMoved 上获取 UIView 的旋转方向

c# - 从输入中减去输出音频流

c# - 最后一行被截断