スクラッチプログラミング - sin サイン・cos コサインのつかいかた
Scratch の sin サイン・cos コサインをつかって、キャラクターをぐるぐる、ゆらゆらうごかしてみましょう。sin や cos のブロックをつかったことがなくてもわかりやすいように、たくさんのサンプルをのせて解説(かいせつ)します。

sin サイン・cos コサインをつかってみよう
この記事(きじ)では、Scratch (スクラッチ)の演算(えんざん)ブロックである ()のsin
と ()のcos
のつかいかたを紹介(しょうかい)します。
()のsin
や ()のcos
をつかうと、次(つぎ)のようなうごきをつくることができます。
- ぐるぐるとまわす
- 波(なみ)の形(かたち)をつくる
- なめらかにうごかす
いろいろなスクリプトの例(れい)をみながら、sin サインと cos コサインについて一緒(いっしょに)まなびましょう!
サンプルプロジェクト
下(した)にあるのは、()のsin
・()のcos
をつかったサンプルプロジェクトです。星(ほし)、船(ふね)、波(なみ)、フグは、sin サインと cos コサインのブロックでうごかしています。

sin・cos の説明(せつめい)
ブロックをつかう前(まえ)に、sin サイン・cos コサインとはどういうものかしっておきましょう。
- sin サインと cos コサインは、三角関数(さんかくかんすう)というものである。
- 値(あたい)が周期的(しゅうきてき)に変化(へんか)する、という特徴(とくちょう)がある。
「周期的(しゅうきてき)に変化(へんか)する」とは、どういうことでしょうか?
たとえば、わたしたちの日常生活(にちじょうせいかつ)で周期的(しゅうきてき)なものといえば、次(つぎ)のようなものがあります。
- 朝(あさ)〜昼(ひる)〜夜(よる)のくりかえし
- 春(はる)〜夏(なつ)〜秋(あき)〜冬(ふゆ)のうつりかわり

このように、「ほぼ一定(いってい)の間隔(かんかく)でおなじことがくりかえされる」というのが、周期的(しゅうきてき)の意味(いみ)です。
では、()のsin
・()のcos
のブロックをつかうとどのような結果(けっか)がでるか、みてみましょう。値(あたい)が周期的(しゅうきてき)であることに注目(ちゅうもく)してみてください。
- sin サインと cos コサインでえられる値(あたい)は、「
-1
〜1
」の間(あいだ)でくりかえす。 - sin サインは
0
から、cos コサインは1
からはじまる。 ()
におなじ数(かず)をいれても、sin サインと cos コサインではことなる値(あたい)になる。

()
にどんな数(かず)をいれても、結果(けっか)が「-1
〜 1
」からはみだすことはありません。

なぜ、値(あたい)が「-1
〜 1
」になるのでしょうか?
それは、sin サインと cos コサインが、半径(はんけい) 1 の円(えん) 上(じょう)の、縦(たて)の位置(いち)・y 座標(ざひょう)と、横(よこ)の位置(いち)・x 座標(ざひょう)をあらわすものだからです。下(した)の画像(がぞう)の「点(てん) P」をみてください。
- P は、角度(かくど)におうじて座標(ざひょう)が変化(へんか)する。
- P の y 座標(ざひょう)が sin サイン、x 座標(ざひょう)が cos コサイン。

突然(とつぜん)円(えん)の図(ず)がでてきて、すこしむずかしいですね。ここでは、次(つぎ)のことがわかれば大丈夫(だいじょうぶ)です。
- 角度(かくど)がいくら変化(へんか)しても、点(てん) P は、半径(はんけい) 1 の円周上(えんしゅうじょう)になる。
- そのため、sin サインと cos コサインでえられる値(あたい)は、「
-1
〜1
」の間(あいだ)でくりかえす。
()のsin
・()のcos
の ()
にはいるのが、角度(かくど)です。sin サインと cos コサイン は、()
の値(あたい)をつかって、点(てん) P の座標(ざひょう)を計算(けいさん)します。
()のcos
:x 座標(ざひょう)()のsin
:y 座標(ざひょう)

たとえば角度(かくど)が 90
の場合(ばあい)、点(てん) P の x 座標(ざひょう)は 0
、y 座標(ざひょう)は 1
です。()
におなじ値(あたい)をいれても、()のsin
と ()のcos
ではことなる結果(けっか)になる、ということがわかりますね。
さて、sin サインと cos コサインでえられる「-1
〜 1
」は、とてもちいさい値(あたい)です。そのままつかうと、値(あたい)が変化(へんか)している様子(ようす)が、よくわかりません。そのため、実際(じっさい)につかうときは、数値(すうち)をかけて値(あたい)をおおきくしてからつかいます。

以上(いじょう)で、sin サインと cos コサインについての説明(せつめい)はおわりです。簡単(かんたん)にポイントをまとめておきましょう。
- sin サインと cos コサインは、
()
の値(あたい)におうじて、「-1
〜1
」の周期的(しゅうきてき)な値(あたい)となる。 - つかうときは、数値(すうち)をかけて、適当(てきとう)なおおきさの値(あたい)になるようにする。
次(つぎ)のセクションからは、sin サイン・cos コサインをつかったスクリプトを紹介(しょうかい)していきます。
ぐるぐるとうごかす
円(えん)をえがくように、キャラクターをぐるぐるとうごかしてみましょう。
sin サインと cos コサインの結果(けっか)に 100
をかけて、半径(はんけい) 100 の円(えん)をえがくように座標(ざひょう)を変化(へんか)させます。

