网站建设资讯

NEWS

网站建设资讯

vb点虐 椭圆方程 椭圆编程代码

VB画椭圆的程序怎么编写

用极坐标方程啊。

十多年的龙凤网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整龙凤建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“龙凤网站设计”,“龙凤网站推广”以来,每个客户项目都认真落实执行。

根据椭圆的极坐标方程:x=P*cosA,y=P*sinA,如果在中心点旋转角度为B的话,那极坐标方程就是

x=P*cos(A+B),y=P*sin(A+B),将COS(A+B)和SIN(A+B)展开,解关于A的方程,得到

sinA=。。。cosA=....

因此可以在VB里面用object.pset(sinA,cosA)画椭圆了

x1,y1为椭圆中心点移动的坐标

控件自己添加进去就OK了。

代码如下:

Private Sub Command1_Click()

Picture1.Cls

Picture1.Scale (-100, 100)-(100, -100)

Picture1.AutoRedraw = True

Dim x, y As Double

Dim Alfa, Ceta As Double

Dim x1, y1 As Double

Dim r, g, bb As Double

r = r + 10

g = g

bb = bb + r

x1 = Val(Text4.Text)

y1 = Val(Text5.Text)

a = Val(Text2.Text)

b = Val(Text3.Text)

Text1.Text = Val(Text1.Text) + 10

Ceta = Val(Text1.Text) / 180 * 3.1415926

For Alfa = -3.1415926 To 3.1415926 Step 0.003

x = a * Cos(Alfa)

y = b * Sin(Alfa)

m = ((x) * Cos(Ceta) + (y) * Sin(Ceta)) + x1

n = (-x) * Sin(Ceta) + (y) * Cos(Ceta) + y1

Picture1.PSet (m, n), RGB(r, 0, bb)

Next Alfa

Picture1.Line (0, 100)-(0, -100), vbRed

Picture1.Line (100, 0)-(-100, 0), vbRed

End Sub

VB程序 设计程序模拟行星运动。太阳和行星轨道用Circle语句完成,行星在轨道上运动的椭圆方程为:

Const PI = 3.14159

Dim alfa As Single

Dim x As Single, y As Single, rx As Single, ry As Single

Dim cenx As Single, ceny As Single

Private Sub Form_Load()

cenx = 2000 '绘图中心

ceny = 1600

alfa = 0

rx = 1500 'x轴半径

ry = 900 'y轴半径

Do

alfa = alfa + 0.1

x = rx * Cos(alfa)

y = ry * Sin(alfa)

Me.PSet (x + cenx, y + ceny) '点绘

Loop Until alfa = 2 * PI

Me.Picture = Me.Image

Timer1.Interval = 100

End Sub

Private Sub Timer1_Timer()

alfa = alfa + 0.1

If alfa = 2 * PI Then alfa = 0

x = rx * Cos(alfa)

y = ry * Sin(alfa)

Me.Cls

Me.Circle (x + cenx, y + ceny), 120

Me.PSet (x + cenx, y + ceny)

End Sub

在vb点虐  中DrawEllipse和DrawCircle的区别?

你说的是GDI+里的方法吗?

我记得没有drawCircle这个方法的,只有画DrawElipse椭圆和DrawArc这2个方法,分别表示画椭圆(画圆统一用DrawElipse方法)和画弧(画椭圆弧统一用DrawArc方法)。

统一的方法如何实现椭圆、圆的呢?其实是用椭圆、圆的外切矩形来表示的。椭圆跟圆的唯一区别是它们外切矩形的长宽比不同,圆是一个正方形,椭圆是矩形,而且椭圆需要考虑有可能画转了角度的情况的椭圆,长轴与x轴是有特定角度的。

如何用VB.NET画同心圆

窗体上添加一个按钮,在该按钮的单击事件里编写代码如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'声明窗体的Me.CreateGraphics对象

Dim MyGraphics As Graphics = Me.CreateGraphics

Dim Cx As Integer = 150 '圆心的X坐标

Dim Cy As Integer = 150 '圆心的Y坐标

Dim R As Integer '圆的半径

'绘制半径为R的圆

For R = 5 To 100 Step 5

MyGraphics.DrawEllipse(Pens.Black, New Rectangle(Cx - R, Cy - R, 2 * R, 2 * R))

Next

End Sub

‘用黑色画笔绘制一组同心圆,半径从5开始,增量为5。

说明:

DrawEllipse是VB.Net的Graphics类的绘制椭圆的方法;他有几种格式,上面使用的是一种;

DrawEllipse(画笔的颜色,绘制椭圆所需要的矩形区域)

其中:绘制椭圆所需要的矩形区域,如果被定义为正方形,就演变成绘制圆,定义该区域由死个数值确定,第1个数值,确定该区域左上角的X坐标,第2个数值,确定该区域左上角的Y坐标,第3个数值,确定该区域的宽度,第4个数值,确定该区域的高度。

例如1:

DrawEllipse(Pens.Black, New Rectangle(150, 150, 50, 50))

就是以圆心坐标为(100,100),绘制半径为50 的圆。其实在VB.NET中,是告诉系统在以左上角坐标(150,150),边长为50的正方形里绘制内切圆。理解了是在正方形里绘制内切圆,就可以通过数学计算,知道如何绘制了。

同理例如2:

DrawEllipse(Pens.Black, New Rectangle(150, 150, 100, 50))

就是以圆心坐标为(100,100),绘制半径为50 的圆。其实在VB.NET中,是告诉系统在以左上角坐标(150,150),长轴为100,短轴为50的内切椭圆。


名称栏目:vb点虐 椭圆方程 椭圆编程代码
网页路径:http://cdweb.net/article/ddgjdih.html