飛び石計算機
長さ20フィートの通路に中心間隔2フィートで並べると、飛び石は11枚、間は10か所になり、両端にも1枚ずつ置かれます。板石やコンクリート板を注文する前に枚数が分かり、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 光路長
- 20
- 間隔
- 2
- 区間
- 10
- ストーン
- 11
飛び石計算機は、庭園や屋外の通路の長さと、連続する石の中心間間隔を入力すると、発注前に必要な石の整数枚数を返します。総延長と線上の中心間間隔を入れると、間隔(石と石のすき間)、石の枚数(通路の両端を含む)、短い日本語メッセージ、材料リストやユニットテストに貼れる順序付きの代入手順が得られます。庭の小道を計画する住宅所有者、直線のパティオ石を拾い出す造園業者、ハードスケープ見積アプリの決定論フィクスチャを書く開発者はいずれも、表計算なしで長さを間隔で割った天井関数に両端の石を加えた同じ数え方が必要です。
通路長と間隔から飛び石を数える方法
正の通路長を持つ直線の通路は、中心間で測った石の間隔を目標幅とする区間に分割されます。区間数(連続する石のすき間)は通路長を間隔で割った値の天井であり、間隔のちょうど整数倍でない走査でも、両端に石を置いて全長を覆うのに十分な区間が割り当てられます。石の枚数は区間数プラス1です。
各区間には両端があり、隣接区間は石を共有するため、1区間なら2個、2区間なら3個、という具合です。通路長と間隔は同じ長さ単位(メートル同士、フィート同士)でなければならず、本計算機は単位換算を行わず無次元比だけを用います。通路長も正でなければならず、長さゼロの通路は散歩道ではありません。
応答は、この一本の直線セグメントの両端を超える端材・曲線分岐・踊り場を追加しません。分岐や踊り場は別呼び出しでモデルするか、幾何拾い出し後に枚数を調整してください。成功時は丸めた通路長と間隔を返し、intervals、stones、formula、message、steps を公開するので、手計算や自動テストで算術を監査できます。
最初の石を通路の始点、最後の石を終点に置き、中間の石は中心線に沿って1間隔ずつ進み、天井規則の下で全長が覆われるイメージです。
実務上のヒント、制限、関連検索
通路の想定中心線に沿ってクリアな延長を測り、歩幅の快適さと石の大きさに合う間隔を選んでください。2フィートや60センチはよくある目標ですが、同一単位の任意の正の通路長と間隔を受け付けます。最後の区間が不自然に短くなる場合は全体を短くする、間隔を少し詰めて割り切れやすくする、または天井規則を受け入れ最終歩をやや短くする、のいずれかを選べます。
本計算機は常に ceil で全長を覆います。枚数が非有限に溢れてソルバが拒否しないよう、公開された絶対範囲内に寸法を収めてください。
本ランディングは飛び石計算機、通路に必要な飛び石の数、散歩道の石間隔カウント、庭の石材料リストといった検索を対象とし、全面パティオ格子の舗装材面積ツール、敷砂体積見積、曲線弧長測量、GPS 座標に石を置く分岐ランドスケープ図ではありません。
通路長と目標の中心間間隔が既知で整数枚数だけが必要なときに本能力を使い、閉ループや分岐路なら直線セグメントごとに呼び、共有接合の石を二重計上しないよう合算してください。往復確認は簡単で、通路長を間隔で割った天井を手計算し、石に1を足して公開整数と一致すれば十分です。
活用例
庭の小道の材料リスト
住宅所有者が通路長と希望の石間隔を入力し、板石やコンクリートパッド購入前に飛び石の枚数を把握します。
よくある質問
間隔がゼロまたは負の場合は?
石の間隔は厳密に正でなければならず、ゼロや負では散歩道の区間を定義できません。
曲線路やパティオ格子に対応しますか?
いいえ。 一直線セグメントのみです。直線ごとに呼び出し共有接合の石を調整し、パティオ面積カバーは舗装材面積計算機を使ってください。
飛び石計算機は無料ですか?
ブラウザ版は無料でローカル実行です。失敗タスクは課金されません。
最後の間隔だけ短くなるときはどうしますか?
計算は常に通路の全長を覆うため、最後の一歩が少し短くなることがあります。気になる場合は、通路を少し短くするか、間隔をわずかに狭めて長さが割り切れやすいようにします。
飛び石の間隔はどれくらいにすればよいですか?
歩幅の心地よさと石の大きさに合う中心間隔を選びます。2フィートや60センチがよく使われますが、通路の長さと同じ単位なら正の値を自由に入力できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/home/stepping-stones \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"path_length":20,"spacing":2}'const res = await fetch("https://api.kit.forhosting.com/home/stepping-stones", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"path_length": 20,
"spacing": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/stepping-stones",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"path_length": 20,
"spacing": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/stepping-stones", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"path_length":20,"spacing":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"path_length":20,"spacing":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/stepping-stones", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"path_length": 20,
"spacing": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.stepping_stones",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
間隔がゼロまたは負の場合は無限の石を捏造せず invalid_input ではっきり拒否し、通路長が正でない場合も同様です。処理は純決定論の算術のみで、ネットワークも乱数シードも時計依存もなく、無料のブラウザ実行とプリペイド API は固定小数丸め後に毎回同じ JSON を返します。
通路長と間隔から飛び石を数える方法
間隔は厳密に正でなければならず、ゼロなら無限の石を意味し、負は線上に物理的意味がないため、いずれも invalid_input を返します。
API の呼び出し方と返却内容
厳格な有限数値パターンに合う文字列形式は受け付けますが、単位接尾辞・千桁区切り・空文字は拒否されます。成功時は intervals をすき間数、stones を intervals プラス1、formula を石と区間の式、message を短い日本語要約、steps を順序付き代入ログに設定します。クライアントを制御できる場合は書式付き文字列より数値送信を優先し、文字列が必要なときは有限数パターンを壊す単位接尾辞や千桁区切りを避けてください。JSON 本体に必須フィールドを2つ送ってください。path_length(別名 length, path, L, run, run_length, walkway_length)と spacing(別名 stone_spacing, space, gap, S, interval, step)です。通路長と間隔は公開された絶対範囲内の有限な正数でなければならず、Worker とブラウザの IEEE 倍精度で比と枚数が有限に保たれます。欠落フィールド、非有限数、ゼロまたは負の間隔、正でない通路長、絶対限界外の値など検証失敗は invalid_input を返し、課金されません。料金は成功リクエストごとに定額 $0.002、単位は item です。例:path_length が20で spacing が2なら割り切れ、区間10・石11;path_length が20で spacing が3なら天井が余りを覆い、区間7・石8で両端に石が残ります。
実務上のヒント、制限、関連検索
教材やテストでは、ちょうど割り切れる例(通路長20・間隔5→区間5・石6)と天井を試す非整数倍例を対にし、ゼロまたは負の間隔で invalid_input 経路を示します。invalid_input を返す失敗タスクはプリペイド残高を消費しないため、ゼロ間隔をわざと送ってエラー処理を確かめる探索スクリプトも安価です。
連携の活用例
直線区間の造園拾い出し
造園業者が設計通路長と中心間間隔を API に送り、石・区間・手順を透明な見積に添付します。
ハードスケープアプリ向け golden フィクスチャ
開発者が既知の割り切れ例・天井例と、意図的なゼロ間隔拒否を単体テストと CI 用に生成します。
技術的な質問
通路に飛び石は何個必要ですか?
両端に石を置く一直線の散歩道では stones = ceil(path_length / spacing) + 1 です。例:長さ 20・間隔 2 → 区間 10・石 11。
間隔の測り方は何ですか?
間隔は通路上の連続する石の中心間距離で、path_length と同じ単位です。本計算機は単位換算を行いません。