|
发表于 2009-4-19 13:10:49
|
显示全部楼层
[jass]
local real x1=x+width*Sina/2
local real y1=y-width*Cosa/2
local real x2=x-width*Sina/2
local real y2=y+width*Cosa/2
local real x3=x2+length*Cosa
local real y3=y2+length*Sina
local real x4=x1+length*Cosa
local real y4=y1+length*Sina[/jass]
上面这几个都是要用的.这个我没啥好说的.关键是后面的判断.
其实这个问题在wow8已经讨论过了,当时有人让我帮忙做一个三角形区域伤害的演示.我自己设计了两种方案.第一种就是8楼的旋转单位坐标的方法,第二种是判断点与直线的位置关系.然后我将这两种方式公布开来,大家一起讨论,得到5-6种不同的方法.
aeris后来又对我的第二种方法提出向量的改进方案,最后几经修改,得到我在6楼的最简算法(不同的是那个参数比这个少两个,return时多一个判断).
另外,sin和cos这种最基本的算术函数不可能出现太大偏差,如果出现问题,只可能是自己算法不当. |
|