浮くか沈むか計算機|物体と流体の密度を比較
この計算機は、物体の密度と周囲の流体の密度を比較し、結果を明確に判定します。2つの密度は、kg/m³やg/cm³など必ず同じ単位で入力してください。物体の密度が小さければ浮き、大きければ沈み、等しければ中性浮力になります。また、符号付きの密度差と、流体密度が0より大きい場合には密度比も表示されるため、判定根拠を確認できます。
無料で実行
密度から浮き沈みを予測します
浮くか沈むかは、物体の平均密度と周囲の流体密度との関係で決まります。物体の密度が小さい場合、完全に水没する前に自重と釣り合うだけの流体を押しのけられるため、計算機は`floats`と判定します。物体の密度が大きい場合、完全に水没しても支えるのに十分な流体を排除できず、`sinks`となります。2つの密度が厳密に等しければ中性浮力です。理想的な比較では、密度を原因として上昇も下降もしません。この判定だけであれば、質量、体積、重力加速度、個別に求めた浮力は式の中で相殺されるため、入力する必要はありません。空気を含む物体、中空構造、多孔質、複数素材からなる物体では、かさ密度を使用してください。例えば鋼鉄製の船でも、総質量を外形全体の排水体積で割った値が水の密度より小さければ浮きます。素材そのものの密度だけではなく、空洞を含む物体全体の平均値を使うことが重要です。
互換性のある密度値を入力します
2つの入力値には、必ず同じ密度単位を使用してください。kg/m³、g/cm³、lb/ft³など任意の単位を利用できますが、1回の計算内で単位を混在させることはできません。数値の比較が単位の選択に左右されないのは、両方の単位が一致している場合だけです。例えば室温付近の水は、およそ1000 kg/m³または1 g/cm³と表せます。どちらも同じ密度ですが、1000と1をそのまま比較することはできません。計算機は入力値を保持し、物体密度から流体密度を引いた差を返します。流体密度が正なら密度比も返します。差が負、または比が1未満なら`floats`、差が正、または比が1を超えれば`sinks`、差が0で比が1なら`neutrally_buoyant`です。密度は負にならないため、負の入力は誤解を招く判定をせずエラーになります。0は数学上の境界値として受け付けますが、密度0の流体は通常の液体や気体ではなく理想化された条件です。
判定の前提条件を確認します
結果はかさ密度に基づく理想的な予測であり、現実に働くすべての力を再現するシミュレーションではありません。表面張力により、本来なら沈むほど密度が高い小さな物体が支えられることがあります。また、付着した気泡や姿勢の変化は、実際の排水体積を変化させます。圧縮可能な物体や気体の密度は圧力で変わり、流体密度も温度、塩分、組成によって変化します。運動も重要です。揚力、抗力、波、外部からの押す力により、静的判定とは逆方向へ一時的に移動する場合があります。実用的な判断には、対象条件での物体と流体を正しく表す密度を選んでください。中空または層状の物体では、総質量を外形全体の体積で割ってかさ密度を見積もります。混合流体には、単一成分の値ではなく混合物として測定または計算した密度を使用します。中性浮力は丸めや測定誤差の影響を特に受けやすく、表示上は同じ値でもゆっくり上昇または沈降することがあります。安全性や設計公差、実験精度が重要な場合は、この判定を基準とし、こうした影響も考慮してください。
活用例
水中で素材を確認します
試料のかさ密度と水の密度を比較し、浮くか沈むかを事前に予測できます。
授業の実験を計画します
物体を液体に入れる前に結果を予測し、理想モデルと実際の観察結果を比較できます。
中性浮力を評価します
物体の平均密度が流体密度と一致するか確認し、2つの値の差を把握できます。
よくある質問
物体が浮くか沈むかは何で決まりますか?
平均密度が流体より小さければ浮き、大きければ沈みます。密度が等しい場合は中性浮力です。
2つの密度は同じ単位で入力する必要がありますか?
はい。単位の種類は問いませんが、正しく比較するにはobject_densityとfluid_densityを同じ単位にしてください。
密度が等しい場合はどうなりますか?
判定はneutrally_buoyantです。理想モデルでは、密度によって上昇または沈降する傾向がありません。
負の密度を入力できますか?
いいえ。負の密度はこの計算機の物理モデルの範囲外であるため、無効な入力としてエラーになります。
実験結果が計算と異なることがあるのはなぜですか?
表面張力、気泡、運動、温度、圧力、姿勢、かさ密度の測定誤差などが実際の挙動に影響するためです。
APIによる計算の料金はいくらですか?
APIリクエスト1回の料金は$0.002です。このページではブラウザー上の計算機も直接利用できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/float-or-sink \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"object_density":750,"fluid_density":1000}'const res = await fetch("https://api.kit.forhosting.com/mech/float-or-sink", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"object_density": 750,
"fluid_density": 1000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/float-or-sink",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"object_density": 750,
"fluid_density": 1000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/float-or-sink", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"object_density":750,"fluid_density":1000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"object_density":750,"fluid_density":1000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/float-or-sink", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"object_density": 750,
"fluid_density": 1000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.float_or_sink",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |