- プログラム名: FdF
- 提出ファイル: Makefile, *.h, *.c, Makefile: NAME, all, clean, fclean, re
- 引数: *.fdf形式のファイル
- 外部関数:
- open, close, read, write, malloc, free, perror, strerror, exit
- 数学ライブラリの全関数(-lm コンパイラオプション, man 3 math)
- MiniLibXの全関数
- ft_printfおよびコーディングした同等のもの
- Libft 許可
- MiniLibXを使用して、高さデータを与えられたマップを3Dのシンプルなワイヤーフレームモデルに変換します。
MiniLibX は、画面内で何かをレンダリングするための最も基本的な操作を実行できる小さなグラフィックライブラリです。いわゆる単純なウィンドウ作成、簡易な描画ツール、画像機能、イベント管理システムを提供します。
- プログラムは等角投影(isometric projection)でモデルを表示します。
- 地形の座標は、プログラムのパラメータとして渡される *.fdf ファイルに格納されています。以下に例を示します。:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 10 10 0 0 10 10 0 0 0 10 10 10 10 10 0 0 0
0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0
0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0
0 0 10 10 10 10 10 10 0 0 0 0 10 10 10 10 0 0 0
0 0 0 10 10 10 10 10 0 0 0 10 10 0 0 0 0 0 0
0 0 0 0 0 0 10 10 0 0 0 10 10 0 0 0 0 0 0
0 0 0 0 0 0 10 10 0 0 0 10 10 10 10 10 10 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 各数字は空間内の点を表しています:
- 横方向の位置はその軸に対応しています。
- 縦方向の位置はその縦座標に対応しています。
- 値はその高度を表しています。
- Makefileを使用してプロジェクトをコンパイルします。
make
- .fdfファイルを指定してプログラムを実行します。
./fdf <path_to_fdf_file>
.fdfファイルからマップデータを読み込みます。 get_next_lineとft_splitを使用してデータを解析し、高度情報を取得します。
マップの幅と高さを格納します。 各ポイントの高度情報を2次元配列に格納します。
各ポイントのx, y, z座標をアイソメトリック投影に変換します。
MiniLibXを使用してウィンドウを作成し、モデルを描画します。 描画にはmlx_pixel_putやmlx_line_putを使用します。
キーイベントとウィンドウクローズイベントを処理します。 ESCキーでウィンドウを閉じ、プログラムを終了します。
小さなグラフィックライブラリで、X-WindowやCocoaを使用して簡単にウィンドウを作成できます。
42プロジェクトで作成した標準Cライブラリ関数の再実装関数たち。