在给定顶点,基点中点和基本宽度的情况下,如何找到等腰三角形的所有点?

时间:2016-07-25 16:02:38

标签: algorithm math cartesian-coordinates

我正在尝试制作一个正确旋转的等腰三角形。我有以下数据:

  • 顶点的(x, y)坐标, A
  • 基地中点的(x, y)坐标, a m
  • 基座的宽度, a

我需要找到其他两点的坐标, B C 只使用上述信息查找最后两个点的算法是什么?搜索Google只是给了我很多方程式,假设它直接指向上方,但我需要将它们放在之前执行转换。

An isosceles triangle rotated so that the vertex (labeled with a blue capital A) is in the lower-left and the base (labeled with a red lower-case a) is on the upper-right. The base is bisected by its midpoint (labeled by a green a with a subscript m). The other two points are labeled with a purple capital B and an orange capital C, respectively.

1 个答案:

答案 0 :(得分:1)

要查找BC

  1. 找到规范化的方向向量a_mA = (A - a_m)/|A - a_m|
  2. 找到与向量a_mA正交的向量 - 让我们称之为a_mA'
    • a_mA' = (-a_mA.y, a_mA.x)
  3. 找到B,向width/2方向的步骤a_mA'单位添加a_m
    • B = (width/2)*a_mA' + a_m
  4. 找到C,向-width/2方向的步骤a_mA'单位添加a_m
    • C = (-width/2)*a_mA' + a_m
  5. JsFiddle示例:https://jsfiddle.net/asq7h2jd/