Vb程序问题,竖椭圆变不成横椭圆了= =

问题描述:

Vb程序问题,竖椭圆变不成横椭圆了= =
Private Sub Command1_Click()
'参数初始化
Dim a0!, a1!, b1!, c1!, d!, l!, l0!, r1!
'定义text数值
a0 = Text1.Text
l = Text2.Text
l0 = Text3.Text
r1 = Text4.Text
'定义β范围
a1 = a0 * 0.01745
b1 = a1 / 1.2
c1 = a1 + b1
'定义坐标系
Form1.Scale (-500, 500)-(500, -500)
Form1.Line (-500, 0)-(500, 0)
Form1.Line (0, -500)-(0, 500)
'函数
For d = 0.01 To 6.28 Step 0.01
'If d > 0 And d < 3.14 Then
'X1 = l * Sin(d) - l0 * Sin(c1 + d)
'Y1 = l * Cos(d) - l0 * Cos(c1 + d)
'Form1.PSet (X1, Y1), RGB(255, 0, 255)
'End If
X2 = l * Cos(d) - l0 * Cos(c1 + d)
Y2 = l * Sin(d) - l0 * Sin(c1 + d)
Form1.PSet (X2, Y2), RGB(0, 0, 0)
Next d
End Sub
1个回答 分类:综合 2014-09-28

问题解答:

我来补答
嘛意思?
再问: 就是目前这个程序出来的图式竖着的椭圆……然后把X和Y调换之后还是竖着的 即把Form1.PSet (X2, Y2), RGB(0, 0, 0)改成Form1.PSet (Y2, X2), RGB(0, 0, 0)之后还是竖着的。
再答: 你把窗口拉成扁的,就是长比宽大,就是横椭圆了!
再问: ……你学过vb么……
再答: 当然。。。你没照我说的去做吗?500,500是单位,和像素没关系,哎,还要我怎么证明?
再问: 额……那如果说在竖椭圆的时候,另写一个式子来显示对调的话,就是Form1.PSet (X1, Y1), RGB(0, 0, 0)和Form1.PSet (Y2, X2), RGB(0, 0, 0)那么……为什么两个图形重叠在一起?不是应该一个横一个竖的么,是单位和像素不等的结果么?另外,怎么把X轴和y轴固定,就是说只是画圆的时候不会出现椭圆的样子?
再答: 因为,你用了Form1.Scale (-500, 500)-(500, -500),这么一个语句,导致横坐标和纵坐标完全一样,所以你把X2和Y2互换,完全没有用! 固定不住啊,你的窗口是可以拉伸的。 画圆有专门的语句: Private Sub Command1_Click() '参数初始化 Dim a0!, a1!, b1!, c1!, d!, l!, l0!, r1! '定义text数值 a0 = Text1.Text l = Text2.Text l0 = Text3.Text r1 = Text4.Text '定义β范围 a1 = a0 * 0.01745 b1 = a1 / 1.2 c1 = a1 + b1 '定义坐标系 Form1.Scale (-500, 500)-(500, -500) Form1.Line (-500, 0)-(500, 0) Form1.Line (0, -500)-(0, 500) '函数 Form1.Circle (0, 0), l End Sub
 
 
展开全文阅读
剩余:2000
上一页:解题方法 技巧
下一页:过程3