vb,想把线段用旋转的方式画一个圆

希望每一条线都可以用计时器控制,每条线颜色不一样,然后整体展现一个连续的彩虹的样子。整体看起来就像是一个慢慢展开的彩虹状的扇形,最终围城一个圆那就先说一部分吧,用直线通过... 希望每一条线都可以用计时器控制,每条线颜色不一样,然后整体展现一个连续的彩虹的样子。
整体看起来就像是一个慢慢展开的彩虹状的扇形,最终围城一个圆
那就先说一部分吧,用直线通过旋转画一个圆,并且画圆的速度由计时器控制。谢谢大神解答
展开
 我来答
syx54
2015-12-06 · TA获得超过7379个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2767万
展开全部

这是一个数学问题其原理:

用计时器控制角度,每间隔一段时间,增加一个角度值,按照新的角度计算直线的两个端点坐标,并绘制新的直线。

见下图:

假设第一条是蓝色直线段,其中心为坐标原点,两个端点的坐标分别为(x1,y1),(x2,y2),假设圆的半径为R,可以知道:

X1 = R

Y1 = 0

X2 = -R

Y2 = 0

设每次增加角度为a,根据数学知识可以计算出:

X3 = R*Cos(a)

Y3 = R*Sin(a)

X4 = R*Cos(π+a)

Y4 = R*Sin(π+a)

从而以(X3,Y3)、(X4,Y4)为端点绘制红色直线,得到第2条线,接下来再增加角度a,计算新的点坐标,绘制新直线……,以此不断绘制一直到完成转过的角度大于等于360度为止。

提示:VB窗体的默认坐标为:左上角为原点,且垂直向下为Y正方向,需要自己重新设置,符合你的要求与目的。

更多追问追答
追问
那如何保证所有画的直线都可以看见呢,我画的只有一条线再走
追答
我不理解“所有画的直线都可以看见”的含义?

绘制的直线,总归可以看见的了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式