本帖最后由 discolt 于 2009-06-30 00:37:47 编辑

解决方案 »

  1.   

    假设p2的坐标是(x2,y2),
    求解方程组
    (x1-x3)/(y1-y3)=(x1-x2)/(y1-y2);
    (x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)=R*R;
      

  2.   

    l* l = (x1 - x3)*(x1 - x3) + (y1 -y3) *(y1 - y3)然后用相似三角形R/l = (x2 - x3)/(x1-x3) = (y2-y3)/(y1-y3)有可能要注意下符号
      

  3.   

    我想考虑相对位移
    在X-Y坐标系中
    把P1移动到(0,0)相对位移是mov(x1,y1)这样p3(x3-x1,y3-y1)=(x3',y3');x2'/y2'=x3'/y3';x2'*x2'+y2'*y2'=R*R-y3'*y3'-x3'*x3'所得结果加上相对位移mov(x1,y1);这样解方程似乎简单些
      

  4.   

    x1-x3)/(y1-y3)=(x1-x2)/(y1-y2); 
    (x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)=R*R;初中数学都忘了 ........  -_-!谁能帮忙解一下
      

  5.   

    ^_^打快了上面有误
    应该是这样x2'/y2'=x3'/y3'=(y3'-y2')/x3'-y2'; 
      

  6.   

    (y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R
      

  7.   

    x2'/y2'=x3'/y3'=(y3'-y2')/x3'-y2'; 
    (y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R
      

  8.   

    (y3'-y2')*(y3'-y2')-(x3'-x2')*(x3'-x2')=R*R
      

  9.   

    恩,应该是2解,一个在p1p3中间,另一个在p1p3延长线上。
      

  10.   

    p1,p3求斜率 在求上下两个P2点
    double scale = (y3-y1)/(x3-x1);
    ==》求出sin值 ,cos值  ==》x y 差值都为正  xy取反在求另一个p2点
    画圆求交点也是要求解方程组了  直接求也没什么笨吧
      

  11.   

    double scale = (y3-y1)/(x3-x1);
    double rad = Math.atan(scale);
    double sin = Math.sin(rad);
    double cos = Math.cos(rad);
    double alx = R * cos;
    double aly = R * sin;
    p2--> (x3 - alx),(y3 - aly)
    p2->(x3 + alx),(y3 + aly)
    不知道是否是正解
      

  12.   

    LZ啊,这纯粹是道数学题啊
    我的做法:根据p1(x1,y1) p3(x3,y3)可以算出P1和 P3的距离L,然后根据L-R和R得比例推出P2的坐标
    思路就是这样的,至于具体算法LZ自己动手吧