黄金比計算機
長さを入力すると黄金比で分けた2つの部分が分かります。100なら61.803399と38.196601になり、大きい方を小さい方で割るとおよそ1.618034です。ピクセルでもミリでも同じ単位で返ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 長さ
- 100
- メジャー
- 61.803399
- マイナー
- 38.196601
- 比
- 1.618034
- 大÷小
- 1.618034
黄金比(phi)とは、1.6180339887...という比のことです。 全体が大部分に対して、大部分が小部分に対するのとまったく同じ関係になる唯一の分割です。大部分、小部分、そして比そのものを、安定して再利用できるよう丸めてお返しします。黄金長方形、対数螺旋、レイアウトの比率の背後にある古典的な作図を、ブラウザから無料で実行することもできる1回の決定的な呼び出しにまとめたものです。
黄金比が実際に意味するもの
線分を、全体と大部分の比が大部分と小部分の比に等しくなるように切ると、得られる数はphi、およそ1.618034です。式で書くと (a + b) / a = a / b = phi であり、これを解くと無理数 (1 + sqrt(5)) / 2 が得られます。黄金比計算機はまさにこの分割を行います。
線分の全長を入力していただくと、長さをphiで割った大部分と、残りである小部分を返します。この関係は定義そのものなので、大部分を小部分で割ると常にphiになり、2つの部分は常にもとの長さに一致します。単位は何でも構いません(ピクセル、ミリメートル、ポイント、em)。
分割は純粋な比率であり、部分はお送りいただいたのと同じ単位で返ります。
計算の仕組み
近似探索や反復はありません。phiは倍精度で (1 + Math.sqrt(5)) / 2 として解析的に計算され、大部分は1回の除算、小部分は1回の減算です。その後、結果は小数第6位に丸められ、マシン間でバイト単位の安定した出力が保証されます。
丸めない浮動小数点除算はCPUによって最終ビットが異なることがあり、自動比較が不安定になるためです。
この分割が使われる場面
デザイナーは、比率がバランスよく見えるようにカラム、サイドバー、余白の寸法を決める際に黄金分割を用います。アーティストはキャンバス上に焦点を配置するために使い、建築家や職人は梁、パネル、ファサードの分割に用います。同じ比率は黄金長方形、フィボナッチ・タイル貼り、対数螺旋にも現れるため、この1つの計算は多くの幾何学的作図の最初の一歩となります。
数値計算の領域でも用途があります。一次元最適化のための黄金分割探索アルゴリズムは、各ステップで区間をちょうどこの係数で縮小するため、実装には与えられた区間の正確な分割が必要です。
活用例
レイアウトの幅を分割する
1440 pxのコンテンツ領域を、黄金比のメインカラムと小さなサイドバーに、正確なピクセル値で分割します。
構図に焦点を配置する
キャンバスの幅または高さを黄金比で切り、被写体が自然な分割線上に来るようにします。
黄金分割探索を実装する
各反復で正しいphiの比率になるよう、最適化区間の内部の分割点を取得します。
よくある質問
大部分とはどちらの部分ですか?
大部分は長さをphiで割った部分(全体の約61.8%)で、小部分は残り(約38.2%)です。2つを合わせると常に入力の長さに一致します。
どの単位に対応していますか?
すべての単位に対応しています。長さは単位のない数値なので、ピクセル、ミリメートル、ポイント、emのいずれも使え、部分は同じ単位で返ります。
結果は決定的ですか?
はい。 乱数、日付、ネットワーク呼び出しを使わない純粋な解析計算なので、同じ入力には常に同じ出力が返ります。
黄金比の値はいくつですか?
およそ1.618034です。1に5の平方根を足して2で割った値で、近似の探索ではなく式から直接計算し、小数点以下6桁に丸めています。
長さに0やマイナスの値を入れられますか?
入れられません。長さは正の数である必要があり、0や負の値、数字以外の文字は受け付けません。長さのない線分は黄金比で分けられないためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/golden-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"length":100}'const res = await fetch("https://api.kit.forhosting.com/math/golden-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"length": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/golden-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"length": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/golden-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"length":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"length":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/golden-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"length": 100
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.golden_ratio",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
このAPIは、任意の正の長さの線分を受け取り、その分割を返します。
黄金比が実際に意味するもの
エンドポイントは部分とあわせて両方の検算も返すため、利用者は結果を鵜呑みにするのではなく、作図を検証できます。
計算の仕組み
出力オブジェクトには、エコーされた長さ、大部分と小部分、比phiそのもの、派生比 major_over_minor、そして大部分+小部分に等しく入力を再現するはずの check_sum が含まれます。検証は厳格です。 長さは有限の正の数でなければならず、それ以外(ゼロ、負の値、欠落フィールド、非数値の文字列)は、該当フィールドを明示する invalid_input エラーで拒否され、課金はされません。
この分割が使われる場面
用途が何であれ、このエンドポイントは純粋関数です(同じ入力なら同じ出力、状態なし、ネットワークなし)。そのため、パイプライン、スプレッドシート、ビルドスクリプトから安全に呼び出せ、自動化する前にこのページのブラウザで無料でお試しいただけます。
技術的な質問
料金はいくらですか。
API経由では1リクエスト$0.002です。このページのブラウザ上では無料で実行できます。
phiの値は何を使っていますか。
phiは倍精度で (1 + sqrt(5)) / 2 として解析的に計算され、ratioフィールドに小数第6位まで丸めて報告されます。
長さがゼロや負の場合はどうなりますか。
lengthフィールドを明示する invalid_input エラーでリクエストは拒否されます。エラーには課金されません。