数学

【極座標】とは【直交座標】との違いや変換方法についてまとめてみた

2020/6/9 追記
極座標も扱ったプログラミング講座をリリースしました。

『座標』と言ったらほとんどの人が、

座標お兄さん
あぁ、縦と横に線を引くやつでしょ?

っと思いがちで、

確かに『スクラッチ』でも縦横でつくるようになっているんですが。


実は『座標』は、縦と横の線だけではなくて、

『距離』と『角度』で表現する『座標』もあるんです。

それが、『極座標(きょくざひょう)』

一般の生活ではなかなか触れる機会がなかったのですが、

『プログラム』をやるにつれ必要になってきたので、

まるっとまとめてみることにしました。

Sponsored link

極座標とは 直交座標系との違い

一般的な『座標』は、
『直交座標系(ちょっこうざひょうけい)』『デカルト座標』とも呼ばれる『座標』になります。

  • 横軸を $$ x $$
  • 縦軸を $ y $

とすることが多いかなと思います。

一方『極座標(きょくざひょう)』は、
『距離』と『角度』で物体の位置を表すことができる『座標』になります。

  • 距離を$$ r $$ (アール)
  • 角度を$$ \varphi $$(ファイ)

で書くことが多いようです。

アオキ
距離は英語でrange(レンジ)、半径としたらradius(ラディウス)どちらかの略だろうけど、なぜにシータじゃなくてファイなんだろか・・

と思ったりもするんですが、よくよく見てみると、

直線の周りをぐるっと一周しているようにみえなくもないかなぁと思いつつ、

大人の余裕でさらっと流すことにしておきます。

極座標のメリット らせんを書いたり 中心からの距離で表現したり

『極座標』を使ったグラフで面白い画像があったので紹介します。

カリフォルニア州やボストンなどの都市部の高速道路が向いている方向を抽出し、
『極座標』で表現されています。

世界各都市の道路が向いている方角が可視化されたグラフを比べてみると何がわかるのか?

また、
色彩でおなじみの『HSL』も『極座標』で描かれています。

HSL色空間

『HSL』の参考記事

音に関連する周波数を描いたグラフもありました。

音楽と数学(極座標)

角度を変えながら描画するのは、縦横のグラフでは表現できない形かなと思います。

アオキ
そういえば『エクセル』でも円グラフありました。仕事で時々使ったりしてましたね。
Sponsored link

座標で知っておきたい『単位ベクトル』

『数学』でも『物理』でも、

『座標』で『ベクトル』を表現することがあります。

  • ベクトル・・複数の値の組み合わせ。(xとyなど)

『ベクトル』の参考記事

『ベクトル』にはいくつか名称がありますが、

長さ1のベクトルを特に『単位ベクトル』と言います。

『X軸』の『単位ベクトル』を『$$e_x$$』として、
『Y軸』の『単位ベクトル』を『$$e_y$$』とすると、

$$ e_x = e_y = 1 $$

となります。

『極座標』にも『単位ベクトル』があって、

『r方向』の『単位ベクトル』を『$$e_r$$』として、
『φ(ファイ)』で動く方向の『単位ベクトル』を『$$e_\varphi$$』とすると、

$$ e_r = e_\varphi = 1 $$

になります。

また、$$e_r$$$$ e_\varphi $$ は常に垂直の方向を向いているようです。

アオキ
垂直ってところでなんで?っと思いがちなんですが、ひもをつけてグイッ、グイッ、とひっぱってるのを想像したらなんとなくスッキリした感があります。

極座標から直交座標に変換してみる

『プログラム』の中には『極座標』で考えられているものがあって、

『極座標』から『直交座標系』に変換する作業が発生します。

変換する方法はというと、

まずは『極座標』と『直交座標系』を合わせます。

よくよく見れば、三角形が見えてくると思います。

三角形といえば『三角関数』の出番ですね。

『三角関数』の関連記事

単位ベクトルで見ると、

$$ e_x = e_y = e_r = e_\varphi = 1 $$

になるので、半径1の円が描けるのもポイントかなと思います。

$$e_r$$で考えると、

角度$$ \varphi $$と直角の三角形とみなせば、

横軸のピンクの線が$$\cos\varphi $$になって、
縦軸の緑の線が$$\sin\varphi $$になります。

$$e_r = (\cos\varphi e_x, \sin\varphi e_y$$)

になります。

また、別の書き方として、

三角形の1辺を『$$r$$』とするとこう計算できるので、

ちょっと形を変えると、

$$e_r $$$$x = r \times \cosθ$$

$$e_r $$$$y = r \times \sinθ$$

とも書けます。

これをプログラミングでも組み込めばOKということになります。

アオキ
『三角関数』実はいろんなところで活躍してますな・・考えたヒッパルコスさんすごい。。
Sponsored link

極座標を直交座標に変換するプログラム

