【发布时间】:2017-04-26 13:05:29
【问题描述】:
尽管可能有一个简单的解决方案,但一直坚持这一点。
给出两点:
P1 = (5,5) 和 P2 = (6,10) 这两点之间的距离D = 5.1
是否有可能找到第三个顶点的坐标,以便与任一点形成等腰直角三角形?
有人可以帮忙吗?
是这样吗?
double ax = 5;
double ay = 5;
double bx = 6;
double by = 10;
// Vector of A > B
double abx = bx - ax;
double aby = by - ay;
// Rotate 90 degrees to get Vector B > C
double n = Math.toRadians(90.0);
double rx = (abx * Math.cos(n)) - (aby * Math.sin(n));
double ry = (abx * Math.sin(n)) + (aby * Math.cos(n));
// Point B + Vector B > C
double cx = bx + rx;
double cy = by + ry;
以 P3 = (1, 11) 结尾
【问题讨论】:
-
是的,有。请记住,如果您想用两个现有点制作一个等腰直角三角形,则对于有效的第三点有 6 种可能的解决方案。
-
在纸上试一试,然后翻译成代码。
-
能告诉我怎么做吗?
-
我投票结束这个问题,因为它更适合Mathematics。
标签: java trigonometry