Geometry 用外心和三角形的两点找到第三点

Geometry 用外心和三角形的两点找到第三点,geometry,computational-geometry,triangulation,geometry-surface,triangular,Geometry,Computational Geometry,Triangulation,Geometry Surface,Triangular,如何使用JAVA计算等腰三角形的第三点,给定其两点和外心。这个问题有两个解,如果我从A点和B点得到最短的一个就足够了。如果AB是等腰三角形(AC=BC)的底,那么解就相当简单 给定点A、B、CC(环中心) 外圆半径为 R = Length(CC-A) = Sqrt((CC.X - A.X)^2 + (CC.Y - A.Y)^2) 编辑:更改方向向量计算以避免歧义: AB中点 M = ((A.X + B.X)/2, (A.Y + B.Y)/2) 从CC到垂直C的方向向量 D = (CC.X

如何使用JAVA计算等腰三角形的第三点,给定其两点和外心。这个问题有两个解,如果我从A点和B点得到最短的一个就足够了。

如果AB是等腰三角形(AC=BC)的底,那么解就相当简单

给定点
A、B、CC
(环中心)

外圆半径为

 R = Length(CC-A) = Sqrt((CC.X - A.X)^2 + (CC.Y - A.Y)^2)
编辑:更改方向向量计算以避免歧义:

AB中点

 M = ((A.X + B.X)/2, (A.Y + B.Y)/2)
从CC到垂直C的方向向量

D = (CC.X - M.X, CC.Y - M.Y)
归一化(单位)方向向量

uD = (D.X / Length(D), D.Y / Length(D))
垂直坐标

C = (CC.X + R * uD.X, CC.Y + R * uD.Y)

如果外心是指三角形垂直平分线的交点,那么它也是三角形外接圆(通过三角形所有三个顶点的圆)的中心,我看不出你怎么只能找到两个解:该圆上的每个点都可以是第三个点!因为三角形的第三点位于连接两点中点和圆心的线上,所以只能得到两个解。这条线与圆相交两次,所以你只考虑三角形。好吧,但既然这不是问题的答案,就应该在问题中具体说明。是的,你是对的。我现在将添加它。您是否在涉及的数学方面有困难(看看那些关于和的问答,如果是这样的话)或者在Java实现方面有困难(请展示您迄今为止做了什么)?您好,感谢您提供的解决方案。但是,C应该有两个解。我可以通过CC.X-R*uD.X,CC.Y-R*uD.Y获得另一个坐标吗?在描述的条件下,只有一个解。