vb,想把线段用旋转的方式画一个圆
希望每一条线都可以用计时器控制,每条线颜色不一样,然后整体展现一个连续的彩虹的样子。整体看起来就像是一个慢慢展开的彩虹状的扇形,最终围城一个圆那就先说一部分吧,用直线通过...
希望每一条线都可以用计时器控制,每条线颜色不一样,然后整体展现一个连续的彩虹的样子。
整体看起来就像是一个慢慢展开的彩虹状的扇形,最终围城一个圆
那就先说一部分吧,用直线通过旋转画一个圆,并且画圆的速度由计时器控制。谢谢大神解答 展开
整体看起来就像是一个慢慢展开的彩虹状的扇形,最终围城一个圆
那就先说一部分吧,用直线通过旋转画一个圆,并且画圆的速度由计时器控制。谢谢大神解答 展开
1个回答
展开全部
这是一个数学问题其原理:
用计时器控制角度,每间隔一段时间,增加一个角度值,按照新的角度计算直线的两个端点坐标,并绘制新的直线。
见下图:
假设第一条是蓝色直线段,其中心为坐标原点,两个端点的坐标分别为(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正方向,需要自己重新设置,符合你的要求与目的。
更多追问追答
追问
那如何保证所有画的直线都可以看见呢,我画的只有一条线再走
追答
我不理解“所有画的直线都可以看见”的含义?
绘制的直线,总归可以看见的了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询