2021/11/12 b4 立花友也

18
週報 2021/11/12 B4 立花友也

Upload: others

Post on 16-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

週報2021/11/12

B4 立花友也

1.先週の活動内容

金 月 火 水 木

3限 週報 週報 週報 週報 週報

4限 プログラミング プログラミング プログラミング プログラミング プログラミング週報作成

5限 プログラミング プログラミング プログラミング プログラミング プログラミング週報作成

2.主な活動

•マーチングキューブ法を用いた立方体の描画

CG表現ができるようになる

最終目標

サンプルソースを最初から読み解いた<理由>・MC法処理についての論文などがあるが、マーチングキューブ法を使用したり、MC法の説明を書いているだけで、過程やソースコードは書いていない

・プログラムをまったく理解できないのは根本的に何か間違っているのではないか、見落としているものがあるのではないか

今までのCGの考え方に問題が見つかった

読み解いていくと・・・

3.1.1 プログラムをみて新しく分かったこと

マーチングキューブ法で物体を処理

CGの点座標とポリゴンのデータが出力

マーチングキューブ法でメタボールを作成

メタボールでCGを表現

CGの点座標とポリゴンのデータが出力

今までの考え 実際

3.1.2 CGの作成方法について条件の定義

(マーチングキューブ法・OpenGLの描画条件)

CGにしたい物体の点座標の入力

CGを描画(・メタボール・マーチングキューブ法[MC法])

・ポリゴンのサイズ・どの角度から物体を見るか

・メタボール・・・物体を複数の球の集まりで表現する

・マーチングキューブ法・・・物体を三角形の面で表現する方法

3.2.1 マーチングキューブ法について

物体を格子状の立方体(キューブ)で分けて、各立方体の頂点での濃度(密度)を調べる。

濃度が一定である部分に面を構成し、図形を作成する手法

各頂点で面を構成 するorしないか で2通り立方体は頂点が8つあるので 28 = 256 通りのパターンから構成される(上下左右対称を除くと計15パターン)

3.2.2 マーチングキューブ法の可視化

Low polygonによるメタボールをMC処理するときのイメージ図

high polygonによるメタボールを実際にMC処理した図

3.2.3 プログラムでのMC

20

2122

23

24

252627

図形データは(1100,0000,1010)2

28 29210211

どこの辺に頂点が発生するかを表現する

edgeTableを参照 (𝑐0𝑎)16

16進数で処理

triTableを参照{3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}

最大5個の三角形(3×5=15配列)で図形を表現

3.3 マーチングテトラヘドラ法

・三角錐で表された物体で、上下反転を含めた計16種類で表される・基本はマーチングキューブと同じだがパターンが少なく精度もよい

マーチングキューブ

マーチングテトラヘドラ

3.4 メタボールについて

・物体を球(ボール)の集合で表す手法

・隣接する球の空間がある一定の密度になると影響しあい、空間に面を構成する(球同士が引っ付きあおうとする)

処理方法は理解できていない

(内部的な処理でプログラムは動いたので理屈だけわかれば問題ない)

3.5 全体的なプログラム上の処理

条件の定義(マーチングキューブ法・OpenGLの描画条件)

マーチングキューブ法を用いてメタボールを作成

CGにしたい物体の点座標の入力

メタボールを各座標に配置

4結果 8つのメタボールを用いて立方体を表現した

マーチングキューブ法 マーチングテトラヘドラ法

ワイヤーフレームの比較

マーチングキューブ法

マーチングテトラヘドラ法

マーチングキューブで処理されているのが確認できた

問題点・改善点

・現状1×1×1の立方体内でしか表現できない→座標を100分の1などして立方体内に収めることで解決

・プロットデータを抜き出す方法の模索(数か所当てがあるので調べてみる)

理由:POV-ray(CGレンダリングソフト)に読み込ませるために必要

・静止状態でのCG表現までしか理解できていないので、ステップごとに読み込みCGが動くようにする

達成度

・マーチングキューブ法・メタボールの特性を用いて立方体を作ることができた・11月末までに達成の目途を立てていたところまでできた

100%

・問題点の解決(プロットデータを抜きだすことを最優先)

今後の予定

マーチング・キューブ法 · Programming for Beginners (tatsy.github.io)

Polygonising a scalar field (Marching Cubes) (paulbourke.net)

・マーチングキューブ法解釈・図

・マーチングキューブ法の解釈/ソースコード

マーチングキューブ法 - Wikipedia

メタボール - Wikipedia

・マーチングキューブ法図

・メタボール図

参考・引用資料