クリスマスツリーの飾りとライト個数計算
飾り付けたツリーを準備する際は、勘ではなく説明できる数量から購入リストを作ると計画しやすくなります。この計算機は、装飾する段数で表したツリーの高さに、1段当たりの希望密度を掛け、整数の必要数を返します。控えめな装飾には低い密度、華やかな装飾には高い密度を設定してください。飾りとライトで密度が異なる場合は、別々に計算できます。結果は決定的ですぐに得られ、単発の準備にも毎年の調達手順にもご利用いただけます。
無料で実行
飾り付けのイメージを測定可能な入力にします
ツリーを、装飾する複数の段が重なったものとして扱います。高さには覆う段数を入力し、段ごとの密度には各段へ配置する飾りやライトの平均個数を指定します。この考え方は、枝の層が明確な人工ツリーにも、実用的な水平帯に分けた天然木にも使えます。実際に装飾する部分だけを数えてください。幹が見える部分、壁側の見えない面、トップ飾り専用の先端などは除外できます。その後、目指す見た目に合わせて密度を選びます。低い密度なら緑が多く見え、高い密度なら華やかで明るい印象になります。飾りとライトの密度が異なる場合は個別に計算すると、見積もりの説明、修正、再利用が容易です。
個数と切り上げ規則をご確認ください
計算機は高さと段ごとの密度を掛け、結果を次の整数へ切り上げます。飾りや光点は分割できないため、小数の必要量が出た場合も追加の1個が必要です。密度には0を指定でき、その場合は0個を返します。装飾しない品目を記録するときにも便利です。一方、高さは0より大きい有限の数でなければならず、密度に負の値は使えません。結果は計画用の数量であり、枝が支えられる正確な容量を示すものではありません。木の幅、枝の間隔、飾りの大きさ、ライトの間隔、見える面によって実際の使用量は変わります。比較するときは、段の定義を常に同じにしてください。
購入と設置に見積もりを活用します
返された個数は、指定した条件における整数単位の最低必要数としてお使いください。購入前に、手元の在庫と商品の入り数を確認します。飾りが箱単位で販売されている場合は、個数を1箱の入り数で割り、箱数も切り上げてください。ライトでは、密度が電球、LEDの光点、クリップのどれを意味するかを統一し、メーカーが示す間隔を使ってライト列の長さへ換算します。破損、点灯不良、直前の変更に備える予備分は、計算後に別枠で加えると基準値が明確に保たれます。ネットワーク、乱数、現在日時を使わないため、同じ入力からは常に同じ個数が得られます。
活用例
飾りの購入数を計画する
必要最低数を見積もり、店舗で販売される箱やセットの数へ換算できます。
照明の規模を決める
希望する密度から光点数を計算し、既知の間隔を持つライト列へ換算できます。
イベント装飾を標準化する
高さの異なるツリーへ一定の密度を適用し、会場の計画と購入基準を統一できます。
よくある質問
計算機は何を返しますか?
高さと段ごとの密度を掛けて求めた、飾りまたはライトの整数個数を1つ返します。
なぜ結果を切り上げるのですか?
装飾品は整数単位だからです。小数の必要量も、次の使用可能な1個で満たします。
1段は何を表しますか?
枝の1層または水平な装飾帯として定義し、比較するすべての計算で同じ定義をお使いください。
飾りとライトを一緒に計算できますか?
密度や単位が異なる場合は別々に計算すると、それぞれの購入数が明確になります。
密度を0にできますか?
はい。密度が0なら0個を返しますが、高さは正の数である必要があります。
API リクエストの料金はいくらですか?
API は1リクエスト $0.002 で、ブラウザー計算にはサーバー処理が不要です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/christmas-tree \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"height":8,"density_per_level":12.5}'const res = await fetch("https://api.kit.forhosting.com/date/christmas-tree", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"height": 8,
"density_per_level": 12.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/christmas-tree",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"height": 8,
"density_per_level": 12.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/christmas-tree", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"height":8,"density_per_level":12.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"height":8,"density_per_level":12.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/christmas-tree", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"height": 8,
"density_per_level": 12.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.christmas_tree",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |