可以,我们知道园的方程式:(X-Xc)^2+(Y-Yc)^2=R^2 那么已知两点和半径就可以确定圆心。不过C#没有这样的函数,你需要自己编写,不过满足条件的圆心有两个(正常的情况下)
通过计算几何,你可以容易的编写出求圆心的算法,(可以变成已知点到直线上一点的距离,求该点的问题)

解决方案 »

  1.   

    给你一个思路吧(你需要判定几种情况,和计算的精度):
    1、求出两个点的中点,以及已知两点之间的距离,设为e
    2、计算两点连线和x轴的夹角,设为a
    3、计算直角三角形的另外一条直角边(半径为斜边,步骤1求出的距离的一半为另一边),设为c
    4、设临时圆心坐标为(0,c) (0,-c)
    5、通过旋转变换公式对步骤4的两个临时圆心进行变换,变换的角度为步骤2求出的a的负值
    得到的结果就是要求的圆心。
      

  2.   

    要的是一种便捷的解题思路:已知弧的起始点、终点和半径,怎么画弧?看看C#的DrawArc,怎么实现?是不是很头疼???
    Graphics.DrawArc 方法  [C#]请参见
    Graphics 类 | Graphics 成员 | System.Drawing 命名空间 
    语言
    C#C++JScriptVisual Basic全部显示
    绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。重载列表
    绘制一段弧线,它表示 Rectangle 结构指定的椭圆的一部分。[Visual Basic] Overloads Public Sub DrawArc(Pen, Rectangle, Single, Single)
    [C#] public void DrawArc(Pen, Rectangle, float, float);
    [C++] public: void DrawArc(Pen*, Rectangle, float, float);
    [JScript] public function DrawArc(Pen, Rectangle, float, float);
    绘制一段弧线,它表示 RectangleF 结构指定的椭圆的一部分。[Visual Basic] Overloads Public Sub DrawArc(Pen, RectangleF, Single, Single)
    [C#] public void DrawArc(Pen, RectangleF, float, float);
    [C++] public: void DrawArc(Pen*, RectangleF, float, float);
    [JScript] public function DrawArc(Pen, RectangleF, float, float);
    绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。[Visual Basic] Overloads Public Sub DrawArc(Pen, Integer, Integer, Integer, Integer, Integer, Integer)
    [C#] public void DrawArc(Pen, int, int, int, int, int, int);
    [C++] public: void DrawArc(Pen*, int, int, int, int, int, int);
    [JScript] public function DrawArc(Pen, int, int, int, int, int, int);
    绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。[Visual Basic] Overloads Public Sub DrawArc(Pen, Single, Single, Single, Single, Single, Single)
    [C#] public void DrawArc(Pen, float, float, float, float, float, float);
      

  3.   

    已知圆上两点的坐标(x1,y1)(x2,y2)和半径r
    设圆心为(x,y)
    用解析几何的方法求出x,y(即用x1,y1,x2,y2,r表示x,y)
    将此计算公式做成函数,调用。
    可以不用角度旋转,直接解方程。
      

  4.   

    关键是怎样在C#中实现已知两点和半径画弧
    关键是怎样在C#中实现已知两点和半径画弧
    关键是怎样在C#中实现已知两点和半径画弧
    关键是怎样在C#中实现已知两点和半径画弧
    关键是怎样在C#中实现已知两点和半径画弧
    关键是怎样在C#中实现已知两点和半径画弧