Qt如何画箭头的问题
其实也是Qt的例子中的部分 diagramscene中的部分
PI = 3.14
double angle = ::acos(line().dx() / line().length());
if(line().dy() >= 0)
angle = (PI*2) - angle;
QPointF arrowP1 = line().p1() + QPointF(sin(angle+PI/3)*arrowLength,cos(angle+PI/3)*arrowLength);
QPointF arrowP2 = line().p1() + QPointF(sin(angle+PI - PI/3)*arrowLength,cos(angle+PI-PI/3)*arrowLength);
arrowLength是箭头部分的长度。
这个画出来的箭头比较完美,但这个公式后半部分用数学知识如何来解释呢?画了半天没想明白。用自己想出来的 画出来不完美,一旦移动直线,箭头就错位了。
有没有大神可以讲解一下?