vb 做平抛运动 求高手给出公式。
发布网友
发布时间:2024-05-06 02:01
我来回答
共2个回答
热心网友
时间:2024-05-16 23:05
抛物线的标准形式为:y = a*X^2
a决定抛物线的开口大小,a的绝对值越大,开口越小;a的绝对值越小,开口越大
在中学数学里介绍, a>0,开口向上,a<0,开口向下,那是数学中规定,Y轴的正方向是向上;
而在VB的坐标系统里,规定Y轴的正方向是向下的;
所以,开口方向的结论与数学里正好反之,即a>0,开口向下,a<0,开口向上。
在VB里绘制抛物线,要适当用小一点的a,大概是屏幕像素纵横比的原因吧!
下面是一个例子;
窗体上添加一个Picture1,和1个按钮;
设置Picture1的宽度为10000,高度为8000;
单击按钮,可以看到抛物线的图像。
代码如下:
Option Explicit
Private Sub Command1_Click()
Dim x As Single
Dim y As Single
Dim a As Single
'定义图片框Picture1的坐标系统
Picture1.ScaleTop = -4000
Picture1.ScaleLeft = -5000
Picture1.ScaleWidth = 10000
Picture1.ScaleHeight = 8000
'绘制坐标轴
Picture1.Line (-5000, 0)-(10000, 0), QBColor(0)
Picture1.Line (0, 4000)-(0, -4000), QBColor(0)
'1,开口向下 a>0 说明,因为VB的Y轴正方向向下,所以与数学的说法正好向反
a = 0.0005
For x = -2000 To 2000
y = a * x ^ 2
Picture1.PSet (x, y), QBColor(0)
Next x
'2,开口向上 a<0 说明,因为VB的Y轴正方向向下,所以与数学的说法正好向反
a = -0.0005
For x = -2000 To 2000
y = a * x ^ 2
Picture1.PSet (x, y), QBColor(12)
Next x
End Sub
热心网友
时间:2024-05-16 23:05
平抛应该是:
x=x+dt
y=y+dt^2/2
吧
如果D=X
那么就是
x=x+dx
y=y+d*x*x/2
但是我估计你的意思是:
x = x + dx
dy = dy + 1
y = y -1追问我知道,可以把它开成类平抛。你下面说的不对。