在java中有一drawLine,但是不能直接画带方向的直线,这就需要我们自己来给line加上方向,即:在line的一端或两端加上箭头。
问题可以转化一数学问题:
已知直线的两端的坐标A(x1,y1),B(x2,y2),在端点A(或者B)画两条与直线AB夹角均为30度(度数可适当调整)的直线AM,AN.这样就给line加上方向了。
下面给出点M(x,y)(点N的求解方法与之相同)的坐标的具体求解步骤:
x=y1+Lsina
y=x1+Lcosa (a为AM与AB之间的夹角,L为箭头的长度,均为常量)
sina=(y-y1)/L
cosa=(x1-x)/L
tana=(a-1.732/3)/(1+1.732a/3)
(由tana易得sina,cosa)
由 a-1.732/3=tana(1+1.732a/3) 得tana
逆推便可求的M(x,y)点的坐标