提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
数学とは、数や図形などに関する学問である。 これはプログラミングするときには、数学はとても大切になる。
例えばアクションゲームでリアリティなジャンプができるのは数学を利用しているからである。
他にも跳ねるアニメーションやクルクル回りながら飛んでいく演出にも数学を使う。
つまり、リアリティな動きをするためには数学が大事である。
プログラミングで使う数学には、様々なものがある。
いろいろな難しそうな関数を使うこともあるが、Scratchは、すぐに答えを出してくれるので、そんなに難しいことはない。
Scratchで使用可能な数学関数
三角関数
- 三角関数メモ:
([sin v]\((この部分が引数)\)::operators)
三角関数の場合、引数には角度が代入される。- sin - サイン(正弦) これは、斜めの辺の長さ(a辺の長さ)を、縦の辺の長さ(b辺の長さ)で割ったものである。
- 返す値は、引数の値に代入されている角度のときのa辺とb辺の長さを計算したものである。
- cos - コサイン(余弦) これは、一番下の辺の長さ(c辺の長さ)を、斜めの辺の長さで割ったものである。
- tan - タンジェント(正接) これは、縦の辺の長さを一番に下の辺の長さで割ったものである。
- sin - サイン(正弦) これは、斜めの辺の長さ(a辺の長さ)を、縦の辺の長さ(b辺の長さ)で割ったものである。
- 逆三角関数メモ:逆三角関数を求めるときに引数にはいる値はasinならsin値、acosならcos値、atanならtan値が入る。
- asin - アークサイン これはあるsinになる角度を求める(sinの逆)ものである。
- acos - アークコサイン これはあるcosになる角度を求める(cosの逆)ものである。
- atan - アークタンジェント(逆正接) これはあるtanになる角度を求める(tanの逆)ものである。
指数と対数
([ v]\((ここをXとする)\)::operators)
- log - 常用対数 log10X のときの値。10を何回掛ければXになるかをあらわす。
- 10^ - 10の累乗 10x のときの値。10をx回掛ける。たとえば、103は、10*10*10ということである。
- e^ - ネイピア数の累乗 ex のときの値。ネイピア数は、およそ2.71828182846である。
- In - 自然対数 logeX のときの値。eネイピア数(
([e v]\((1)\::operators)
と同じ)。
その他
- 平方根 a=b*b のときのbの値。a=b2のときのbの数、√a=bのときのbの数とも言える。
- 切り上げ 少数であれば、少数を切り捨て、+1をする。
(([切り捨て v]\((少数)\)::operators) + (1))
と同じである(整数の場合は異なる)。 - 切り下げ 切り捨てと同じ。Scratchでは小数点以下が切り捨てられる(少数をすべてなくす)。たとえば、3.3333は、3となる。(3.
3333ということ) - 四捨五入 少数を四捨五入する。小数第一位が0,1,2,3,4ならば切り捨て、5,6,7,8,9なら切り上げをする。
- 絶対値 数値から+や-をとった値。たとえば-10は10、+10は10となる。
使用例
2点間の距離を出す
2点(x1,y1),(x2,y2)間の距離。これを使うと、円との当たり判定もできる。(円の半径より「中心からの距離」が小さければ、接触している)
三平方の定理(a^2+b^2=c^2)を利用している。
([ 平方根 v] \( ((((x2) - (x1)) * ((x2) - (x1))) + (((y2) - (y1)) * ((y2) - (y1)))) \) ::operators)
三角関数で回転する
ずっと x座標を((100)*([cos v](タイマー)::operators))、y座標を((100)*([sin v](タイマー)::operators))にする end
関連項目