nobody 发表于 2015-9-5 19:12:20

如何获得弧长使用和弦和半径与c#

行...所以我尝试了几种不同的方法来格式化它,但是似乎不能在c#中正确地得到公式
如果你有一个方法,有人愿意分享吗?
**** Hidden Message *****

nobody 发表于 2015-9-5 20:31:29

没关系...走了很长的路,得到起点和终点的向量,然后相减得到我的角度。    vector 2d anglestart = pipe,Curve2d.Center.GetVectorTo(新点2d(管道。X,管道。start point . Y));。
Vector2d angleend = pipe,Curve2d.Center.GetVectorTo(新点2d(myinvloc,x,myinvloc。y));。
double theta = anglestart,GetAngleTo(angle end);。
dist =管道,半径*θ;//arclength。

Kerry 发表于 2015-9-5 22:00:22

以防您想要将结果作为数学解决方案:使用System;。


命名空间控制台应用程序2{。
类程序{。
静态无效主(字符串[]参数){。
双半径=200;。
双弦长度=200;。

双圆周=Math.PI*2.0*半径;。
双封闭AngleRadians=AngleFromChord(半径,弦长);。
双弧长度=ArcLengthFromChord(半径,弦长);。


Console.WriteLine("周长:"+周长);。
Console.WriteLine("封闭的角度弧度:"+封闭的角度弧度);。
Console.WriteLine("封闭角度度数:"+封闭角度半径*(180.0/Math.PI));。
Console.WriteLine("弧长:"+"弧长");。

Console.ReadKey();。
}。

> /// //从半径和封闭角度获取弧长。
> /// 公共静态双ArcLengthFromAngle(双半径,双弧度){。
返回半径*弧度;。
}。
> /// ///从弦长获取角度(仅适用于角度。
> /// 公共静态双AngleFromChord(双半径,双弦长){。
返回半径!=0.0?2.0*Math.Asin(弦长/(半径*2.0)): 0.0;。
}。
> /// //从半径和弦长中获取弧长。
> /// 公共静态双ArcLengthFromChord(双半径,双弦长){。
如果(半径==0.0)。
返回弦长;。

返回ArcLengthFromAngle(半径,AngleFromChord(半径,弦长));。
}。
}。
}。


nobody 发表于 2015-9-6 20:39:27

谢谢你,克里!我有几件东西需要这个。非常感谢

Kerry 发表于 2015-9-7 20:33:55

别客气。

Bryco 发表于 2015-9-10 17:41:14

还有弧线。GetFirstDerivative(arc.起始点) 是该点弧处切线的矢量
。GetSecondDerivative(arc.起始点) 是半径的向量
页: [1]
查看完整版本: 如何获得弧长使用和弦和半径与c#