當前位置:首頁 » 編程語言 » 斜拋運動軌跡c語言編寫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

斜拋運動軌跡c語言編寫

發布時間: 2023-01-12 22:20:36

㈠ 編寫一個vb模擬斜拋運動的程序 如圖

'要求控制項兩個:
'1-Picture1,2-Text1
'本程序中須在圖片框Picture1里用滑鼠點擊一下即可演示拋物過程,可以向上拋,可以向下拋;
'過程中演示了物體運動軌跡
Option Explicit
Dim V0 As Double, Vx As Double, Vy As Double
Dim s As Single, t As Single
Dim pX As Single, pY As Single
Dim A As Double
Const Pi = 3.1415926
Const g = 9.8
Private Sub Form_Load()
Picture1.AutoRedraw = True
Picture1.Cls
Picture1.DrawWidth = 1
Picture1.Scale (-100, 6000)-(8000, -6000) '自定義坐標系統
Picture1.Line (-100, 0)-(8000, 0), vbGreen
Picture1.Line (0, -6000)-(0, 6000), vbGreen
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error GoTo Err1
'提示:在圖片框里點擊滑鼠開始拋物
If X <= 0 Then Exit Sub
pX = X
pY = Y
A = Atn(Y / X) * 180 / Pi

Picture1.Cls
Picture1.DrawWidth = 1
Picture1.Scale (-100, 6000)-(8000, -6000) '自定義坐標系統
Picture1.Line (-100, 0)-(8000, 0), vbGreen
Picture1.Line (0, -6000)-(0, 6000), vbGreen
V0 = Val(Text1.Text)
Vx = V0 * Cos(A * Pi / 180)
Vy = V0 * Sin(A * Pi / 180)
Timer1.Interval = 10
Timer1.Enabled = True
t = 0
Exit Sub
Err1:
t = 0
Timer1.Enabled = False
End Sub

Private Sub Text1_LostFocus()
Text1.Text = Val(Text1.Text)
End Sub

Private Sub Timer1_Timer()
If t = 0 Then
Picture1.CurrentX = 0
Picture1.CurrentY = 0
End If
t = t + Timer1.Interval / 100
pX = Vx * t
pY = Vy * t - 1 / 2 * g * t ^ 2
Picture1.Line -(pX * 100, pY * 100), vbRed
Picture1.PSet (pX * 100, pY * 100), vbBlack
Picture1.Circle (pX * 100, pY * 100), 50, vbBlack
If pY <= -6000 Or pX >= 8000 Then Timer1.Enabled = False
End Sub

c語言程序設計題!!!急!!!

1.
#include<stdio.h>
#include<string.h>

int strSearch(char *str[], char *str_sea, int len);

char *str[] = {"abc", "bcd", "xyz", "bcdef", "bcde"};
char *str1 = "bcde";

main()
{
int len = sizeof(str)/sizeof(char *);
printf("%d\n" ,strSearch(str, str1, len));
}

int strSearch(char *str[], char *str_sea, int len)
{
//int len = sizeof(str)/sizeof(char *);
//printf("len: %d \n", len);
int i = 0;
for(i = 0; i < len; i++)
{
if(strcmp(str[i], str_sea) == 0)
{
return 1; }
}
return 0;
}

3.
#include<stdio.h>
#include<math.h>

float func1(float V0, float Q)
{
return 2*9.8*V0*sin(3.14/180*Q);
}

float func2(float V0, float Q)
{
return 9.8*V0*sin(3.14/180*Q);
}

main ()
{
float V0;
float Q;
printf("請輸入初速度:");
scanf("%f", &V0);
printf("請輸入角度:");
scanf("%f", &Q);
printf("2*Vo*sinQ: %f\n", func1(V0, Q));
printf("請輸入初速度:");
scanf("%f", &V0);
printf("請輸入角度:");
scanf("%f", &Q);
printf("Vo*sinQ: %f\n", func2(V0, Q));
}

㈢ C語言題:一個質點以初速度V0向上斜拋,與水平夾角為α,求隨時間變化,質點的位置(t=0,0.1,0.2,...1s時

因為浮點型的精確程度比較高,一般都有小數點後面6位,如果寫成<=1.0,那麼有可能1.00023這樣的數就排除在條件外了,所以要寫成<1.1

㈣ 從A點斜向上拋出一個小球,曲線ABCD是小球運動的一段軌跡.建立如圖所示的正交坐標

由題可知,令L=1,設軌跡的方程為f(x)=x*x+b , B的坐標為(0,b),
A(-1,0),C(1,0),D(2,3)
f(1)=f(-1)=1+b=0
f(2)=2*2+b=3
b=-1
則B的坐標為(0,-L)

㈤ 請問斜拋運動x=Vot,y=1/2gt2,y/x=tan怎樣聯立,謝謝了

你寫得不完整。
斜拋運動,水平方向位移 x=v0•t•cosθ,豎直方向位移 y=v0•t•sinθ-(1/2)•gt²
則 y/x=[v0•t•sinθ-(1/2)•gt²]/(v0•t•cosθ)=(v0•t•sinθ)/(v0•t•cosθ)-[(1/2)•gt²]/(v0•t•cosθ)=tanθ-[(1/2)•gt]/(v0•cosθ)
即 y/x=tanθ-[(1/2)•gt]/(v0•cosθ)
將左邊分母 x 乘到右邊,得 y=xtanθ-x•[(1/2)•gt]/(v0•cosθ)
將 x=v0•t•cosθ 變成 t=x/(v0•cosθ )代入右邊第二項 x•[(1/2)•gt]/(v0•cosθ) 得 x•[(1/2)•g•x/(v0•cosθ )]/(v0•cosθ) =gx²/[2(v0•cosθ)²]
最後得到的斜拋運動軌跡方程是 y=xtanθ-gx²/[2(v0•cosθ)²]

㈥ 求時斜拋求拋求時間和路程的c語言編程!知道初速度,和斜拋夾角!大神快幫幫忙!正在做實驗

把速度分解了不就可以了嗎,也不難。

豎直方向求時間,水平方向求距離。

寫代碼也簡單,幾句話就可以了吧。

#defineg9.8//重力加速度

vy=v*sin(theta);//豎直速度
vx=v*cos(theta);//水平速度

t=2*vy/g;//求時間,分兩段。上升階段、下降階段時間相等。上升階段是速度減到0
s=vx*t;//水平距離