CG

Similar documents
CG

CG

CG

CG

Computer Graphics

Graphics with Processing モデリング 塩澤秀和 1

コンピュータグラフィックス第8回

スライド 1

CG

スライド 1

コンピュータグラフィックス第6回

Microsoft PowerPoint - [150421] CMP実習Ⅰ(2015) 橋本 CG編 第1回 幾何変換.pptx

スライド 1

コンピュータグラフィックス基礎              No

コンピューターグラフィックスS

CG

Microsoft PowerPoint - Salome-Meca.pptx

pp2018-pp4base

2015年度 岡山大・理系数学

tc15_tutorial02

簡単な図面を書いてみよう 『 3D編 』

2017年度 神戸大・理系数学

ライティングの基本要素ライト ( 光源 ) の位置や種類 強さを決め モデルやシーンの見せ方を決めることをライティングとよぶ また モデルの表面での光の反射の度合いを調節することで ライティングの効果を変化させることができる 今回は ライティングの基本的な要素を解説し SketchUp のライティン

クリックしてタイトル入力

pp2018-pp9base

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

コンピュータグラフィックスS 演習資料

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

Microsoft Word - CGP_GM

デザイン戦略(コンピュータアニメーション) 2009年度春学期

2014年度 千葉大・医系数学

演算増幅器

【】三平方の定理

謗域・ュ逕ィppt

情報システム設計論II ユーザインタフェース(1)

FreeCAD

Microsoft PowerPoint - 3D.ppt

2017年度 長崎大・医系数学

Microsoft PowerPoint - 9.pptx

モデリングとは

3D の作図ツールについて 3D 画面を表示すると 以下の新しい作図ツールが表示されます より多くのオプションを見るためには ボタンの右下の小さな矢印 をクリックして下さい 28

立体切断⑹-2回切り

2013年度 九州大・理系数学

Microsoft Word - 教材ガイド一覧ビデオ.doc

Microsoft PowerPoint - 9.pptx

Processingをはじめよう

情報工学実験Ⅲ

学習指導要領

Field Logic, Inc. 標準モード 3D モデル作成 配置編 Field Logic, Inc. 第 1 版

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

コンピューターグラフィックスS

vecrot

2016年度 筑波大・理系数学

2018年度 神戸大・理系数学

課題

第 2 回 Maya の基礎 2011 年度春学期火曜日 4 時限目 λ18 教室デザイン戦略 ( コンピュータアニメーション ) 担当 : 中村太戯留 Maya の基本操作 [ メインメニュー ] [ ステータスライン ] [ シェルフ ] [ ツールボックス ] [ チャンネルボックス ] [

3Dプリンタ用CADソフト Autodesk Meshmixer入門編[日本語版]

デザイン戦略(コンピュータアニメーション) 2013年度春学期

アニメーションあり3 次元 CG アニメーションの CAVE への表示 藤本孝一 松本浩二 田島広太 高瀬祥平 井門俊治 埼玉工業大学工学部井門研究室 1, 目的 各種ツール プログラムで作成したモデル およびアニメーションの CAVE での表示を行う 2, 方法 AVE システムでの表示には今のと

PowerPoint プレゼンテーション

課題

コンピュータグラフィックス演習 I 2012 年 5 月 21 日 ( 月 )5 限 担当 : 桐村喬 第 7 回モデリングの仕上げ 1 カメラワークとアニメーション 今日の内容 1. カメラワーク 2. シーンの設定 3. アニメーション 前回のテクスチャの紹介 1 / 10

Microsoft Word - povray.docx

AutoCAD LT2000i

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

STEP 数学 Ⅰ を解いてみた から直線 に下ろした垂線の足を H とすると, H in( 80 ) in より, S H in H 同様にして, S in, S in も成り立つ よって, S in 三角形の面積 ヘロンの公式 in in 辺の長

pp2019-pp10-base

<90E096BE8F912E786C7378>

断面の諸量

スライド タイトルなし

2018年度 筑波大・理系数学

2011年度 東京工大・数学

コンピュータグラフィックス

緒言 GIS ソフトウエア開発動向の一つに 3 次元化表示 がある. 代表的な GIS ソフトである ESRI 社の ArcGIS では, 建物や樹木等を平面 GIS に上乗せすることを 3 次元表示と呼ぶことが多い. 一方, 地下構造を表現できる 真 3 次元 化は, ソリッドモデル又はボクセルモ

この演習について Autoware 演習 1: データの記録 再生 Autoware 演習 2: センサーキャリブレーション Autoware 演習 3:3 次元地図の作成 Autoware 演習 4: 自己位置推定 Autoware 演習 5: パラメータ調整 Autoware 演習 6: 物体検

(Microsoft Word - \221\262\213\306\230_\225\266_\213\321\220D_\215\305\217I.doc)

Math-Aquarium 例題 図形と計量 図形と計量 1 直角三角形と三角比 P 木の先端を P, 根元を Q とする A 地点の目の位置 A' から 木の先端への仰角が 30,A から 7m 離れた AQB=90 と なる B 地点の目の位置 B' から木の先端への仰角が 45 であ るとき,

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位

Taro-02_Web_html自習テキストⅡ.

2017年度 信州大・医系数学

例題1 転がり摩擦

Microsoft Word - BentleyV8XM_GoogleEarth.docx

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java //

といえる また で示した QEDSoft とは通常の Web ページにキャラクタを配置することのできる Web3D ソフトウェアであり 3DSMAX から変換することでキャラクタを作成することができるものである また Web3D としては Viewpoint も試みた その利用価値は高いことがわかっ

スライド 1

pp2018-pp10base

2015年度 京都大・理系数学

ドラフトボードの概要 画面構成 メニュー バー ツール パレット メッセージ ライン ステータス ライン 作図 編集以外の機能がこのメニューから選択できます 作図と編集で利用できるツール パレットです 選択されたツールや操作手順が表示されます 現在の情報が表示されます 数値入力も可能です (1)

Microsoft Word - 力学12.doc

piyo0702a.rtfd

第1部 たし算・ひき算

2016年度 広島大・文系数学

線を描く 線ツールをクリックする 原点 ( 青 緑 赤の 3 つの軸が交わるところ ) をクリックする 水平方向 ( 赤い軸と緑の軸がある面 ) にカーソルを動かしクリックする 原点とクリックした点の間に黒い線が描画される 垂直方向にカーソルを動かす 青い線が表示され 青い軸上 と表示される 青い線

Sample 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows

基本作図・編集

情報工学実験Ⅲ

基本作図・編集

Microsoft Word - 201hyouka-tangen-1.doc

< 中 3 分野例題付き公式集 > (1)2 の倍数の判定法は 1 の位が 0 又は偶数 ( 例題 )1~5 までの 5 つの数字を使って 3 ケタの数をつくるとき 2 の倍数は何通りできるか (2)5 の倍数の判定法は 1 の位が 0 又は 5 ( 例題 )1~9 までの 9 個の数字を使って 3

<907D945D F D C789C195CF8D5888EA97978CF68A4A97702E786C7378>

Transcription:

Grahics with Processig 219-7 3DCG とモデリングの基礎 htt://vilab.org 塩澤秀和 1

7.1 3D 図形の描画 3D 基本設定 size( 幅, 高さ, P3D) ウィンドウを3D 用で開く lights() 標準の照明を設定 draw() のなかで最初に書く ersective() 透視投影に設定 ( 第 9 回 ) 3 次元座標系 ( 無指定時 ) 原点 (,, ) Processig では z 軸は手前方向 -z 奥行き 3D 基本形状 bo( 辺の長さ ) bo( 幅, 高さ, 奥行き ) 原点に立方体 / 直方体を描画 shere( 半径 ) 原点に球を描画 通常は ostroke() で描く y ウィンドウ ( 窓 ) (width, height, ) 2

7.2 * 座標系のとり方 (.32) 左手系 視点座標系 CGゲーム DirectX y 右手系 CG 理論 数学 工学分野 OeGL y z 奥 手前 z 左手系 Processig 手前 z 右手系 建築座標系 z y 奥 y 3

7.3 3D での位置設定 3D での位置設定 座標変換を駆使せよ 3DCGでは, 幾何変換で図形を配置する考え方が必須!! bo も shere もそのときの描画座標系の原点付近に図形を描く 原点 と 拡大率 を常に意識! 行列スタックの操作 ushmatri() システム変換行列 ( 論理座標系 ) を一時的に退避する 使い方は,2 次元と同じ omatri() 最近保存した論理座標系を戻す ush と o は必ず対にすること 3 次元幾何変換 traslate(t, ty, tz) 座標系の平行移動 最初に (width/2, height/2, ) に原点をもってくると分かりやすい scale(s, sy, sz) 座標系の拡大 縮小 原点を中心に全体が拡大 rotatex(θ) 軸まわりの回転 rotatey(θy) y 軸まわりの回転 rotatez(θz) z 軸まわりの回転 rotatez 2 次元の rotate(θz) と同じ z 4 rotatex rotatey y

7.4 3D描画の例 void setu() { // P3Dモードでウィンドウを開く size(4, 4, P3D); oloo(); void draw() { backgroud(); // 標準の照明 lights(); // 透視投影 ersective(); // 原点を移動 traslate(width/2, height/2, ); ostroke(); fill(255, 2, 2); // 原点に半径1の球を描画 shere(1); // 回転する立方体 float rot =.; void setu() { size(4, 4, P3D); void draw() { backgroud(7); lights(); ersective(); traslate(width/2, height/2, ); ushmatri(); rotatey(radias(rot++)); stroke(255,, ); fill(255, 255, ); bo(1); omatri(); 5

7.5 * モデリングの基礎 モデリング モデリングとは (.33) 3Dオブジェクト ( 物体 ) の形状を数値データの集合で表すこと 形状モデル (.6) ワイヤーフレームモデル 線の集合で物体を表現するサーフェスモデル 物体の表面 ( だけ ) を表す 通常はポリゴン ( 多角形 ) の集合ソリッドモデル 物体の内外を示す情報もあり, 中身が詰まっているモデル ポイントクラウド ( 点群 ) 点 (+ 色 ) の集合によるデータ 簡単なモデリング ポリゴンの描画 ポリゴンolygo = 多角形 物体表面のポリゴンを描画する (begishae~edshae) 例 ) 三角柱 幅 =2(-1 1), 原点に重心, 高さ=2(-1 y 1) 2 3 3 1 O 1 3 3 z 真下から見た図 6

7.6 ポリゴンの描画例 rism( プリズム ) は角柱という意味 // 三角柱を表示する void setu() { size(4, 4, P3D); void draw() { backgroud(); lights(); ersective(); traslate(width/2, height/2); ushmatri(); rotatex(radias(framecout)/2); rotatey(radias(framecout)); // ofill() ならワイヤーフレーム表示 fill(255, 255, ); stroke(1, 255, 1); // 底面の幅と高さを指定して描画 rism3(6, 12); omatri(); void rism3(float w, float h) { w /= 2; h /= 2; float g = sqrt(3.) / 3. * w; // 側面の 3 枚の長方形 begishae(quads); verte(w, -h, -g); verte(w, h, -g); verte(, h, g*2); verte(, -h, g*2); verte(, -h, g*2); verte(, h, g*2); verte(-w, h, -g); verte(-w, -h, -g); verte(-w, -h, -g); verte(-w, h, -g); verte(w, h, -g); verte(w, -h, -g); edshae(); // 底面と上面の三角形 begishae(triangles); verte(w, -h, -g); verte(, -h, g*2); verte(-w, -h, -g); verte(w, h, -g); verte(, h, g*2); verte(-w, h, -g); edshae(); 7

7.7 3D モデルデータの利用 3D モデル表示 PShae 型 P3DではOBJデータが利用可能 (2DのPShaeは第 3 回資料参照 ) モデルの読み込み m = loadshae(" ファイル名 ") 2D 同様,setu() 内で準備する モデルの表示 shae(m) shae(m,, y, z) モデルの幾何変換 モデルデータ内における変換 m.traslate( ) m.scale( ) m.rotate{x,y,z( ) PShae のメソッド 描画色の設定 m.setfill( 色 or 真偽値 ) m.setstroke( 色 or 真偽値 ) 例 ) ofill() に相当することは, m.setfill(false) とする 入れ子モデルの取得 モデルの中に階層的にモデルが入っていることがある it = m.getchildcout() PShae c = m.getchild(i) 頂点座標の取得 その階層の頂点を順に取得 it = m.getvertecout() PVector v = m.getverte(i) PVector 型は,y,z 座標を持つ 8

7.8 3D モデルデータの表示例 // 準備 : beethove.zi をダウンロードし, // 中身の 3 ファイルを data フォルダに入れる PShae model; void setu() { size(4, 4, P3D); model = loadshae("beethove.obj"); // テクスチャを無効化にして色をつける例 //model.setteture(ull); //model.setfill(true); //model.setfill(color(255,, )); void draw() { backgroud(,, 128); lights(); traslate(width/2, height/2, ); rotatex(pi); rotatey(radias(framecout)); scale(2); // 通常のモデル表示 shae(model); // 頂点のみを表示する例 //stroke(255); strokeweight(.1); //shaeaspoits(model); // 頂点情報を取り出して点群で描画する例 void shaeaspoits(pshae sh) { it = sh.getvertecout(); for (it i = ; i < ; i++) { PVector v = sh.getverte(i); oit(v., v.y, v.z); = sh.getchildcout(); for (it i = ; i < ; i++) shaeaspoits(sh.getchild(i)); 9

7.9 演習課題 課題 問 1) 正八面体を描画するプログラムを作成しなさい 8 枚の正三角形を描画する (begishaeでtriangles) (-a,,) 回転させて裏側も確認しよう他の図形を 追加 してもよい (,,a) (,-a,) (,a,) (,,-a) (a,,) é3. A = ê ê êë.5 écos 45 C = ê ê si 45 êë ù ú ú 1úû - si 45 cos 45 問 2) 前回の復習 ù ú ú 1úû 2 次元幾何変換 A~C について以下の問いに答え,A4 用紙で提出しなさい 1. 合成変換行列 AB を計算しなさい é1 B = ê ê êë 4ù 2 ú ú 1 úû 2. 変換 AB の後に座標 (2, 6) に点を打つと, 画面のどこに表示されるか? 3. 合成変換行列 BA を計算し,AB との意味の違いを説明しなさい 4. 行列 C に対応する Processig の命令を示しなさい ( 定数 PI を用いてもよい ) 5. 合成変換行列 C 2 =CC を計算し, どのような変換か説明しなさい 1 1