せっかくなので簡単なプログラムを書いてみます。

遊ぶようにプログラムできる『P5.js(ProcessingのJavaScript版)』だとこんな感じになります。

See the Pen
p5.js sin-test-3d
by aoki_monpro (@suica)
on CodePen.

コードはこんな感じ。

let r;
let theta;

function setup() {
  createCanvas(200, 200);
  r = 50;
  theta = 0;
}

function draw() {
  background(0);

  //中心に移動
  translate(width / 2, height / 2);

  // ここで極座標->直交座標に変換
  let x = r * cos(theta);
  let y = r * sin(theta);

  ellipseMode(CENTER);
  noStroke();
  fill(200);
  ellipse(x, y, 20, 20);

  theta += 0.1;
}

もちろんメインはこの部分。

  // ここで極座標->直交座標に変換
  let x = r * cos(theta);
  let y = r * sin(theta);

この形で計算できているのがわかるかと思います。
$$x = r \times \cosθ$$
$$y = r \times \sinθ$$

また、『極座標』→『直交座標系』に変換する前提で作られている
『バラ曲線』というものもあります。

『極座標』→『直交座標系』に変換する参考記事

アオキ
使いこなせるようになれば、うまいこと回転させながら面白い映像がつくれそうですな。

極座標についてまとめてみて

XとYの軸ではなくて、

距離と角度で表現する『極座標』だからこそ表現しやすい事もあるようで、

調べつつ徐々に追加していきたいなと思います。

『数学・物理』関係ではこんな記事も読まれています。

1. 【P5.js】初心者向けの動画をリリースしました(プログラミング×数学物理)【Udemy】

2. 【ベクトル】をわかりやすくするコツ〜『ベクトル』はただの数値の組み合わせです(4)【P5.js】

3. プログラムで数学も身につく 一石四鳥なクリエイティブコーディング

4. 【三角関数】の使い方〜わかりやすさ重視でまとめてみた【動画あり】

5. 【ラジアン】とは わかりやすくまとめてみた【初心者向け】

6. 【図解】波の用語や動きをプログラムも交えてまとめてみる【数学&物理】

7. 【微分】とは わかりやすくまとめてみた〜めっちゃすごいわり算【初心者向け】

8. 【シグマ(∑)】計算をわかりやすくまとめてみた【エクセルのsum】【初心者向け】

9. 【極座標 】とは【直交座標 】との違いや変換方法についてまとめてみた

10. 【虚数】【複素数】とは わかりやすくまとめてみた【初心者向け】

11. 【指数】とは わかりやすくまとめてみた【初心者向け】

12. 【対数】とは わかりやすくまとめてみた【初心者向け】

13. 順列・組み合わせ・階乗とは わかりやすくまとめてみた【数学】

14. 【確率(加法定理)】とは わかりやすくまとめてみた【初心者向け】

15. 【ベクトル場】と【速度ベクトル】とは わかりやすく【ドラクエのすべる床】

↓ ここから下は物理関連

1. プログラムで【加速度】をわかりやすくするために実際に動かしてみる(5)【P5.js】

2. 【流体力学】とは 圧力・密度・浮力をまとめてみた【初心者向け】

↓ ここから下はちょいムズカシイ

1. 【ネイピア数】とは わかりやすくまとめてみた【自然対数の底(e)】

2. 【ベクトル解析 勾配(grad)】わかりやすくまとめてみた

3. 【ベクトル解析 発散(div)】わかりやすくまとめてみた

4. 【テイラー展開】をわかりやすくまとめてみた【おすすめ動画あり】

アオキ
ツイッターでも記事ネタ含めちょろちょろ書いていくので、よろしければぜひフォローお願いしますm(_ _ )m

アオキのツイッターアカウント


関連記事一覧 (一部広告あり)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

アーカイブ

  1. オンライン教材

    【AWS】【初心者向け】インフラの基礎からわかる講座をリリースしました【Udem…
  2. オンライン教材

    【ChatGPT】エンジニア編をリリースしました
  3. バックエンド

    【Laravel第4弾】Vue.js3(CompositionAPI+Scrip…
  4. オンライン教材

    【React】初心者向け講座をリリースしました【MUI】【Udemy】
  5. 生成AI

    Dify講座をリリースしました【非エンジニア向け】
PAGE TOP
Ads Blocker Image Powered by Code Help Pro

広告ブロックを摘出しました!!

ブラウザ拡張を使用して広告をブロックしていることが摘出されました。

ブラウザの広告ブロッカーの機能を無効にするか、
当サイトのドメインをホワイトリストに追加し、「更新」をクリックして下さい。

あなたが広告をブロックする権利があるように、
当方も広告をブロックしている人にコンテンツを提供しない権利と自由があります。

Powered By
100% Free SEO Tools - Tool Kits PRO