如何获得弧长使用和弦和半径与c#
行...所以我尝试了几种不同的方法来格式化它,但是似乎不能在c#中正确地得到公式如果你有一个方法,有人愿意分享吗?
**** Hidden Message ***** 没关系...走了很长的路,得到起点和终点的向量,然后相减得到我的角度。 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。
。
以防您想要将结果作为数学解决方案:使用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(半径,弦长));。
}。
}。
}。
。
。
谢谢你,克里!我有几件东西需要这个。非常感谢
别客气。
还有弧线。GetFirstDerivative(arc.起始点) 是该点弧处切线的矢量
。GetSecondDerivative(arc.起始点) 是半径的向量
页:
[1]