ベクトル計算機
平面ベクトルの2つの成分を入力すると、大きさ、向き、単位ベクトルが分かります。(3, 4)の大きさは5で、単位ベクトルは(0.6, 0.8)です。角度は必ず正しい象限に入り、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- X
- 3
- Y
- 4
- 大きさ
- 5
- 角度 (度)
- 53.1301023542
- 角度 (rad)
- 0.927295218
- 角度 (0〜360°)
- 53.1301023542
二次元ベクトルは、直交座標の二つの成分でも、長さと向きの組でも完全に表せます。このベクトル計算機はx成分とy成分を受け取り、xの二乗とyの二乗の和の平方根としてユークリッドの大きさを求め、二引数の逆正接atan2(y, x)で方向角を復元して正しい象限に向きを置きます。応答には対応する単位ベクトル、極形式の文字列、符号付き度数と零から三百六十度までの読みも含まれます。
2Dベクトル計算機が返すもの:長さ、向き、単位方向
平面では、ベクトルは原点から、座標が成分xとyである点へ向かう矢印です。この二つの数が矢印を完全に決めますが、学習者、技術者、ゲームのコードは別の組を欲しがることが多いです。矢印の長さと、どちらを向いているかです。
長さはユークリッドの大きさ、すなわちxとyの絶対値を直角を挟む辺とする直角三角形の斜辺で、rはxの二乗とyの二乗の和の平方根に等しいと書きます。向きは正のx軸から測った方向角で、角が正のときは反時計回りです。yをxで割った一引数の逆正接だけでは足りません。
反対の象限が潰れるうえ、xが零のときに失敗するからです。二引数の関数atan2(y, x)は両方の符号を見るので、第二象限のベクトルを第四象限と取り違えず、純粋に鉛直なベクトルは正または負の九十度を受け取ります。各成分を大きさで割ると単位ベクトル、つまり長さが一の同じ向きになり、照明、操舵、力の分解で使う方向余弦の対になります。
このページは三つの考えを一つの契約にまとめます。大きさ、符号付きと一周させた角、単位成分、r角シータ度の形の極形式文字列、象限または軸のラベルです。n次元配列だけを受け取る大きさ専用の道具や、atan2を先頭に据える方向角のページは、別の検索意図に答えます。
ここでの検索は一般のベクトル計算機です。成分を入れ、極形式を出します。
入力する値と計算のしかた
水平成分のxと、鉛直成分のyです。計算は短く、完全に決定的です。大きさはxとyのユークリッド斜辺です。
その長さが実質的に零なら、長さ零の変位はどこも指さず単位ベクトルを作れないため、要求は失敗します。そうでなければラジアンの角はatan2(y, x)で、度の形は百八十を円周率で掛け、第二の度欄は符号付き結果を零から三百六十までの半開区間へ巻き戻します。単位成分はxをrで割った値とyをrで割った値です。
例:xが三、yが四は古典的な三四五の直角三角形なので、大きさは五、向きはおよそ五十三点一三度、単位ベクトルは零点六と零点八です。例:xが負の五、yが十二は第二象限の五十二十三の直角三角形です。第三成分もなく、球面の一対の角もなく、成分そのものをフィートからメートルへ自動換算することもありません。
呼び出し側が共有の直交座標系を選びます。
学習、設計、試験でベクトル計算機が役立つ場面
教室がこの変換に出会うのは、極形式を導入する週です。教科書が力、変位、速度の成分を与え、正のx軸からの大きさと角を求めます。一回の呼び出しが両方の量と単位ベクトルを返すので、学習者は象限の符号を手でひっくり返すことなく、極形式の解答一覧を検算できます。
教員とLMSの著者は、零ベクトルと有限でない成分を拒否するフィクスチャをあらかじめ作れます。黙って零度を受け入れる必要はありません。ゲーム開発者とロボット趣味の方は、2D平面上の速度ベクトルや照準ベクトルの向きを復元します。
手作りの象限論理なしにatan2で変換すれば、左を向いているキャラクターが右向きと報告される古典的な不具合を避けられます。物理ノートは軸へ射影する前に、力を長さと向きへ分解します。検証の失敗は課金されず、応答のあと何も保存されません。
平面でないベクトルにはn次元の大きさ専用の道具を、向きだけが未知なら方向角のページを、結果をグラードや回転で示す必要があるなら角度換算器を、このページと組み合わせてください。
活用例
宿題の極形式の検算
教科書の成分を大きさ、方向角、単位ベクトルへ変換し、零ベクトルが偽の0°向きを捏造せずに失敗することを確認します。
ゲームの向きと照準ベクトル
vxとvyから速度または照準ベクトルの平面上の向きと単位方向を復元し、左、下、斜めの運動で正しい象限になります。
決定的な幾何フィクスチャ
atan2の端の場合を再実装せずに、単体試験、競技の検証器、CIのアサーション向けに再現可能な極形式の答えを生成します。
よくある質問
ベクトル計算機の料金はいくらですか?
このページのブラウザでは無料です。有限でない成分や零ベクトルなどの無効な入力は課金されません。
2Dベクトルの大きさと向きはどう求めますか?
大きさは r = √(x² + y²) です。向きは正のx軸からの θ = atan2(y, x) です。応答には度、ラジアン、[0, 360) の巻き戻し、単位ベクトル、極形式の文字列が含まれます。
零ベクトルはなぜ拒否されますか?
両成分が零のとき長さは零で、矢印はどこも指さないため、方向角と単位ベクトルは未定義です。
大きさ計算機や方向角計算機と同じですか?
違います。 大きさ計算機はn次元の長さに答えます。方向角の道具は向きだけを先頭に置きます。このベクトル計算機は二つの平面成分から極形式を返します。長さ、角、単位方向をまとめてです。
単位ベクトルはどう求めますか?
各成分を大きさで割ります。(3, 4)の大きさは5なので、単位ベクトルは(0.6, 0.8)です。向きは同じで、長さがちょうど1になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/vector \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":3,"y":4}'const res = await fetch("https://api.kit.forhosting.com/math/vector", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": 3,
"y": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/vector",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": 3,
"y": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/vector", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":3,"y":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":3,"y":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/vector", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"x": 3,
"y": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.vector",
"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で失敗し、零ベクトルは向きを持たないため拒否されます。
入力契約、公式、invalid_inputの意味
POSTでJSON本体を送り、必須の有限数を二つ指定します。各欄はJSONの数でも数値文字列でも構いません。正規名を省いたときは、別名vxとx_componentがxに対応し、別名vyとy_componentがyに対応します。欠落した欄、空文字、非数値の文章、NaN、Infinityは、失敗した欄を名指しするinvalid_inputで失敗し、その失敗は課金されません。
学習、設計、試験でベクトル計算機が役立つ場面
開発者はAPIを採点オラクルや継続的インテグレーションのアサーションへつなぎ、三と四のような既知の組を大きさ五に固定します。このページでは作業はすべてブラウザ内で進みます。APIでは成功した照会ごとに$0.002です。
技術的な質問
xまたはyが有限数でないとどうなりますか。
欠落した値、空文字、非数値の文章、NaN、Infinityは、欄を名指しするinvalid_inputで失敗します。それらの要求は課金されません。