相似変換計算機
相似変換で点がどこへ移るかが分かります。点(4, 2)を原点を中心に比率2で拡大すると(8, 4)になります。中心も比率も自由に選べ、負の比率なら点は中心の反対側に移ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- X
- 4
- Y
- 2
- Cx
- 0
- Cy
- 0
- K
- 2
- 像 (x)
- 8
- 像 (y)
- 4
- Dx
- 4
- Dy
- 2
相似変換(ホモセティ)は、拡大縮小または中心相似とも呼ばれ、平面上の各点 P を、固定中心 C から P を通る半直線上に、実数の比 k でスケールした像 P ダッシュへ写します。定義となるベクトル恒等式は、P ダッシュが C に、C から P へのベクトルの k 倍を加えたもの、という形であり、中心からの距離は k の絶対値で倍加され、中心における角は保たれます。学習者は相似図形・中間線の定理・スパイラル相似を学ぶときにこの写像に出会い、設計者は正の k でアンカーまわりに図形を拡大・縮小し、負の k では中心を通って反転しながら拡大縮小する反対相似になります。
平面相似変換が行うことと像の計算方法
中心 C が座標 cx, cy の点で比が k である平面相似変換は、座標 x, y の各点 P を、ベクトル公式「P ダッシュは C に括弧開き P マイナス C 括弧閉じの k 倍を加えたもの」で定義される像 P ダッシュへ送る一意の写像です。k が 1 のとき写像は恒等写像で、像は元の点と一致します。
k が 0 のときすべての点は中心に潰れるため、像は常に C です。k が 0 と 1 の間にあるとき、図形は同じ半直線上に留まりつつ C に向かって縮小します。k が 1 より大きいとき、図形は C から離れて拡大します。
k が負のとき、像は C を通る反対側の半直線上にあり、写像は k の絶対値で拡大縮小しつつ中心で反転する反対相似になります。古典的な k がマイナス 1 の場合は中心対称(点対称、または C まわりの半回転)です。相似変換は中心における角を保ち、C から測った距離をすべて k の絶対値で倍加するため、拡大縮小で構成した相似図形は同じ形を保ちます。
平行線は平行のまま、円は円へ、線分は長さが絶対値 k でスケールした線分へ写ります。
活用例
教室での拡大縮小チェック
学習者に点・中心・比 k を入力させ、教科書の恒等式 P′ = C + k(P − C) と像座標を照合できるようにします。
試験と LMS の自動採点
非数値の比を拒否し、小数 12 桁で安定した像座標を返す決定論的オラクルで相似変換の設問を採点します。
CAD・ゲーム・SVG のアンカー
スクリプトやエッジワーカーで任意アンカーまわりに設計点を拡大縮小し、クライアントごとに拡大式を書き直す必要をなくします。
よくある質問
相似変換のもとで点の像をどう計算しますか?
点の有限数 x, y、中心の cx, cy、比の k を送ってください。
中心は原点でなければなりませんか?
いいえ。 任意の有限中心 (cx, cy) で構いません。式は常にその中心に相対して拡大縮小し、cx と cy を 0 にしない限り座標原点基準にはなりません。
比率が負のときはどうなりますか?
像は中心の反対側に移り、比率の大きさだけ拡大・縮小されます。比率−1は点対称で、原点を中心にすると点(2, 0)は(−2, 0)に移ります。
比率が0や1のときはどうなりますか?
比率1では、すべての点がそのままの位置にとどまります。比率0では、すべての点が中心に集まるので、像は常に中心そのものになります。
相似変換で保たれる性質は何ですか?
角度は変わらず、平行な直線は平行のまま、円は円に移ります。中心からの距離はすべて比率の絶対値倍になるため、図形は相似のまま保たれます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geom/homothety \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":4,"y":2,"cx":0,"cy":0,"k":2}'const res = await fetch("https://api.kit.forhosting.com/geom/homothety", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": 4,
"y": 2,
"cx": 0,
"cy": 0,
"k": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/homothety",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": 4,
"y": 2,
"cx": 0,
"cy": 0,
"k": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/homothety", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":4,"y":2,"cx":0,"cy":0,"k":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":4,"y":2,"cx":0,"cy":0,"k":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/homothety", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"x": 4,
"y": 2,
"cx": 0,
"cy": 0,
"k": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.homothety",
"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 で明確に失敗します。
平面相似変換が行うことと像の計算方法
成分に展開すると image_x は cx に括弧開き x マイナス cx 括弧閉じの k 倍を加えたもの、image_y は cy に括弧開き y マイナス cy 括弧閉じの k 倍を加えたものになります。
入力契約・応答フィールド・エラー挙動
例:点 4,2、中心 0,0、比 2 は、変位ベクトルが 4,2 であり原点から倍にすると 8,4 になるため、像 8,4 を得ます。原点以外の中心の例:点 5,1、中心 1,1、比 3 は、変位が 4,0、3 倍で 12,0、中心に加えて 13,1 となるため像 13,1 です。負の比の例:点 2,0、中心 0,0、比マイナス 1 は点の中心対称である像マイナス 2,0 です。半直線とスケールした線分のスケッチが必要な場合は、ご自身の描画コードと応答を組み合わせてください。拡大縮小する点の x と y、相似中心の cx と cy、比の k という 5 つの必須の有限数を含む JSON 本体を POST してください。各フィールドは JSON 数値でも数値文字列でも構いません。空文字列、欠落キー、非数値テキスト、NaN や Infinity などの非有限値は、該当フィールド名付きの invalid_input で失敗します。中間積を Worker 上で有限に保つため、絶対値が 1 兆を超える値は拒否されます。成功時、本体は x, y, cx, cy, k をエコーし、拡大後の座標として image_x と image_y を報告し、スケール前の中心から元の点への変位として dx と dy を含め、method を homothety_dilation に設定し、ベクトル恒等式を再述する短い formula 文字列を付けます。無効な比の例:k に文字列 not-a-number を送ると invalid_input で失敗し課金されません。本エンドポイントは座標のみを返し、formula フィールドを超えるプロットや段階的な説明文は出しません。
相似変換 API が役立つ場面
教室やチュータリング基盤では、学習者が任意の中心と比について像座標を確認できるよう相似変換計算機を使い、手計算で k 倍括弧開き x マイナス cx 括弧閉じを展開するときの符号ミスを避けます。試験生成器には、非数値の比を誤りとして扱い、黙ってスケール係数を捏造しない決定論的オラクルが必要です。検証失敗は残高を消費しません。CAD プラグイン、ゲームエディタ、SVG ツールは、図形をアンカー基準で配置してからそのアンカーまわりに拡大縮小することが多く、小さな parse API を呼ぶことで同じ 5 数値の式をホスト言語ごとに再実装せずに済みます。実装は純粋 parse のティア A のため、成功した各呼び出しはモデルトークンも外向きネットワークもなく公開の基本料金 $0.002 です。リクエストを小さく保ち、テストで丸めた像座標を固定すれば、宿題・LMS プラグイン・エッジワーカー向けに再現可能な拡大縮小が得られ、自前の完全な計算機代数やグラフィックス基盤を立てる必要はありません。
技術的な質問
比 k は何を意味しますか?
k は中心からのベクトルを倍加します。|k|>1 は拡大、0<|k|<1 は縮小、k<0 は反対相似(中心を通る)、k=1 は恒等、k=0 はすべての点を中心へ写します。
比が非数値のときはどうなりますか?
タスクは invalid_input で失敗します。比 k は有限数(JSON 数値または数値文字列)である必要があり、not-a-number のような文字列は拒否され課金されません。
相似変換計算機の料金はいくらですか?
ブラウザツールは無料です。API リクエストは成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効入力は課金されません。