みおはぴの毎日プログラミング

プログラミングの豆知識などを毎日19時にご紹介!!

ベクトルとは何? 初心者でも分かりやすく徹底解説 【 Processing 番外編 】

f:id:mioProcessing:20200323190553j:plain

 

 

こんにちはみおです!

 

今回は、Processing番外編という事で、実践編No.5にも出てきた”ベクトル”について徹底解説していきたいと思います。

 

 

まずProcessingって何?と思った方はこちらをご覧ください。

Processingとは一体なに⁈ 【 特徴とProcessingを使って出来る事 】 - Processingの基礎と応用

 

 

それでは早速やっていきましょう!

 

こんなに簡単!店舗向けホームページがすぐ始められる「グーペ」

 

 

 

ベクトルとは

ベクトルとは、「大きさと向きを持った量」の事です。

 

このような矢印をイメージしてみてください。

f:id:mioProcessing:20200323181753j:plain

ベクトル

 

スカラーとは

ベクトルに対して、向きを持たずに、大きさのみを持つ量を『 スカラー 』と呼びます。

 

 

ベクトルとスカラーの見分け方

では、どのような物がベクトルで、どのような物がスカラーなのでしょうか。

 

日常に使われる物で説明をしていきたいと思います。

 

  • スカラー : 重さ、距離、エネルギー、時間
  • ベクトル : 位置、速度、加速力、力、運動量

 

少し紛らわしいかもしれませんね。

 

これらの違いを見分けるポイントは、”矢印”として表現できるかどうかです。

 

例1 :

「1000km」という”距離”を考える = 大きさのみを持つスカラー

「東京と北海道間の1000km」という”位置”を考える = ベクトル

 

なぜ?

2つ目は、東京と北海道を結ぶ、向きと大きさを持った矢印で表せれるからです。

 

ムームードメイン

 

 

例2 :

スピードが「速い」「遅い」=スカラー(時間)

「時速100km」のようにある特定の時間内に移動する距離 = ベクトル(速度)

 

なぜ?

位置Aから位置Bまで移動して、矢印で表す事が出来るからです。

 

 

 

ベクトルとスカラーの違いについて、何となく分かってきましたか?

 

 

 

 

ベクトルの計算

ベクトルは足し算や引き算をする事が出来ます。

 

ベクトルの足し算

1つ目のベクトルの終端に、もう1つのベクトルを繋ぎます。

 

最初のベクトル(a)の始点と最後のベクトル(b)の終点を結んだベクトルが足し算の結果(a + b)となります。

f:id:mioProcessing:20200323183848j:plain

ベクトルの足し算

 

 

 

ベクトルの引き算

同じ位置の点から、2つのベクトルを描きます。

 

1つ目のベクトル(a)の終点と、2つ目のベクトル(b)の終点を結んだベクトルが引き算の結果(a-b)となります。

 

f:id:mioProcessing:20200323184344j:plain

ベクトルの引き算

 

ホームページ作成サービス「グーペ」

 

 

位置ベクトルと速度ベクトル

これまで、平面状での物体の位置を表現する際に、X座標とY座標を別々の値として扱ってきていました。

 

ですが、ベクトルを使用するとX座標とY座標の2つの値を、1つのベクトルとしてまとめられてしまいます。

 

 

なぜそのようになるんでしょか?

 

それは、平面での位置は、原点(0, 0)の点から自分自身の座標(x, y)へのベクトルとして表現できるので、そうなってしまうのです。

 

f:id:mioProcessing:20200323185018j:plain

ベクトルによる物体の位置の表現

 

 

また、画面上でのアニメーションは、現在のフレームと次のフレームとの差分の繰り返しによって生まれます。

 

つまり、1フレームという時間の区切りでの位置ベクトルの変化がアニメーションの最小単位となるのです。

 

位置ベクトルの変化も大きさと向きを持ったベクトルです。

 

これを”速度ベクトル”と言います。

f:id:mioProcessing:20200323185517j:plain

速度ベクトル

 

 

 

今日のまとめ

今回はベクトルについて解説していきました。

 

少し難しく感じてしまったかもしれませんが、実際にベクトルを使っていくと何となく分かってくると思います。

 

 

この記事が少しでも参考になれば良いかなと思います。

 

 

 

TwitterのDMとかにもどんどん質問募集しているので、分からない事があれば、ぜひ質問してください!

 

Twitter

みおはぴ🐰 @大学生プログラマー (@mio_Processing) | Twitter

 

 

という事で今回はこの辺で終わりにしたいと思います。

 

また次回も見てもらえると嬉しいです!

 

 

合わせて読みたい

今更聞けない?! エンジニアってどんな職業? 【 プログラミング 豆知識 】 - Processingの基礎と応用

プログラミング言語の種類 自分に一番あった言語を見つけよう! 【 プログラミング豆知識 】 - Processingの基礎と応用

入門編に出てきた単語一覧 No.2 〜 No.12 【 Processing 入門編 No.13 】 - Processingの基礎と応用