運転者の反応距離計算
反応距離とは、運転者が危険を認知してからブレーキ操作が始まるまでに車両が進む距離です。この計算ツールは、時速キロメートルを秒速メートルへ換算し、秒単位の反応時間を掛けて、結果をメートルとフィートで示します。停止距離のうち人の反応に相当する部分だけを扱うため、交通安全教育、運転指導、初期検討、条件比較に役立ちます。制動距離、路面の摩擦、停止距離全体は推定しません。
無料で実行
反応距離の計算方法
走行中の車両は、運転者が危険を認知してからブレーキが効き始めるまでの間も前進します。そのため、単位をそろえたうえで、速度に反応時間を掛けると反応距離を求められます。まず、時速キロメートルの速度を 3.6 で割り、秒速メートルへ変換します。次に、その値へ秒単位の反応時間を掛けます。たとえば時速 90 キロメートルは秒速 25 メートルです。反応時間が 1.5 秒なら、制動開始前に 37.5 メートル進みます。結果はフィートにも換算されます。このモデルでは、反応中の速度が一定であると仮定します。制動距離は加算しないため、停止に必要な全距離として扱わないでください。ブラウザー版と API 版は同じ純粋関数を使用し、通信、乱数、現在時刻には依存しません。
入力値の選び方と結果の読み方
反応区間の直前における車速を時速キロメートルで入力し、危険の認知から制動開始までの時間を秒で入力してください。両方とも 0 は使用できますが、負数、未入力、数値でない値、有限でない値は受け付けません。車速が 0 なら車両は静止しているため距離は 0 です。反応時間が 0 の場合も、数式上は直ちに制動が始まるため 0 になります。実際の反応時間は、注意、視界、予測、疲労、能力低下、年齢、測定方法などで変わります。本ツールが一律の標準値を選ぶことはありません。授業、規程、研究、記録、対象シナリオで根拠のある値を使用し、不確実な場合は複数条件を比較してください。秒速表示により換算過程を確認でき、メートルとフィートの結果は報告に利用できます。特定の運転者が何を認知したかを断定するものではありません。成功した API リクエストは1件あたり $0.002 です。
反応距離・制動距離・停止距離の違い
反応距離は制動が始まる地点で終わります。制動距離はその地点から停止まで続き、一般に両者の合計を停止距離と呼びます。この区別により、よくある混同を防げます。速度は制動前の移動距離へ直接影響しますが、制動後はタイヤ、ブレーキ性能、勾配、摩擦、天候、制動力の立ち上がりにも左右されます。本機能が速度と時間から計算するのは、意図的に制動前の部分だけです。衝突を予測したり、事故を再現したりするものではありません。法的判断や安全上の判断に用いる場合は、実測、工学モデル、地域の基準、専門家の分析に代えることはできません。一方、条件を管理した比較には適しています。時間を固定すれば速度の影響を、速度を固定すれば反応の遅れによる影響を示せます。範囲が明確なため、授業、運転者教育、車両管理の説明、予備的な比較表で、再現しやすく説明可能な結果を得られます。
活用例
交通安全教育
速度と想定反応時間を変え、制動開始前に車両が進む距離を示します。
運転指導用シナリオ
認知・反応による移動と、その後の制動段階を分けた例を作成します。
事故条件の予備比較
専門的な制動解析や事故再現を行う前に、再現可能な反応距離条件を作成します。
よくある質問
運転者の反応距離とは何ですか?
危険を認知してから制動が始まるまでに車両が進む距離です。
どの式を使いますか?
メートル単位の距離 =(km/h 単位の速度 ÷ 3.6)× 秒単位の反応時間です。
反応距離は停止距離と同じですか?
異なります。停止距離全体には、制動開始後に進む距離も含まれます。
標準の反応時間が自動的に選ばれますか?
選ばれません。実際の反応は変動するため、根拠資料やシナリオに適した時間をご入力ください。
API の料金はいくらですか?
成功した API リクエストは1件あたり $0.002 です。ブラウザーでの計算は無料です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/travel/reaction-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed_kmh":90,"reaction_time_seconds":1.5}'const res = await fetch("https://api.kit.forhosting.com/travel/reaction-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed_kmh": 90,
"reaction_time_seconds": 1.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/reaction-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed_kmh": 90,
"reaction_time_seconds": 1.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/reaction-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed_kmh":90,"reaction_time_seconds":1.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed_kmh":90,"reaction_time_seconds":1.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/reaction-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"speed_kmh": 90,
"reaction_time_seconds": 1.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.reaction_distance",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |