ページ 11

課題について質問です。

Posted: 2008年7月09日(水) 15:19
by OF
学校の課題なんですが、どうやればいいかいまいちわかりません。
なので、全体の流れだけでもいいので教えてくれませんか?

以下、課題の内容です。

200x200ピクセルの画像の中に三角形、四角形、円、楕
円を用いて絵を作成しよう。その際、関数を用いて作成し
ましょう。
􀂄 ファイル名:12art.c (プロジェクト名:12art)
􀂄 図形の作成、移動、回転などには関数を用いること。
􀂄 効率よく関数を使って、絵を作成しましょう。
􀂄 main関数は画像配列の確保と関数の呼び出しで作成する。
􀂄 出力ファイル名(art.bmp)

Re:課題について質問です。

Posted: 2008年7月09日(水) 15:43
by たかぎ
処理系不明なので、一般論として...

1. 図形をどのように描くのか、紙でもよいですし、ペイントなどの画像編集ソフトを使ってもよいので、とにかく描いてみる(できれば、その画像ファイルを添付してください)。

2. 図形の描画アルゴリズムを調べ、関数として実装する。
 具体的には、円の描画はMichenerのアルゴリズム、線分の描画はBresenhamのアルゴリズムなど。
 線分に関しては、水平線と垂直線は専用の処理に切り替えた方が高速です。

3. 2.で実装した関数を用いて、1.で作ったイメージどおりの画像を、200×200の配列に書き込む。

4. ビットマップファイルのフォーマットを調べ、そのフォーマットに合うように3.で作った配列の内容を変換する。

この流れでできるはずです。
そんなに難しいわけではありませんが、結構盛りだくさんな内容が含まれていますね。

Re:課題について質問です。

Posted: 2008年7月09日(水) 15:47
by Mist
規約に書かれているとおり課題の丸投げは禁止です。
何がわからないのか、あなたがどこまでできるのか、開発環境などを詳細に書いてください。

この課題をクリアするには最低限BMPファイルフォーマットを理解している必要がありますが、それは大丈夫ですか?

Re:課題について質問です。

Posted: 2008年7月09日(水) 15:57
by バグ
せめて開発環境や使用可能なライブラリくらいは書いてもらわないと誰も返答できませんよね(^_^;)

Re:課題について質問です。

Posted: 2008年7月09日(水) 16:09
by たかぎ
> せめて開発環境や使用可能なライブラリくらいは書いてもらわないと誰も返答できませんよね(^_^;)

規約違反は別として、規格厳密合致プログラムで書けますよ。

Re:課題について質問です。

Posted: 2008年7月09日(水) 18:11
by バグ
あ、そうか…画像ファイルの中身を直接いじってやればいいだけだから、可能ですね。失礼しました(^_^;)