基本情報技術者 2017年 秋期 午前(科目A) 問25
問題文
3次元CGレンダリングにおける、隠線消去及び隠面消去の説明はどれか。
選択肢
ア:光源の位置と対象物体への光の当たり具合とを解析し、どのような色・明るさで見えるのかを決定する。
イ:指定された視点から見える部分だけを描くようにする。(正解)
ウ:生成された画像について、表示する画面に収まる部分だけを表示する。
エ:物体の表面だけでなく物体の内部や背後に隠れた部分の形状も、半透明表示などによって画像として生成する。
3次元CGレンダリングにおける、隠線消去及び隠面消去の説明はどれか。【午前2 解説】
正解の理由
隠線消去(hidden-line removal)や隠面消去(hidden-surface removal)は、カメラや視点から見たときに他の物体や面に隠れて見えない線や面を描画しないようにする処理です。つまり「指定された視点から見える部分だけを描く」ことが目的であり、選択肢イの記述が一致します。
解法ステップ
- 問題文のキーワード「隠線消去」「隠面消去」を確認する。
- それぞれが何を実現する処理かを定義する:視点から見えない部分を除去する。
- 選択肢を照合する:視点ベースの可視性を述べているものが正解(イ)。
- 残りの選択肢を別概念(ライティング、クリッピング、透過表示)として排除する。
選択肢別の誤答解説
- ア: 光源位置や光の当たり具合を解析して色・明るさを決めるのは「ライティング」や「シェーディング」の説明であり、隠面消去ではありません。
- イ: 指定された視点から見える部分だけを描くようにする。 これは隠線消去・隠面消去の正確な定義です。
- ウ: 生成された画像を表示画面に収めるという表現は「クリッピング」や「ビューポート変換」に近く、隠面消去の説明とは異なります。
- エ: 半透明表示で内部や背後も画像として生成するのは透過処理や合成(アルファブレンディング)であり、隠面消去の目的と反します。
よくある誤解
- 誤解1: 「光源計算(シェーディング)と同じ」と考える誤り。光源による色や明るさの決定はシェーディングであり、隠面消去とは別工程です。
- 誤解2: 「画面内に収まるだけを表示する(クリッピング)と同一」とする誤り。クリッピングはビュー空間での表示範囲制限で、可視性判定とは目的が異なります。
- 誤解3: 「半透明表示も隠面消去の範疇」と考える誤り。半透明は透過処理やブレンドにより背後も部分的に表示する技術で、隠面消去の基本概念とは反します。
補足コラム
- 実装技術例:深度バッファ(Zバッファ)法、ペイント順序に基づくアルゴリズム(画面描画順)、スキャンライン法、バウンディングボリューム階層を使った可視性判定などが隠面消去に使われます。
- 実務での違い:リアルタイムレンダリング(ゲーム等)ではZバッファが一般的で、高精度のオフラインレンダリングはレイトレーシングで可視性とライティングを同時に解決します。
FAQ
Q: 隠面消去とクリッピングはどちらが先に行われますか?
A: 通常は座標変換→クリッピング(ビュー体積外の削除)→可視性判定(隠面消去)→ラスタライズ/シェーディングの順で処理されます。
A: 通常は座標変換→クリッピング(ビュー体積外の削除)→可視性判定(隠面消去)→ラスタライズ/シェーディングの順で処理されます。
Q: 半透明なオブジェクトは隠面消去の対象外ですか?
A: 半透明は透過度に応じて後ろのオブジェクトが見えるため、単純な隠面消去だけでは正しく処理できず、深度ソートやブレンディングと組み合わせる必要があります。
A: 半透明は透過度に応じて後ろのオブジェクトが見えるため、単純な隠面消去だけでは正しく処理できず、深度ソートやブレンディングと組み合わせる必要があります。
Q: レイトレーシングは隠面消去をどう扱いますか?
A: レイトレーシングは視線を追跡して最初にヒットした交点を見える表面とするため、自然に隠面消去が行われます。ライティングや反射も同時に計算できます。
A: レイトレーシングは視線を追跡して最初にヒットした交点を見える表面とするため、自然に隠面消去が行われます。ライティングや反射も同時に計算できます。
関連キーワード: 隠面消去、隠線消去、Zバッファ、シェーディング、クリッピング、深度バッファ、ラスタライズ, レイトレーシング

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

