gpt4 book ai didi

c++ - QPainter - 沿圆圈绘制对象

转载 作者:行者123 更新时间:2023-11-28 01:49:45 25 4
gpt4 key购买 nike

我想在整个圆圈周围绘制那些黑点,彼此之间有规则的间距(下图的粗略图)。那些黑点应该直接坐在圆圈上。有没有一种简单的方法可以用 painter.drawArc() 函数或类似的东西来做这件事?

Desired ouput

最佳答案

不,没有。 I am afraid you will have to use... math !

实际上,没有它您也可以逃脱。特别是对于围绕一个圆圈进行扫掠,有一种简单的方法可以通过变换画家来完成。您最初将画家变换到圆心,并在圆的 12 点钟位置绘制第一个点。这意味着将其绘制到负 y 空间中。然后,您只需将画家旋转 360/numOfObjects 度,然后再次绘制相同的圆圈。

他们这里的关键是将painter转换到中心并绘制物体偏移,否则自己计算位置和角度会更复杂。角度在这里不起作用,因为您绘制的是点,但是如果您绘制的不是点,角度就会有很大的不同。通过这种方式,您可以通过围绕其原点旋转画家轻松扫过圆圈。

伪代码:

draw big circle
move painter to big circle center
degree = 360 / numOfObjects
while numOfObjects--
draw dot at 12 o'clock
rotate painter by degree

关于c++ - QPainter - 沿圆圈绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com