【P5.js】プログラミングと数学(物理)を使って遊んでみよう【初心者向け】【わかりやすさ重視】【JavaScript】
わかりやすさ重視でP5.js+数学・物理を扱っています。JavaScriptの基本を抑えたあとは、直交座標(X,Y)上でベクトル(2次元)を使って動かしたり、速度加速度、三角関数を使って実際に動かしながら数学物理を楽しく扱うことができます。
Description
2020年代に入り、
ますます重要といわれているのが『データ×AI』。
『データ×AI』を扱うにはどうしても『数学』が必要になります。
『数学』と聞くと苦手意識のある方が多い印象で、
個人的にも、
学生時代『数学』はとても苦手分野でした。
大人になり、子どもが生まれた事をきっかけに、
将来の子どもに教えられるようにと『プログラミング』と『数学』を交えて取り組んでみると、
当時の苦手意識が少しずつなくなり、どんどん楽しくなっていきました。
その経験を元にこの講座では、
×テストのための数学 ではなく、
〇将来につながる数学 であり、
×教科書のなかだけの数学 ではなく、
〇現実世界で活用できる数学 を目指し、
何よりも楽しんで、
『プログラミング』を使って
『数学(物理)を動かして遊んでみる』という事をメインに扱っています。
巷では、
『クリエイティブコーディング』や
『ジェネラティブアート』と呼ばれるジャンルかと思いますが、
より数学や物理の解説に焦点をあてています。
■英語の日本語フォロー
プログラミングはどうしても英語を使う機会が増え、
『P5.js』も日本語のマニュアルがなく英語での使用になるので、
グーグル翻訳なども活用し、できるだけ日本語に変換しての解説をしています。
専門用語もできるだけ使わず、
わかりやすさ重視で作っていますので、
英語が苦手な方にこそ見ていただけたらと思います。
■扱う言語
P5.js・・Processing(プロセッシング)のJavaScript版
変数・関数・配列・オブジェクト・クラス
講座の中盤でJavaScriptの『クラス』を説明後は、
頻繁に『クラス』を使ってコードを書いています。
実際に映像を動かしながらコードを書いていくうちに、
JavaScriptの『クラス』に慣れていくこともできるかなと思います。
■扱う内容
中学・高校で扱われている数学/物理の一部
あえて数A、数Ⅱといった区分けはしていません。
学校の教科書とは全く違う順番になっていますが、
学生時代数学や物理が苦手だった方にこそ、お手に取っていただけたらなと思っています。
座標系(直交座標/極座標)/マイナスの計算/ベクトル(2次元)/三角関数
絶対値/円周率/ラジアン/バラ曲線
力(速度・加速度・重力加速度・運動方程式・万有引力の法則)
角度(角速度・角加速度)/
パーリンノイズ/map/Processing->P5.jsへの読み替え方法
クリエイティブコーディグ
※振幅はAmplitudeで表しますが、
この講座では簡易的に解説するため、半径(radius)として扱っています。
要望あれば追加検討します・・・再帰(回帰)、フラクタル、群、パーティクル、指数/対数/ネイピア数、階乗、微分、漸化式、振り子、摩擦、ベクトルの内積・外積など
■扱わない事
シェーダー(より複雑な表現をするために必要な技術)
3D表現(クォータニオンなど)
ゲーム (参考ゲームの紹介はしています。)
数学・物理のしっかりした理論
(数学・物理に興味が出ればぜひ良質の参考書をお求めいただければと思います。)
What You Will Learn!
- プログラミング(P5Js)で数学や物理を扱う方法
- 数学:ベクトル(2次元)・三角関数・極座標など
- 物理:運動方程式・万有引力の法則など
- JavaScriptの文法(関数・配列・クラス)
- クリエイティブコーディング
Who Should Attend!
- 学校の先生
- 子どもを持つ親御さん(お子さんと一緒に取り組んでいただければ幸いです)
- 数学(物理)に苦手意識のある方
- 新しい趣味を持ちたい方(数学や物理×プログラミング)
- プログラミングで映像表現をやってみたい方