我对三角学一无所知,尽管早在学校就学过三角学,而且我认为这应该很简单,但是在网上浏览大量三角学东西会让我头疼:)所以也许有人可以帮助我...
标题准确地解释了我想要做什么,我有一条线:x1,y1 和 x2,y2 并且想要一个函数来找到 x3,y3 以在给定高度的情况下完成一个等腰三角形。
为了清楚起见,线 x1,y2 -> x2,y2 将是基础,它不会与任何轴对齐(它将以随机角度..)
有没有人有一个简单的功能?
构造向量 (x1,y1)->(x2,y2) 的法线。将它放在中点 ((x1+x2)/2,(y1+y2)/2) 并走出一段距离 h。
法线看起来像(-(y2-y1),x2-x1)。将其设为单位向量(http://en.wikipedia.org/wiki/Unit_vector)。
将 h 乘以这个单位向量到中点。
第三个点在你的底边的垂直平分线上,与altitude
这条线相距单位。
在伪代码中:
dx = x1 - x2
midpoint = ((x1 + x2) / 2, (y1 + y2) / 2)
slope = -dx / (y1 - y2)
x = sqrt(altitude*altitude - dx*dx) / slope + midpoint.x
y = slope * (x - midpoint.x) + midpoint.y
这可能不是最理想的方法。不确定它是否有效。xD
我记得的是,等腰三角形的边长相等,底角相等。如果你有高度,那么你就有最终坐标,因为这将是交点,对吧?