我有一个坐标和一个角度。现在我想从坐标画一条直线到指定角度的一定长度。我怎么能做到这一点?有人可以提供任何想法吗?如何在QT中以角度画线?
2
A
回答
7
亚瑟的方式计算角度是正确的,但实际上,QT提供的特定的角度引出配线内置的方法,特别是QLineF
类的在QLineF
标题中的功能:
#include <QLineF>
void AngleDemo::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(QPen(Qt::black,1));
/* Create the line object: */
QLineF angleline;
/* Set the origin: */
angleline.setP1(QPointF(80,80));
/* Set the angle and length: */
angleline.setAngle(45);
angleline.setLength(50);
/* Draw the line: */
painter.drawLine(angleline);
}
从online documentation of the setAngle()
function:
将线的角度设置为给定的角度(以度为单位)。这将改变线的第二点的位置,使得线具有给定的角度。
角度的正值表示逆时针方向,负值表示顺时针方向。
零度位于3点钟位置。
此功能是在Qt 4.4中引入的。
3
假设你的坐标由x
和y
double endx = cos(angle)*length;
double endy = sin(angle)*length;
你的行会从(X,Y)到(X + endx,Y +恩迪)。
不要忘记你的angle
需要采用弧度,所以如果你有它的度,如0到360,将其转换这个样子,和使用上面弧度:中
double pi = acos(-1);
double radians = angle/180.0 * pi;
相关问题
- 1. 在角度画线y值
- 2. 以特定角度画线(动态)
- 3. 路线动画角度4
- 4. 在Java中以特定角度画一条线
- 5. 如何在matlab中以方位角画线?
- 6. 如何在cocos2d中以指定角度播放动画?
- 7. 如何在ABAQUS中以角度施加力或线载荷
- 8. QT中的优化画线
- 9. 在QT中绘制具有特定角度的多义线
- 10. 如何在Android画布上以特定角度移动球?
- 11. 如何使路线工作在角度
- 12. Java Swing,以特定角度画一条线?
- 13. 以一定的角度画线性渐变
- 14. 如何在Ubuntu的QT中的QcustomPlot上画两条线?
- 15. 如何使用for循环在不同角度的圆中画一条线
- 16. 如何使用iPhone中的CAShapeLayer以45度角绘制线条
- 17. 在R中画出纬度/经度线?
- 18. 如何从角度更新HTML5画布?
- 19. 如何画一个角度的窗户?
- 20. iOS以角度旋转动画
- 21. 以角度初始化WOW动画2
- 22. 如何在Qt中执行绘画?
- 23. 如何在OCaml中画线?
- 24. 如何在opencv中画线
- 25. 如何在Scilab中画线
- 26. 如何在c中画线#
- 27. 如何以不同角度重复使用SnapSVG动画?
- 28. 如何在java中画一条对角线的圆?
- 29. 八度画线
- 30. 如何在角度编译过程中显示一些动画
谢谢亚瑟。我会检查这一点。 – joki
@joki我有同样的问题,你可以确认,如果这种方法解决了你的问题? – Callat
是@KazRodgers !!这满足了期望! – joki