如题,已经知道圆心和两点,画出两点间的圆弧,思路,先分别求出原点到两点向量和x轴间的夹角余弦值,然后求反余弦得出角度,这里要注意的是,求出的向量的夹角是按几何坐标系中定义的逆时针,然后用DrawArc()函数画圆弧。
如图的三点:o(200,200),a(100,100),b(300,100)
求夹角的方法是使用高中学过的向量求夹角公式:
通过该公式,很方便地求出a,b向量的夹角的余弦值,然后使用反余弦函数求出弧长,然后用弧长radian*(180/pi)求出几何坐标系中的夹角。
这个时候值得注意的是C#里面GDI+使用的坐标体系与常用的几何坐标系有所不同,所以画圆弧使用DrawArc()函数的时候要小心,从MSDN中可以看到DrawArc()的用法:
C# public void DrawArc (Pen pen,float x,float y,float width,float height,float startAngle,float sweepAngle)
参数
penPen,它确定弧线的颜色、宽度和样式。x定义椭圆的矩形的左上角的 x 坐标。y定义椭圆的矩形的左上角的 y 坐标。width定义椭圆的矩形的宽度。height定义椭圆的矩形的高度。startAngle从 x 轴到弧线的起始点沿顺时针方向度量的角(以度为单位)。sweepAngle从 startAngle 参数到弧线的结束点沿顺时针方向度量的角(以度为单位)。
这里的startAngle 是从 x 轴到弧线的起始点沿顺时针方向度量的角,