()
にはいる値(あたい)は、変数(へんすう)をつかってすこしずつ変化(へんか)するようにしましょう。

これで、キャラクターがぐるぐるとうごくようになりました!どのようにうごいているのかをわかりやすくするためにペンをつかってみると、下(した)のようになります。

上(うえ)のスクリプトでは、左(ひだり)まわりでうごきます。x 座標(ざひょう)と y 座標(ざひょう)の sin サインと cos コサインを逆(ぎゃく)にすると、右(みぎ)まわりでうごきます。

うごきだしの位置(いち)をきめたい場合(ばあい)は、角度(かくど)を初期化(しょきか)しておきましょう。

うごきをはやくする
さきほどの例(れい)では、角度(かくど)が 1 ずつかわっていくようにしたので、キャラクターのうごきはゆっくりです。うごくスピードをはやくしたい場合(ばあい)は、 sin サイン・cos コサインの ()
にはいる値(あたい)をおおきくします。
()
の値(あたい)に数値(すうち)をかける、または変数(へんすう)の変化(へんか)をおおきくしましょう。


タイマーでうごかす
角度(かくど)の変数(へんすう)を用意(ようい)せずに、タイマーをつかってうごかすこともできます。
ただし、タイマーはミリ秒(びょう)単位(たんい)でうごいていて、そのままではうごきの変化(へんか)がとてもおそいので、おおきめの数値(すうち)をかけてからつかいましょう。

楕円(だえん)にする
sin サインと cos コサインに、ことなる数値(すうち)をかけると、楕円(だえん)になります。


位置(いち)を指定(してい)する
基準(きじゅん)となる位置(いち)を指定(してい)したい場合(ばあい)は、◯ + ◯
をくみあわせます。


なめらかな移動(いどう)
y 座標(ざひょう)を固定(こてい)すると、x 座標(ざひょう)だけが変化(へんか)して、なめらかな横移動(よこいどう)をくりかえします。
- うごくはやさ:
5
- 変化(へんか)の量(りょう):
150
- 基準(きじゅん)の位置(いち):指定(してい)していないので、x 座標(ざひょう)
0

x 座標(ざひょう)を固定すると、y 座標(ざひょう)だけが変化(へんか)して、なめらかな縦移動(たていどう)をくりかえします。
- うごくはやさ:
10
- 変化(へんか)の量(りょう):
80
- 基準(きじゅん)の位置(いち):y 座標(ざひょう)
-100

拡大(かくだい)・縮小(しゅくしょう)
sin サインまたは cos コサインで「おおきさ」をかえると、おおきくなったり、ちいさくなったりをくりかえします。記事(きじ)のはじめで紹介(しょうかい)したサンプルプロジェクトの星(ほし)のうごきがこれです。
- うごくはやさ:
タイマー × 100
- 変化(へんか)の量(りょう):
20
- 基準(きじゅん)のおおきさ:
80

ゆらゆらうごかす
sin サインまたは cos コサインで「むき」をかえると、ゆらゆらとうごきつづけます。記事(きじ)のはじめで紹介(しょうかい)したサンプルプロジェクトの船(ふね)のうごきがこれです。
- うごくはやさ:
タイマー × 250
- 変化(へんか)の量(りょう):
10
- 基準(きじゅん)のむき:
90

波(なみ)をえがく
sin サインまたは cos コサインで、波(なみ)をえがいてみましょう。
- 波(なみ)のたかさとなる y 座標(ざひょう)の値(あたい)を、
()のsin
をつかって周期的(しゅうきてき)に変化(へんか)させます。 - 同時(どうじ)に x 座標(ざひょう)をすこしずつかえて、波(なみ)の形(かたち)を右(みぎ)へすすめます。

()のsin
にかける数値(すうち)をおおきくして、変化(へんか)の量(りょう)をふやすと、波(なみ)がたかくなります。()のsin
の()
にはいる値(あたい)の変化(へんか)をおおきくして、うごきをはやくすると、波(なみ)がこまかくなります。

いろいろな形(かたち)
sin サインと cos コサインで座標(ざひょう)を変化(へんか)させると、下(した)のような形(かたち)もつくることができます。


Scratch の Pyxofy ページへいって、()のsin
と ()のcos
をつかった作品(さくひん)をみてみてください。Scratch わくせいのきどう by Pyxofy


「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。
まとめ
今回(こんかい)は、Scratch のブロック、()のsin
と ()のcos
について紹介(しょうかい)しました。
sin サインと cos コサインをつかうと、周期的(しゅうきてき)な値(あたい)となるため、ぐるぐるとまわしたり、波(なみ)の形(かたち)をつくったり、なめらかにうごかしつづけることができます。 ()
にはいる値(あたい)や、かける数値(すうち)をかえてみると、いろいろなうごきをすることがわかるので、ぜひためしてみてください。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!
SNS で Pyxofy とつながりましょう! LinkedIn・ Threads・Bluesky・ Mastodon・ X (Twitter) @pyxofy・ Facebook