调多大的角度 计算几何
點擊打開鏈接
調多大的角度
? 假如你是一位迫擊炮炮手,需要摧毀同一地平線上,距離為s米的地方工事,你要講炮口角度a調為多少合適,炮口角度a定義為炮身與地平線的夾角,單位為角度,忽略空氣阻力,忽略地球是圓的。當然,也可能會因為距離太遠無法射到,如果太遠,請計算出需要向目標移動的最短距離。迫擊炮也有最短射程b米,低于(<b)的都無法射到。
Input
有多組輸入數據,每組一行v? s? b
初始速度v,敵人距離s,迫擊炮最短射程b,全部為大于0的整數。
v的單位是米/秒。
文件結束時輸入數據結束。
Output
如果可以射到,先輸出一個a和一個空格,再輸出角度,單位為角度,保留到個位即可。
如果太遠無法到達,先輸出move和一個空格,再輸出最短移動距離,保留兩位小數,并保證移動后必須能夠射到目標。
如果太近無法射到,輸出-1。
注意:G值為9.8
Sample Input
10 10 5
556 25956 139
211 28944 74
446 22680 24824
Sample Output
a 39
a 28
move 24401.04
-1
斜拋運動
定義:
物體以一定的初速度斜向射出去,在空氣阻力可以忽略的情況下,物體所做的這類運動叫做斜拋運動。物體作勻變速曲線運動,它的運動軌跡是拋物線。
公式解析
斜拋運動能達到的最大高度公式:
在忽略空氣阻力的條件下,分解速度,則有:
其中Vo為拋出速度,θ為速度與水平面夾角,g為重力加速度
水平方向的速度是:
豎直方向的速度是:
水平方向的位移方程是:
豎直方向的位移方程是:
從公式??
可得當??
小球達到最高點所用時間為
所以小球運動時間為
小球能達到的最高點叫射高,從拋出點到落地點的水平位移叫射程
物體的水平射程是:
從上式可以看出,當時,度,有最大值,所以斜拋運動的傾角為45度時,射程最遠時,
有最大射程,最大射程是指初態與末態垂直位移為0的狀況下,而在落點低于拋點時,最佳初射角則為
h為初末垂直位移。
斜拋運動軌跡方程式:
三大常量:
射時T:
射高H:
射程R:
?
?
AC代碼:
#include<bits/stdc++.h> using namespace std; #define pi acos(-1) int main() {//freopen("test.in","r",stdin);//freopen("test.out","w",stdout);//ios::sync_with_stdio(0);int v,s,b;while(~scanf("%d%d%d",&v,&s,&b)){double v2=v*v;double max=(v2/9.8);//初速度與水平面的夾角為45度時,射程最大if(s<b)printf("-1\n");else if(s>max)printf("move %.2f\n",s-max);else{double x=asin(9.8*s/v2)/2;//初速度與水平面的夾角(弧度制)double ans=180*x/pi;//角度printf("a %.0f\n",ans);}}return 0; }?
總結
以上是生活随笔為你收集整理的调多大的角度 计算几何的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四点共面 计算几何
- 下一篇: Hihocoder 1370 快乐数字