繁体   English   中英

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

[英]How do I find all points of an isosceles triangle given the vertex point, base midpoint, and base width?

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

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

我需要找到另外两个点BC的坐标。 仅使用上述信息来找到最后两点的算法是什么? 通过搜索Google,我得到了很多假设,这些假设直接指向了我,但我需要在进行转换之前放置这些方程。

旋转了一个等腰三角形,使得顶点(标有蓝色大写字母A)在左下角,而基数(标有红色小写字母a)在右上角。碱基被其中点一分为二(用绿色a标记下标m)。另外两个点分别用紫色大写字母B和橙色大写字母C标记。

找到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 ,沿a_mA'的方向将步长width/2单位加上a_m
    • B = (width/2)*a_mA' + a_m
  4. 找到C ,在a_mA'的方向上以步长-width/2单位并添加a_m
    • C = (-width/2)*a_mA' + a_m

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM