水平投射計算機|落下時間・飛距離・衝突速度を無料で計算
高さ20 mの台から秒速15 mで水平に飛び出したボールは、約2秒後に地面に着きます。投げ出す高さと水平方向の速さを入れると、落下時間、到達距離、着地の速さと角度が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 高さ
- 20
- 水平速度
- 15
- 重力 g
- 9.80665
- 落下時間
- 2.0196199771
- 飛距離
- 30.2942996565
- 鉛直衝突速度
- 19.8057062485
水平投射とは、物体が地上のある高さから鉛直方向の初速度ゼロで水平に打ち出される運動です。重力が一定で空気抵抗がない場合、鉛直方向の運動は静止状態からの自由落下となり、水平方向の運動は等速で進みます。この2つの独立した成分によって、物体が空中にとどまる時間、衝突までに進む距離、衝突時の速さが完全に決まります。この計算機は、打ち上げ高さと水平速度(任意で重力の値)を入力として、落下時間、水平到達距離、衝突時の下向き鉛直速度、衝突速度の合計、水平面に対する衝突角度を返します。負の打ち上げ高さは、虚数の飛行時間を黙って生成するのではなく、明確なバリデーションエラーで拒否されます。
水平投射運動の解き方
空気抵抗がなく、下向きに一定の重力加速度gが働くニュートン運動学から始めます。打ち出しは純粋に水平なので、鉛直方向の初速度は厳密にゼロであり、初速度の成分はご入力いただく水平速度のみです。鉛直方向には、物体は静止状態から打ち上げ高さに等しい距離だけ落下します。
これは自由落下の古典的な関係、高さ=2分の1×g×tの2乗を与えます。時間について解くと、落下時間tは2×高さ÷gの平方根となります。この単一のスカラーが、打ち上げ点の下に水平な地面がある場合の飛行時間です。
水平方向には加速度がないため、飛距離は水平速度に同じ落下時間を掛けたものになります。衝突時には鉛直速度はg×tまで増加しており、これは2×g×高さの平方根にも等しく、水平速度は打ち上げ時の値のままです。衝突速度の合計はこれら2成分のユークリッドノルムであり、水平面に対する衝突角度は鉛直速度÷水平速度の2引数逆正接を度で表したものです。
高さは非負でなければなりません。負の高さは打ち上げ点を衝突面より下に置くことになるため、無効な入力として拒否されます。水平速度は大きさとして非負でなければなりません。
重力gは正の有限値で、省略時は標準重力9.80665 m/s²が適用されます。
水平投射計算機が実務で使われる場面
中等教育や大学の物理の授業では、水平投射の問題が絶えず出題されます。机から転がり落ちるボール、水平飛行中の飛行機から落とされる荷物、水平方向の速度だけで踏切板を離れる飛込選手などです。教員や自動採点システムは、落下時間・飛距離・衝突速度について信頼できる単一の基準を必要としており、クラス間で解答キーの一貫性が保たれます。
スポーツやコーチングの分析では、空気抵抗をまず基準として無視した上で、水平に放たれたボールやフリスビーがどこまで飛ぶかを推定し、その後で抗力モデルを追加します。安全・包装エンジニアは、既知の水平速度でコンベアや棚を離れる物体について、落下距離と衝突エネルギーの上限を求めます。
ゲーム開発者やシミュレーション制作者は、風・スピン・衝突応答を重ねる前に単純な運動学的投射体から始め、単体テスト用の閉形式の正解値を求めます。将来的に仰角のある斜方投射、鉛直方向のみの自由落下、空気抵抗のある軌道が必要になった場合は、この水平投射計算機のページを過負荷にするのではなく、別の検索意図とランディングページとして扱ってください。
活用例
宿題・試験の解答キー
机の端や崖からの投射という教科書の問題セットに対して落下時間・飛距離・衝突速度を生成し、教員と自動採点が単一の基準値を共有できるようにします。
スポーツ・コーチングの基準値
水平に放たれたボールがどこまで飛び、どの程度の強さで衝突するかを、抗力・スピン・バウンドのモデルを加える前に推定します。
落下安全と包装の上限評価
既知の高さと水平速度で棚やコンベアを離れる物体について、衝突速度と飛行時間の上限を求めます。
よくある質問
この水平投射計算機は何を前提としていますか?
水平な地面(または平坦な衝突面)、一定の重力、空気抵抗なし、鉛直方向の初速度ゼロを前提とします。運動は鉛直方向の自由落下と水平方向の等速運動に分離されます。
高さが負の場合はどうなりますか?
打ち上げ高さは衝突面より下にできません。符号または単位を修正して再度お試しください。
重力は変更できますか?
省略時は標準重力9.80665 m/s²が使用されます。高さと速度の単位はgと整合させてください。
料金はいくらですか?
ブラウザツールは無料でローカルに実行されます。無効な入力には課金されません。
水平方向の速さを変えると落下時間も変わりますか?
変わりません。落下時間は高さと重力だけで決まります。水平方向と鉛直方向の運動は独立しているため、速く投げるほど遠くに落ちますが、地面に着く時刻はそっと落とした物体と同じです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/horizontal-projectile \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"height":20,"horizontal_speed":15}'const res = await fetch("https://api.kit.forhosting.com/mech/horizontal-projectile", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"height": 20,
"horizontal_speed": 15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/horizontal-projectile",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"height": 20,
"horizontal_speed": 15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/horizontal-projectile", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"height":20,"horizontal_speed":15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"height":20,"horizontal_speed":15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/horizontal-projectile", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"height": 20,
"horizontal_speed": 15
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.horizontal_projectile",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
授業の練習問題、工学的な見積もり、自動テストのすべてが同一の純粋で同形な関数を共有しているため、無料のブラウザツールと有料APIが同じ数値で食い違うことはありません。
水平投射運動の解き方
この処理は決定的な浮動小数点演算であり、乱数シード、時刻、ネットワーク呼び出し、モデルのずれがないため、同じ入力からは常に同じJSONが得られます。
送信内容と返却内容
必要に応じて、月面や惑星、あるいは教科書の9.8といった値を使いたい場合は、gを正の重力の大きさとして任意送信できます。負の高さは「打ち上げ高さは地面より下にできません」というメッセージで失敗するため、クライアントは推測ではなく単位や符号を修正できます。教科書の古典的な確認例としては、地球の重力下で高さ20メートル・水平速度15メートル毎秒のケース、水平速度ゼロで飛距離がゼロかつ衝突が純粋に鉛直となる自由落下のケース、高さゼロで落下時間と飛距離がゼロかつ衝突速度が水平打ち出し速度に等しいケースがあります。heightには衝突面からの打ち上げ高さを非負の有限数で、horizontal_speedには水平方向の打ち出し速度を非負の有限数で送信します。必須フィールドの欠落、非数値の文字列、NaN、Infinityはinvalid_inputで失敗し、課金されません。成功時のレスポンスは、整形済みのheight、horizontal_speed、gを返した後、fall_time、range、vertical_impact_speed、impact_speed、impact_angle_degを返し、さらに単位のヒントオブジェクト、メソッドhorizontal_projectile、短い式の文字列が含まれます。成功したAPI呼び出しの料金は公開されている基本単価$0.002/件で、バリデーション失敗はプリペイド残高を消費しません。
水平投射計算機が実務で使われる場面
この機能は純粋なparseエンジンであるため、API料金は公開基本単価$0.002/成功件で、バリデーション失敗は残高を消費しません。
技術的な質問
impact_angle_degとは何ですか?
衝突の瞬間における速度ベクトルが水平面より下になす角度で、単位は度です。atan2(vertical_impact_speed, horizontal_speed)に相当します。純粋な落下は90°に近づき、純粋に水平なかすり飛行は0°に近づきます。