日期:2014-05-20  浏览次数:20632 次

请问诸位高手,如何实现在三角形内的随机数呢?
如题所示,比如三角形顶点在100,100的位置。画一个随便的等边的三角形,如何在这个三角形内产生随机数?

------解决方案--------------------
可以先随机X,再随机Y
如果这三角形是正着放的,那么X取值范围就是(左顶点,左顶点+边长)
取一次随机后得到X坐标,那么Y也就有个取值范围了。再在这范围内取随机就好了

具体的涉及数学运算,感觉是很麻烦...

不知道有没高手给出更好的思路
------解决方案--------------------
以(100,100)为圆心,边长为半径,在圆上随机一个点,再加上圆心就可以确定等边防前线三角形三个角了,不知可行否
------解决方案--------------------
根据海伦公式:
三角形面积 = sqrt((p-a)(p-b)(p-c)*p) 【sqrt 根号】
p = (a+b+c)/2

如个随机点与三顶点组成的三角形面积之和=大三角形的面积
则在圆内,否子圆外