プログラミング

サイエンス記事

プログラムで作る花火大会2019バージョン

数年前にプログラムで作った花火をバージョンアップしてみました。 打ち上げ花火は火薬を球状に成形した「星」と呼ばれるものを詰めた球体を打ち上げるのだそうです。 この星を粒子系ととらえて、たくさんの星オブジェクトを生成し、様々な向き...
サイエンス記事

1次関数、2次関数で作るアート作品

中学生になると1次関数や2次関数を習います。1次関数はただの直線ですが、プログラムでたくさんの直線を描くことによりアート作品が生まれます。 y = ax + b の式においてa, bを変化させながらグラフを描いたのが下の映像です...
サイエンス記事

星(球体)に水晶のような結晶を生やした3Dグラフィックスを作りたい。生徒からの質問

プログラムを使ってアート作品を作成しているときに、生徒から表題の要望を頂きました。 水晶は大きくしたり、小さくしたりしたいとのことです。 こういうのを作ってみたいという動機は大事ですね。 早速作ってみましたが、プログラムの...
プログラミング

多重ループがよくわかりません。生徒からの質問

forループはわかったが、これを入れ子にした多重ループになるとよくわからないという声をよく聞きます。そこで、3重ループを例にして動作がわかるようにステップ実行した動画を作成してみました。 まずはプログラミングの基本の説明から。 プロ...
サイエンス記事

発光体を作りたいのですが?生徒からの質問

Processingで3Dグラフィックスを使って太陽系を描いているときに、太陽を発光させたいとの要望が出て来ました。もう10回近く3Dグラフィックスの授業をやっているのですが、意外と初めての質問でした。 Processingではemi...
プログラミング

ビット演算って何?生徒からの質問

最近は生徒さんからの質問も増えてきて、先日は電池の酸化還元反応について問われました。まあ、プログラミングとは直接関係ありませんが。 今回はビット演算の話です。 コンピュータの内部では2進数が使われています。 すなわち0と1の2種類の数...
サイエンス記事

m個の箱にn個のボールをランダムに入れるとき、すべての箱に1個以上のボールが入る確率は?生徒からの質問

表題の質問を生徒から受けました。簡単だと思っていたら、意外と手こずりました。 イメージしやすいように具体的な例で言うと、3個の箱に4個のボールをでたらめに入れていく場合、すべての箱に1個以上のボールが入る確率を求めよということです。こ...
プログラミング

Processing Ver.3でのsize()関数に関する仕様変更とsize()関数が効かないときの対応策

Processingのバージョン3ではsize()関数の仕様が変更になっています。 例えば size(640, 480); のように引数に数字を入れた場合は問題ありませんが、 size(w, h); のように変...
サイエンス記事

机のカドにボールをぶつけたらどう跳ね返るのか?生徒からの質問

プログラムで作るゲームの定番にブロック崩しがあります。ブロックにボールが当たるとブロックが消滅し、すべてのブロックを消去したらゴールです。 ブロックへの当たり判定がプログラミングの際の1つのポイントです。 もう1つのポイントはブ...
プログラミング

当プログラミング教室の初級Aコースで出て来る用語の「読み」と、対応する「英語」をまとめてみました。

当プログラミング教室では英語がネイティブという児童、生徒も何人かいらっしゃいます。日本語では用語の意味がわからないけれども、英語で言えばわかるということが時々あります。そのため、初級Aコースのテキストに出て来る主な用語の「読み」と「英語」を...