我对三角函数一无所知,尽管我很久以前就在学校里学过它,我想这应该很简单,但是在网上翻找大量的三角函数让我头疼:)所以也许有人可以帮助我……
标题确切地解释了我想要做的事情,我有一行: x1,y1和x2,y2,我想要一个函数来找到x3,y3来完成一个给定高度的等腰三角形。
为了清楚起见,线x1,y2 -> x2,y2将作为基础,并且它不会与任何轴对齐(它将以随机角度..)
有没有人有一个简单的函数??
发布于 2008-12-07 22:55:18
构造向量(x1,y1)的法线->(x2,y2)。把它放在中点((x1+x2)/2,(y1+y2)/2),然后出去一段距离h。
法线将看起来像(-(y2-y1),x2-x1)。使其成为单位向量(http://en.wikipedia.org/wiki/Unit_vector)。
将这个单位向量的h倍加到中点。
发布于 2008-12-07 22:51:15
第三个点位于底面的垂直平分线上,距离直线的距离为altitude单位。
对于高度的斜率,通过平均x和y来计算底面的中点:-dx/
=
在伪代码中:
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
发布于 2008-12-07 22:53:09
我只记得等腰三角形的边等长,底边等角。如果你有高度,那么你就有了最终的坐标,因为这将是交点,对吧?
https://stackoverflow.com/questions/348249
复制相似问题