7.1 参考 : 点群による球の描画 PImage img; // 球の表面画像 void setu() { size(6, 6, P3D); img = loadimage("earth.jg"); img.loadpiels(); // 点群による球面の描画例 void oitshere(float r, it d, PImage g) { strokeweight(d * 4); // 緯度 (lat) と経度 (lg) による 2 重ループ for (it lat = 9 - d; lat > -9; lat -= d) { float a = radias(lat); it e = (it)(d / cos(a)); // 緯度で間隔調整 for (it lg = -18; lg < 18; lg += e) { void draw() { backgroud(); lights(); ersective(); traslate(width/2, height/2); // 表面画像の対応点から色を抽出 it u = (lg + 18) * g.width / 36; it v = (-lat + 9) * g.height / 18; stroke(g.iels[u + v * g.width]); ushmatri(); // 緯度 経度から球面の3D 座標を計算 rotatex(radias(framecout)/2); float b = radias(lg); oit(r * cos(a) * cos(b), r * si(a), rotatey(radias(framecout)); r * cos(a) * si(b)); oitshere(2, 2, img); omatri(); 11

7.11 参考 :3DCG ソフトウェア紹介 MagicaVoel おすすめ ehtracy.github.io Miecraftのようにボクセル ( 立方体 ) でモデリング Tikercad おすすめ www.tikercad.com インストール不要なWebアプリ SketchU Free www.sketchu.com 建物 人工物のモデリングに向く ScultGL stehaegiier.com/scultgl/ 粘土 彫刻のようにモデリング Bleder www.bleder.org 高機能でフリー & オープンソース Maya / 3ds Ma など Autodesk 社のプロ向け製品 学生は無償で利用可能 www.autodesk.co.j/educatio メタセコイア www.metaseq.et 日本製で資料が豊富 Scultris iologic.com/scultris/ 粘土 彫刻のようにモデリング Vue Pioeer www.e-osoftware.com 自然景観生成 ( 非商用フリー版 ) DAZStudio www.daz3d.com/get_studio 人体ポーズ & アニメーション作成 12

7.11 参考 :3D モデルデータの取得 Google Poly oly.google.com Free3D free3d.com 3DModelFree.com www.3dmodelfree.com TurboSquid www.turbosquid.com Artist-3D.com artist-3d.com XOIO Air oio-air.de Uity アセットストア assetstore.uity.com/search?q=3d&q=models&q=rice: OBJ 出力 assetstore.uity.com/ackages/tools/utilities/scee-obj-eorter-2225 SketchU 3D Warehouse 3dwarehouse.sketchu.com OBJ 出力できるプラグイン sketchu-oigiri.jimdo.com/sketchu-lugis/su2objmtl/ 13