« 授業紹介~「音・音声インタフェース」~ボコーダ | トップページ | 学会紹介:日本図学会と秋季大会における大学院生の研究発表 »

おもしろメディア学 第58話 CGでは三角形も円も同じです。(授業紹介:CG制作の基礎)

2014年12月10日 (水) 投稿者: メディアコンテンツコース

算数の授業などで三角形を描くには、定規を使います。円を描くにはコンパスを使います。描きたい図形によって、道具を変えています。一方、コンピュータを利用して、直線を描いたり、三角形を描いたり、円を描いたりすることは、イラストを描くようなソフトウエアには標準的な機能として用意されています。みなさんは、この機能を使えば、円も三角形も簡単に描くことができます。
ところが、実はコンピュータの中で計算する手順は、三角形、正方形などと円とは全く同じ考えで描くことができます。同じとはいったいどういうことでしょうか?計算する手順をアルゴリズムといいますが、この手順が同じということです。
図にprocessingを利用したプログラム例と円の作図結果を示します。

Circle

このプログラムで大切なところは、3つです。1つ目はfor文です。0から360の繰り返しと、10ずつプラスしている文です。2つ目はx2,y2を計算している文です。これは円の(x,y)座標を計算している文です。円の計算は次の図を見ていただくとわかります。赤い丸の座標(x、y)はずの中にある式でそれぞれ求めることができます。cos,sin を利用して、ある角度tの座標を求めることができます。3つ目は、line(x1,y1,x2,y2)です。これは、(x1,y1)から(x2,y2)の2点を直線で結ぶ命令です。
 

Circle2

プログラムによって作図した結果は、円のように見えますが、実は、tを10度ずつ変更しているので36角形を描いたといえます。この説明が理解できると、tの値を変えれば、いろいろな正多角形を描くことができることが分かります。学生がこの円を描くプログラムをもとに、正方形を描きました。このとき変更した部分はfor文の10を90にしただけです。これによって、正方形を描くことができました。

Circle3

この例からわかるように、繰り返しのfor文において増分の値を変更するだけで、さまざまな多角形を描くことができます。つまり、描く手順はおなじでもいろいろな多角形を描くことができるということです。次の図は、別の文を一か所変更して描いた例です。同じ計算手順でも少し変えるだけで全く違った図形を描くこともできますね。

Circle4

このprocessingを利用したCG教育は、2年生の前期に行っています。1年生の基礎演習でも「プログラミングの基礎」というテーマで利用しています。2年生の前期では「ビジュアルコンピューティングの数理入門(2015年度からは「CGの数理入門」)でもprocessingを利用してCGのさまざまな考え方を学びます。
キーワード: コンピュータグラフィックス、円、多角形、直線描画
参考文献
1. 近藤邦雄,伊藤彰教,三上浩司,渡辺大地, Example Based Programmingに基づくCG制作の入門教育,日本図学会図学研究,第45巻, 第3号,pp.3-10,2011.9
2. 近藤邦雄、菊池司、CG制作の基礎 講義ページ
メディア学部 近藤邦雄

授業紹介」カテゴリの記事

おもしろメディア学」カテゴリの記事

« 授業紹介~「音・音声インタフェース」~ボコーダ | トップページ | 学会紹介:日本図学会と秋季大会における大学院生の研究発表 »