0

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

  • (x, y)顶点坐标,A
  • (x, y)底面中点坐标,a m
  • 底座宽度,a

我需要找到其他两个点BC的坐标。 仅使用上述信息找到最后两个点的算法是什么?搜索谷歌只是给我很多假设它直接指向的方程,但我需要在执行转换之前放置这些方程。

旋转等腰三角形,使顶点(标有蓝色大写字母 A)位于左下角,底边(标有红色小写字母 a)位于右上角。 底被它的中点一分为二(用带有下标 m 的绿色 a 标记)。 另外两个点分别用紫色大写 B 和橙色大写 C 标记。

4

1 回答 1

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

JsFiddle 示例:https ://jsfiddle.net/asq7h2jd/

于 2016-07-25T17:12:35.137 回答