斜面で滑らないための静止摩擦係数計算
この斜面摩擦計算ツールは、斜面上の物体を静止させるために必要な最小の静止摩擦係数を求めます。水平面から測った傾斜角を度数で入力すると、その角度の正接からつり合い条件を計算します。結果は無次元です。斜面方向の重力成分と最大静止摩擦力を比較すると質量と重力加速度が相殺されるため、どちらも入力する必要はありません。乾燥摩擦を仮定した理想モデルで、材質の組み合わせが滑りを防げるか確認できます。
無料で実行
必要な係数が傾斜角の正接になる理由
斜面上の物体に働く重力は、計算上二つの成分に分けられます。斜面に平行で物体を下向きに動かそうとする成分は、傾斜角の正弦に比例します。斜面に垂直な成分は垂直抗力を生み、角度の余弦に比例します。静止摩擦力の最大値は、静止摩擦係数と垂直抗力の積です。滑り出す直前の限界では、利用できる最大静止摩擦力と斜面下向きの重力成分が等しくなります。平行成分を垂直抗力で割ると、物体の質量と重力加速度がどちらも相殺され、正弦を余弦で割った値、すなわち傾斜角の正接だけが残ります。そのため、このツールが示すのは任意の余裕を加えた設計値ではなく、理論上の境界値です。この単純化したモデルで物体を静止させるには、接触する二つの面の静止摩擦係数が結果以上でなければなりません。結果より小さい場合は重力が静止摩擦力を上回り、物体が滑り始めます。
傾斜角の入力方法と結果の読み方
水平面から上向きに測った角度を度数で入力してください。水平な面は0度であり、面に沿った重力成分がないため、必要な最小係数は0です。傾斜が急になるほど正接が大きくなり、動きを防ぐために必要な摩擦も増えます。中程度の角度では係数が1未満になることがありますが、垂直に近い斜面では極めて大きな値が必要です。入力できるのは0以上90度未満の角度です。負の値は受け付けません。このツールでは水平から上向きの傾斜を正としており、斜面を逆向きにする場合は負の入力を使うのではなく、下り方向の定義を変更する必要があるためです。90度も正接が有限にならず、理想的な接触モデルで有用な保持条件を示せないため除外されます。返された無次元の境界値を、対象となる二つの面について信頼できる静止摩擦係数と比較してください。両者が等しい状態は滑り出す直前なので、実際の設計では通常、数学的最小値を上回る適切な安全率を適用します。
前提条件、限界、実務での利用
この式は、均一な平面状の斜面に剛体が置かれ、重力、垂直抗力、乾燥静止摩擦力以外の外力がない状態を表します。接触が保たれ、摩擦を一つの係数で表せること、さらに物体が転倒、転がり、振動を起こさず、接着剤、固定具、ケーブル、機械的な止め具でも保持されていないことを仮定します。この理想条件では、質量が両方の力に掛かって相殺されるため、結果は質量に依存しません。ただし、実際の設備で質量が常に無関係という意味ではありません。変形、圧力によって特性が変わる材料、表面の汚れ、構造上の限界によって挙動が変化することがあります。実際の材質、表面仕上げ、湿度、温度、摩耗、向きに対応した静止摩擦データを測定するか、安全側に指定された値をご使用ください。滑り始めた後の面を表し、一般に小さい動摩擦係数で代用しないでください。安全上重要な保持用途では、この結果をつり合いの確認として扱い、該当する技術基準、試験方法、安全率に従ってください。API の料金は1回 $0.002 で、ブラウザーでは同じ決定論的な式を端末内で計算します。
活用例
傾斜した荷台上の箱を確認
傾斜した積載面で箱を静止させるために必要な最小静止摩擦係数を計算します。
表面材料の候補を比較
指定された傾斜角を境界値に変換し、ライナーやコーティングの静止摩擦試験データと比較します。
力学問題の答えを検算
理想的な斜面に平行および垂直な方向へ重力を分解して得たつり合い条件を確認します。
よくある質問
どの式で計算しますか?
最小静止摩擦係数を傾斜角の正接として求めます。式は mu_s,min = tan(theta) です。
物体の質量は結果に影響しますか?
この理想モデルでは影響しません。質量と重力加速度は斜面下向きの力と垂直抗力の両方に掛かるため、比を取ると相殺されます。
静止摩擦と動摩擦のどちらを使いますか?
動き始める前の限界を計算するため、静止摩擦のデータをご使用ください。動摩擦は滑り始めた後に適用されます。
負の角度を入力できないのはなぜですか?
入力は水平面より上向きの0以上の傾斜として定義されています。負の値は選択した方向を反転させるため、この定義の対象外です。
90度を入力できますか?
入力できません。90度では正接が有限にならず、垂直面をこの有限な境界値の式で評価できないためです。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/incline-friction-needed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"angle":30}'const res = await fetch("https://api.kit.forhosting.com/mech/incline-friction-needed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"angle": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/incline-friction-needed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"angle": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/incline-friction-needed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"angle":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"angle":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/incline-friction-needed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"angle": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.incline_friction_needed",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |