Geometry 用给定的斜边和角度形成直角三角形

Geometry 用给定的斜边和角度形成直角三角形,geometry,coordinates,Geometry,Coordinates,我有两个点A=[ax,ay]和B=[bx,by],我有直角三角形中的角,对于CAB,对于CBA(90-ACB)和ACB(90,直角)。现在我想得到点C的坐标[cx,cy](从两种可能性中,我想得到一个C点,位于定向线段A到B的左侧) 我该怎么做呢?既然给了你一条边和两个邻接角,剩下的就是为另外两条边构造直线并使它们相交 将向量A->B向左旋转角度BAC,将向量B->A向右旋转角度ABC,然后相交 要向左旋转矢量,请将其乘以旋转矩阵: cos(a) sin(a) -sin(a) cos(a)

我有两个点A=[ax,ay]和B=[bx,by],我有直角三角形中的角,对于CAB,对于CBA(90-ACB)和ACB(90,直角)。现在我想得到点C的坐标[cx,cy](从两种可能性中,我想得到一个C点,位于定向线段A到B的左侧)


我该怎么做呢?

既然给了你一条边和两个邻接角,剩下的就是为另外两条边构造直线并使它们相交

将向量
A->B
向左旋转角度
BAC
,将向量
B->A
向右旋转角度
ABC
,然后相交

要向左旋转矢量,请将其乘以旋转矩阵:

 cos(a) sin(a)
-sin(a) cos(a)
要使两条线在二维中以参数形式相交,请同时求解两个参数,并比较两条线的两个组件

  • 计算中间点D=(A+B)/2
  • 以2*角旋转矢量DB
  • (这是基于这样一个事实,即外接圆的中心是斜边的中间,与中心的角度是与A的角度的两倍)

    让我们B-D=(dx,dy)


    然后C=D+(dx*cos2a+dy*sin2a,dy*cos2a dx*sin2a)

    好的。忘了泰雷兹圈了。@JanDvorak,你要回来吗?^ ^@我是Swivelgames,但Maxim1000提醒我忘了泰雷兹圆圈,所以我改为对他的答案投了更高的票。我该怎么做呢?