用vb 方法画摆线.函数轨迹如下:x=at+b*sin(ct) ,y=b*(1-cos(ct))
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/06/11 12:59:12
用vb 方法画摆线.函数轨迹如下:x=at+b*sin(ct) ,y=b*(1-cos(ct))
其中a,b,c为需要用inputbox输入的常数
其中a,b,c为需要用inputbox输入的常数
![用vb 方法画摆线.函数轨迹如下:x=at+b*sin(ct) ,y=b*(1-cos(ct))](/uploads/image/z/17399556-36-6.jpg?t=%E7%94%A8vb+%E6%96%B9%E6%B3%95%E7%94%BB%E6%91%86%E7%BA%BF.%E5%87%BD%E6%95%B0%E8%BD%A8%E8%BF%B9%E5%A6%82%E4%B8%8B%EF%BC%9Ax%3Dat%2Bb%2Asin%28ct%29+%2Cy%3Db%2A%281-cos%28ct%29%29)
Rem 正如一楼所述,你没给出t的取值范围,这里我假设就是窗体的宽度
Rem 其实这种题最难的不是画函数,而是预估函数的最大值和最小值,只有这样才能归一化,否
Rem 则没法显示
Private Sub Command1_Click()
Rem x=at+b*sin(ct) ,y=b*(1-cos(ct))
Dim t As Integer, x As Double, y As Double, ang As Double
Dim minX As Double, MaxX As Double, minY As Double, MaxY As Double
Dim StartX As Integer, StartY As Double, LastX As Integer, LastY As Double
Dim a As Integer, b As Integer, c As Integer
' a = Val(InputBox("a是?"))
' b = Val(InputBox("b是?"))
' c = Val(InputBox("c是?"))
a = 1: b = 2: c = 3
Pi = 3.14
Me.ScaleMode = vbPixels
minX = 0: MaxX = 120
minY = 0: MaxY = 5
StartX = minX: StartY = MaxY
For t = 1 To ScaleWidth Step 1
ang = (t / Me.ScaleWidth) * 2 * Pi '仅显示一个周期
ant = t
x = (a * t + b * Sin(c * ang))
x = x * (Me.ScaleWidth - 20) / (MaxX - minX) '归一化处理
ang = (t / Me.ScaleHeight) * 2 * Pi '仅显示一个周期
ang = t
y = (b * (1 - Cos(c * ang)))
y = Me.ScaleHeight - 40 - y * Me.ScaleHeight / (MaxY - minY) '归一化处理
Rem Me.PSet (x, y), vbRed
Rem Me.Circle (x, y), 2, vbRed
LastX = x: LastY = y
Me.Line (StartX, StartY)-(LastX, LastY), vbRed
StartX = LastX: StartY = LastY
Next
End Sub
![](http://img.wesiedu.com/upload/6/9b/69be2c6ed1c4840b8f706facbc519d14.jpg)
Rem 其实这种题最难的不是画函数,而是预估函数的最大值和最小值,只有这样才能归一化,否
Rem 则没法显示
Private Sub Command1_Click()
Rem x=at+b*sin(ct) ,y=b*(1-cos(ct))
Dim t As Integer, x As Double, y As Double, ang As Double
Dim minX As Double, MaxX As Double, minY As Double, MaxY As Double
Dim StartX As Integer, StartY As Double, LastX As Integer, LastY As Double
Dim a As Integer, b As Integer, c As Integer
' a = Val(InputBox("a是?"))
' b = Val(InputBox("b是?"))
' c = Val(InputBox("c是?"))
a = 1: b = 2: c = 3
Pi = 3.14
Me.ScaleMode = vbPixels
minX = 0: MaxX = 120
minY = 0: MaxY = 5
StartX = minX: StartY = MaxY
For t = 1 To ScaleWidth Step 1
ang = (t / Me.ScaleWidth) * 2 * Pi '仅显示一个周期
ant = t
x = (a * t + b * Sin(c * ang))
x = x * (Me.ScaleWidth - 20) / (MaxX - minX) '归一化处理
ang = (t / Me.ScaleHeight) * 2 * Pi '仅显示一个周期
ang = t
y = (b * (1 - Cos(c * ang)))
y = Me.ScaleHeight - 40 - y * Me.ScaleHeight / (MaxY - minY) '归一化处理
Rem Me.PSet (x, y), vbRed
Rem Me.Circle (x, y), 2, vbRed
LastX = x: LastY = y
Me.Line (StartX, StartY)-(LastX, LastY), vbRed
StartX = LastX: StartY = LastY
Next
End Sub
![](http://img.wesiedu.com/upload/6/9b/69be2c6ed1c4840b8f706facbc519d14.jpg)
x光.b超.ct.核磁共振分别有什么用
CT,X光,B超各是干什么用的,
X光 B超 CT 什么区别
一质点在XOY平面内运动,其运动方程为x = at y=b+ct^2 式中a、b、c均为常数,当运动质点的运动方向与X轴
函数y = x cos--sin x 的导数是 ( ) a xsinx b - xsinx
已知二次函数x^2-ax+b=0的两根分别为sinβ和cosβ,求P(a,b)的轨迹方程.
已知二次函数x^2-ax+b=0的两根分别为sinβ和cosβ,求P(a,b)的轨迹方程
求函数y=a sin(3/x)+b cos²(2x) (a,b是常数)的导数
已知(x/a)cosθ+(y/b)sinθ=1,(x/a)sinθ-(y/b)cosθ=1,求证(x^2/a^2)+(y
求由摆线x=a(t-sin t),y=a(1-cos t)及x轴所围成的图形的面积(0
求下列函数的导数 Y=a*sin(b) Y=a*cos(b)
1、cos(x+B)*cos(x-B)=cosx-sin^2B