java - 以编程方式查找直角三角形第三个顶点的坐标

标签 java trigonometry

尽管可能有一个简单的解决方案,但我还是被困在这个问题上一段时间了。

鉴于两点:

P1 = (5,5) 且 P2 = (6,10) 这两点之间的距离 D = 5.1

是否可以找到第三个顶点所需的坐标,以与任意一点形成等腰直角三角形?

enter image description here

有谁能帮忙吗?

这是正确的吗?

    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) 结尾

enter image description here

最佳答案

这里有一个提示:

enter image description here

@f1sh said ,有 6 个点(红色)。在图像中,我旋转了您的线条以便于表示,因此您可以将其旋转回去并查看应该得到什么结果。

关于java - 以编程方式查找直角三角形第三个顶点的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43635122/

相关文章:

java - JSP 上的 2 个请求第二个删除变量内容

java - Thread.currentThread().setContextClassLoader 似乎无法正常工作

java - 不使用 Array.sort 对多维字符串数组进行排序

c++ - 检查鼠标是否在三角形 C++ 内

c - 正弦函数频率突然跳变

python - 给定三个坐标点,如何检测它们之间的角度何时超过 180 度?

java - 从 Java 将图像保存在 MySQL 中

java - 使用 Jmap 在 OutOfMemoryError 上转储 Java 堆文件

c - 如何将asin结果保存在短变量中?

indexing - 如何使用 Lucene.NET 计算文档的 "OnTopicness"