#P4710. 「物理」平抛运动

    ID: 3425 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 2 Uploaded By: Tags>Special JudgeO2优化洛谷月赛

「物理」平抛运动

题目描述

小 F 回到班上,面对自己 28 / 110 的物理,感觉非常凉凉。他准备从最基础的力学学起。

如图,一个可以视为质点的小球在点 A(x0,y0)A(x_0, y_0) 沿 xx 轴负方向以某速度抛出,无视除重力外的所有阻力,最后恰好以速度 vv 砸到 B(0,0)B(0, 0) 点。

A1

给定 vv 的大小与方向,你的任务是求出 (x0,y0)(x_0,y_0)

给定的速度单位为 ms1m \cdot s ^ {-1},重力加速度 g=10 (ms2)g = 10 \ (m \cdot s ^ {-2}),请输出以 mm 为单位的答案。

如果你没有学过相关内容也没有关系,你可以从样例和提示里理解该题所求内容。

输入格式

输入一行,为两个最多 66 位的小数 $v, \theta(1 \leq v \leq 100, 15 ^ \circ \leq \theta \leq 75 ^ \circ )$,即速度与图中所标角在弧度制下的大小。

输出格式

输出一行,两个最多 1515 位的小数 x0,y0x_0, y_0,为你的答案。

你的答案与参考答案的相对误差或者绝对误差小于 10310 ^ {-3} 即视为正确。

14.142136 0.785398
10 5

提示

样例解释

如图。

A2

$14.142136 \approx 10 \sqrt 2, 0.785398 \approx \frac \pi 4 = 45 ^ \circ .$

小球从 (10,5)(10, 5) 以速度 (10,0)(-10, 0) 抛出,即可在 t=1st = 1s 时以 (10,10)(-10, -10) 砸在 (0,0)(0, 0)

提示

如果你没有学习过相关内容,下面的内容可能有帮助:

zcy 教你学物理

首先,由于单位均为标准单位,所以所有结果均可以直接数字运算;视为质点意味着没有体积。

我们可以将小球速度分解,如图:

A3

其中水平方向上的速度 vxv_x 即为抛出速度,运动过程中一直为 vsinθv \sin \theta

垂直方向上的速度 vyv_y 受重力加速,由 00 变化至 vcosθv \cos \theta

从抛出时开始计时,当时间为 tt 时,设此时水平、垂直方向上速度的大小分别为 vxt,vytv_{xt}, v_{yt},水平、垂直方向上位移的大小分别为 xxt,xytx_{xt}, x_{yt},有:

vxt=vsinθv_{xt} = v \sin \theta

vyt=gtv_{yt} = gt

xxt=vxttx_{xt} = v_{xt}t

xyt=12gt2=12vyttx_{yt} = \frac 1 2 g t ^ 2 = \frac 1 2{v_{yt}t}

tt 恰好是落地时间时,xxt,xytx_{xt}, x_{yt} 即为答案。


关于弧度制:

π=180\pi = 180 ^{\circ}

也就是说:$\frac \pi 2 = 90 ^{\circ}, \frac \pi 3 = 60 ^{\circ}, \ \cdots $


关于三角函数:

如果你是 C/C++ 选手,你可以使用 math.h / cmath 里的 sin() cos() 进行计算;

如果你是 Pascal 选手,你可以使用 math 库(在 begin 前添加 uses math;)里的 sin() cos() 进行计算。

如果你是 Python 选手,你可以使用 math 库里的 math.sin() math.cos() 进行计算。

如果你是其他语言的选手,请参考相应文档。