1.VB画椭圆的程序怎么编写
用极坐标方程啊。
根据椭圆的极坐标方程: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
2.VB画椭圆的程序怎么编写
用极坐标方程啊。
根据椭圆的极坐标方程: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.ClsPicture1.Scale (-100, 100)-(100, -100)Picture1.AutoRedraw = TrueDim x, y As DoubleDim Alfa, Ceta As DoubleDim x1, y1 As DoubleDim r, g, bb As Doubler = r + 10g = gbb = bb + rx1 = Val(Text4.Text)y1 = Val(Text5.Text)a = Val(Text2.Text)b = Val(Text3.Text)Text1.Text = Val(Text1.Text) + 10Ceta = 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 AlfaPicture1.Line (0, 100)-(0, -100), vbRedPicture1.Line (100, 0)-(-100, 0), vbRedEnd Sub。
3.VB生成椭圆且有焦点求大神写个代码,
帅哥,就不能给加个财富分? 你要知道,数学也是很麻烦滴!! 试试如下代码: 直接在VB窗体上建立一个命令按钮,代码复制过去即可! Private Sub Command1_Click() Dim x As Single Dim y As Single a = 1000 '长半轴 b = 600 '短半轴 '椭圆公式,必须全部位于第四象限,所以(x - a)^2/a^2 + (y - b)^2 / b^2 = 1 For x = 0 To 2 * a y = Sqr((1 - (x - a) ^ 2 / a ^ 2) * b ^ 2) + b PSet (x, y), vbRed y = b - Sqr((1 - (x - a) ^ 2 / a ^ 2) * b ^ 2) PSet (x, y), vbRed Next '焦点c^2 = a^2 - b^2 'c = sqr(a^2 - b^2) '所以两个焦点为 (a - c,b ) 和 ( a + c, b ) PSet (a - Sqr(a ^ 2 - b ^ 2), b), vbBlue PSet (Sqr(a ^ 2 - b ^ 2) + a, b), vbBlueEnd Sub。
4.VB生成椭圆且有焦点求大神写个代码,
帅哥,就不能给加个财富分?
你要知道,数学也是很麻烦滴!!
试试如下代码:
直接在VB窗体上建立一个命令按钮,代码复制过去即可!
Private Sub Command1_Click()
Dim x As Single
Dim y As Single
a = 1000 '长半轴
b = 600 '短半轴
'椭圆公式,必须全部位于第四象限,所以(x - a)^2/a^2 + (y - b)^2 / b^2 = 1
For x = 0 To 2 * a
y = Sqr((1 - (x - a) ^ 2 / a ^ 2) * b ^ 2) + b
PSet (x, y), vbRed
y = b - Sqr((1 - (x - a) ^ 2 / a ^ 2) * b ^ 2)
PSet (x, y), vbRed
Next
'焦点c^2 = a^2 - b^2
'c = sqr(a^2 - b^2)
'所以两个焦点为 (a - c,b ) 和 ( a + c, b )
PSet (a - Sqr(a ^ 2 - b ^ 2), b), vbBlue
PSet (Sqr(a ^ 2 - b ^ 2) + a, b), vbBlue
End Sub
5.那位高手帮忙给一个画椭圆的vb代码,就是那种跟椭圆规画的那种一样
Private Sub Command1_Click()
Const Pi As Single = 3.14 / 180 'VB是弧度制
Cls
DrawWidth = 2
For i = 0 To 360
X1 = Cos(i * Pi) * 710 + 900
Y1 = Sin(i * Pi) * 210 + 900
PSet (X1, Y1), vbRed
ys = Timer
While Timer - ys
转载请注明出处育才学习网 » vb的椭圆的代码怎么写