已知两点坐标。以两点连接线作中垂线。在线等。着急! 求中垂线上一点到交点距离等于连线长度的1/2 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (x1,y1),(x2,y2)圆心((x1+x2)/2, (y1+y2)/2)x1相对圆心坐标((x1-x2)/2, (y1-y2)/2)第三个点相对圆心坐标(-(y1-y2)/2, (x1-x2/2))第四个点相对圆心坐标((y1-y2)/2, -(x1-x2/2))最后加上圆心坐标... public Point2D getPoint(Point2D fromNode, Point2D toNode) { Point2D point = new Point(); double x1 = fromNode.getX(); double y1 = fromNode.getY(); double x2 = toNode.getX(); double y2 = toNode.getY(); //得到两点中间的点,圆心坐标 double countX = (x1 + x2) / 2; double countY = (y1 + y2) / 2; //计算两点间距离公式y double xr = Math.max(x1, x2) == x2 ? (x2 - x1)*(x2 - x1) : (x1 - x2)*(x1 - x2); double yr = Math.max(y1, y2) == y2 ? (y2 - y1)*(y2 - y1) : (y1 - y2)*(y1 - y2); double xy = xr + yr; //得到半径 double r = Math.sqrt(xy) / 2; //得到角度 // double c = (Math.max(y1, y2) == y2 ? y2 - y1 : y1 - y2)/2; // double angle = c/r; // double angleA = (angle*180) / 3.1415926; //计算90度点的坐标 double x = countX + r* Math.cos(45 * 3.1415926/180); double y = countY + r* Math.sin(45 * 3.1415926/180); point.setLocation(x, y); return point; } x1y1(2,0) x2y2(0,2)算出来x:2.0000000133974485y:1.9999999866025517point:2.0point:2.0角度没办法得到。用sin算出来40度。我怀疑是不sin公式有问题了。。 假设两个点(x1,y1)和(x2,y2)中垂线方程:(x-x1)*(x-x1)+(y-y1)*(y-y1)=(x-x2)*(x-x2)+(y-y2)*(y-y2)(x-x1)*(x-x1)+(y-y1)*(y-y1)=4*交点到某点距离 知道了。谢谢zephyr_cc 好久没碰了。呵呵。忘记光了。谢谢提醒 求解:又一个String问题啊! 一个输出问题,好像有人发过,但是找不到了 JAVA获取指定的随机数 不是指定范围 而是明确指定那些数??? java 读取xml的NullPointer问题 rrdw:如何访问声明在别的包里的default的类? 在JAVA中我的这个程序为什么不能运行? ~~~~~看看这个applet?~~~~~ 紧急问题:cloudview中怎么不能新建Database? 怎样设置websphere中的默认路径? 请教用什么工具开发文曲星、商务通等等平台的软件?哪里有这方面的学习参考资料? 怎么刷新前一次的绘图? 求JAVA WEB報表的一些解決方案
圆心((x1+x2)/2, (y1+y2)/2)
x1相对圆心坐标((x1-x2)/2, (y1-y2)/2)
第三个点相对圆心坐标(-(y1-y2)/2, (x1-x2/2))
第四个点相对圆心坐标((y1-y2)/2, -(x1-x2/2))
最后加上圆心坐标...
Point2D point = new Point();
double x1 = fromNode.getX();
double y1 = fromNode.getY();
double x2 = toNode.getX();
double y2 = toNode.getY();
//得到两点中间的点,圆心坐标
double countX = (x1 + x2) / 2;
double countY = (y1 + y2) / 2; //计算两点间距离公式y
double xr = Math.max(x1, x2) == x2 ? (x2 - x1)*(x2 - x1) : (x1 - x2)*(x1 - x2);
double yr = Math.max(y1, y2) == y2 ? (y2 - y1)*(y2 - y1) : (y1 - y2)*(y1 - y2);
double xy = xr + yr;
//得到半径
double r = Math.sqrt(xy) / 2;
//得到角度
// double c = (Math.max(y1, y2) == y2 ? y2 - y1 : y1 - y2)/2;
// double angle = c/r;
// double angleA = (angle*180) / 3.1415926;
//计算90度点的坐标
double x = countX + r* Math.cos(45 * 3.1415926/180);
double y = countY + r* Math.sin(45 * 3.1415926/180);
point.setLocation(x, y);
return point;
}
x:2.0000000133974485
y:1.9999999866025517
point:2.0
point:2.0
角度没办法得到。用sin算出来40度。我怀疑是不sin公式有问题了。。
中垂线方程:
(x-x1)*(x-x1)+(y-y1)*(y-y1)=(x-x2)*(x-x2)+(y-y2)*(y-y2)
(x-x1)*(x-x1)+(y-y1)*(y-y1)=4*交点到某点距离