【问题标题】:Forming right triangle with given hypotenuse and angles形成具有给定斜边和角度的直角三角形
【发布时间】:2012-11-12 01:02:18
【问题描述】:

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

我该怎么做?

【问题讨论】:

    标签: geometry coordinates


    【解决方案1】:
    1. 计算中间点 D=(A+B)/2
    2. 在角度 2*CAB 上旋转矢量 DB

    (这是基于外接圆的中心是斜边的中点并且与中心的角度是与A角度的两倍)

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

    那么 C=D+(dx*cos2a+dy*sin2a,dy*cos2a-dx*sin2a)

    【讨论】:

    • 好一个。忘记了泰雷兹的圈子。
    【解决方案2】:

    既然给定了一条边和两个相邻的角,剩下的就是构建另外两条边的线并将它们相交。

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

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

     cos(a) sin(a)
    -sin(a) cos(a)
    

    要在二维中以参数形式与两条线相交,请同时求解两个参数,比较两条线的两个分量。

    【讨论】:

    • @JanDvorak,你会回来吗? ^^,
    • @Swivelgames 我是,但后来 Maxim1000 提醒我我忘记了 Thales 的圈子,所以我赞成他的回答。我还是应该锻炼我的吗?
    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多