スライド 1

Similar documents
Computer Graphics

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

スライド 1

CG

CG

CG

CG

Microsoft PowerPoint P演習 第5回 当たり判定(2)【課題】.pptx

スライド 1

配付資料

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

pp2018-pp4base

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

CG

課題

Taro-テキスト.jtd

Processing入門マニュアル17

情報メディア基盤ユニット用資料 (2015 年 7 月 14 日分 ) Processing 言語による情報メディア入門 はじめに オブジェクト指向入門 神奈川工科大学情報メディア学科 近のプログラミング言語では オブジェクト指向 (object 最 oriented) と呼ばれる機能を持っているも

Processingをはじめよう

pp2018-pp9base

Microsoft Word - CGP_GM

Microsoft PowerPoint ppt

<4D F736F F D B B83578B6594BB2D834A836F815B82D082C88C60202E646F63>

課題

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

課題

Microsoft Word - gnuplot

プログラミング演習 Ⅰ 第 14 回 2017/6/5( 月 ) ゲームを作る クイズ 担当 : 紅林林

ToDo: 今回のタイトル

pp2018-pp10base

Microsoft Word - SKY操作マニュアル.doc

課題

pp2019-pp10-base

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

00

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

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

Microsoft Word - povray.docx

C#の基本

Microsoft PowerPoint - OOP.pptx

1 〇〇クリッカーマニュアル 目次 クリックすると移動します 目次準備 1. VC または VS2013 をインストール 2. DX ライブラリのダウンロードと解凍 3. なんとかクリッカー プロジェクトのダウンロードと解凍 4. なんとかクリッカー プロジェクトを開く編集編集する部分画

3. 文字の入力 文字 ボタンをクリックします 文字入力したい範囲をドラックし 文字枠を作成します 文字を入力します この作業を繰り返します マウスポインタの形 4. 文字枠のサイズ変更 拡大 ボタンをクリックします 大きさを変えたい文字枠をクリックします マウスポインタを文字枠の右下のハンドル (

Microsoft Word - A05_AndroidプログラミングJUMP_画面800×1280

課題

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

CG

Microsoft Word - 参照データ使用方法.docx

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

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

. フォントを OS にインストールする インターネット等で入手したフリーのフォントをインストールすることにより Windows に標準でインストールされているフォント以外のものを利用することができます 多数のフォントをインストールするとパソコンの動作が遅くなります 必要なフォント以外はインストール

Create!Form V11 - Excel 出力設定

読取革命Ver.15 かんたん操作ガイド

CubePDF ユーザーズマニュアル

file:///N|/ncs/サービス技術課/e-learning/社内検図用/販促用/32-35/ope35ver3.02.html

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

Create!Form V11 - 機能リファレンス - テスト実行

Processingをはじめよう

演算増幅器

EnSight 10.1の新機能

UTF8対応日本語簡易マニュアル

Vectorworks 投影シミュレーションプラグイン

Athena の起動 デスクトップ上の Athena のアイコンをダブルクリックする もしくは スタートメニューのプロ グラム一覧から Demeter with Strawberry Pert 内の Athena をクリックする デスクトップ上のアイコン スタートメニューのプログラム一覧 プラグイン

PDF Convertor for mac スタートアップガイド

課題

スライド 1

もう少し詳しい説明 1. アルゴリズムを構築するための 4 枚のサンプル画像を次々と読み込むここで重要なことは画像を順番に読み込むための文字列操作 for 文の番号 i を画像の番号として使用している strcpy は文字列のコピー,sprinf は整数を文字列に変換,strcat は文字列を繋げる

WebGL Safari WebGL WebGL Safari Kageyama (Kobe Univ.) / 5

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

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

演算増幅器

PowerPoint プレゼンテーション

UMLプロファイル 機能ガイド

Microsoft Word - BentleyV8XM_GoogleEarth.docx

슬라이드 1

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

Microsoft Word - VisualBaseManual0.doc

uCosminexus EUR 08-20新機能のご紹介

piyo0702a.rtfd

Prog1_12th

PowerPoint プレゼンテーション


(3) 本文を書く 実際にページを開いたときに表示される本文を書いてみましょう から の間に書きます <html > <head > <title > 武のホームページ </title > </head > </html > (4) ページを保存する ここで一度ページを保存してみましょう テキストエ

SnNCutCnvs ステッカーウィザードを使ってデザインを作成する ここでは スターターキットに付属している A4 サイズ (210 mm 297 mm) のプリントステッカーを使用する場合の例を説明します [ ステップ 1] エリアサイズを変更します パソコンの場合 : 編集画面 >[ プロジェ

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

MoreStudy 第 6 章 MoreStudy 第 6 章 第 1 節 貼り付け 3 [ 形式を選択して貼り付け ] ダイアログから [Microsoft Excel ワークシート ] を選択し [OK] ボタンを 押します 1 Excel ワークシートで貼り付け [Pastespec] リボン

ch2_android_2pri.indd

挙動チェックポイントなどセミコロン ; を忘れていませんか? 黄色なんだか動かないで表示されている部分またはその少し前 Syntax error, maybe a missing にセミコロンを忘れている場所はありま semicolon? などと表示されます せんか? なんだか動作がおかしい の部分

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

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

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

2 個の円の移動サンプル 9-2 float y0,y1; // 円の中心の Y 座標 float x0,x1; // 円の中心の X 座標 float v0,v1; // 円の縦方向の移動速度 int radius; size(300,400); radius = 10; v0 = random(

PowerPoint プレゼンテーション

Microsoft Word - no204.docx

イントロダクション

512_横断図の編集例


2006年10月5日(木)実施

2 / 25 複数ソフトの組み合わせ テキストファイルを Excel で開く テキスト形式 (.txt) で保存したファイルを Excel で利用しましょう 第 14 講で保存した west.txt を Excel で開きます 1. Excel を起動します 2. [Office ボタ

214_横断図の編集例

Microsoft Word - Android開発環境構築.doc

Transcription:

Graphics with Processing 2008-12 モデリング http://vilab.org 塩澤秀和 1

12.1 3D モデリング モデリング 3Dモデルを作り上げること オブジェクト座標系で基本図形やポリゴンを組み合わせる テクスチャ x テクスチャ z y 2

12.2 オブジェクトの関数例 複雑なオブジェクトは, 大きさ 1 を目安としてモデリングし, 関数にしておくと利用しやすい 雪だるま 円錐 ( 底なし ) 木 ( のようなもの ) void snowman() { fill(255, 255, 255); nostroke(); translate(0, -0.7); sphere(0.2); translate(0, -0.3); sphere(0.3); void cone() { beginshape(triangle_fan); vertex(0, -1, 0); for (int th = 0; th <= 360; th += 10) { float x = cos(radians(th)); float z = sin(radians(th)); vertex(x, 0, z); void tree() { fill(0, 255, 0); translate(0, -0.3, 0); scale(0.2, 0.7, 0.2); cone(); fill(100, 0, 0); scale(0.1, 1, 0.1); cone(); 3

12.3 少し複雑なモデリング // OPENGL のほうが正確 // size( 幅, 高さ, OPENGL); // P3D だとテクスチャが歪む void house() { // 壁 translate(0, -0.5, 0); fill(#ffffaa); box(2, 1, 1.4); // 屋根の下 beginshape(triangles); vertex(1, -1, 0.7); vertex(1, -1.7, 0); vertex(1, -1, -0.7); vertex(-1, -1, 0.7); vertex(-1, -1.7, 0); vertex(-1, -1, -0.7); // 屋根 beginshape(quad_strip); fill(#ffffff); // テクスチャは setup() の中で // roof = loadimage("roof.jpg"); // として読み込んでおく texture(roof); texturemode(normalized); vertex(-1.1, -0.8, 0.9, 0, 1); vertex(1.1, -0.8, 0.9, 1, 1); vertex(-1.1, -1.7, 0, 0, 0); vertex(1.1, -1.7, 0, 1, 0); vertex(-1.1, -0.8, -0.9, 0, 1); vertex(1.1, -0.8, -0.9, 1, 1); // 煙突 fill(#880000); translate(-0.5, -1.4, -0.5); box(0.2, 1, 0.2); beginshape(quads); // 窓 fill(#4444ff); float z = 0.701; vertex(-0.8, -0.7, z); vertex(-0.8, -0.3, z); vertex(-0.4, -0.3, z); vertex(-0.4, -0.7, z); vertex(-0.2, -0.7, z); vertex(-0.2, -0.3, z); vertex(0.2, -0.3, z); vertex(0.2, -0.7, z); // ドア fill(#883333); vertex(0.4, -0.8, z); vertex(0.4, -0.1, z); vertex(0.8, -0.1, z); vertex(0.8, -0.8, z); 4

12.4 ソフトウェアを利用したモデリング Art of Illusion ホームページ http://www.artofillusion.org 3DモデルをOBJ 形式で保存し, Processingで利用できる レンダリングやアニメーション作成もできるフリーソフトウェア インストールと実行 ArtOfIllusion???-Windows.exe ( 英語で ) ライセンスへの承諾を求められるので,[Yes] を選択 スタートメニューの [Start Art of Illusion] から起動 使い方の参考 ( 日本語 ) http://ei-www.hyogodai.ac.jp/~masahiko/aoi/i ndex.html 使い方のポイント 基本描画 左のツールボタンから選択 図形の配置, 移動, 回転など シーン レンダーでCG 生成 色とテクスチャ 単色 : タイプ [Uniform] 画像 : タイプ [Image Mapped] OBJ 形式での保存 ファイル データ書き出し Wavefront(.obj) [ テクスチャをmtlで書き出し ] OBJ(mtl) 変換での注意点 色の対応がおかしい ( バグ?) 拡散反射色 環境反射色 (Ka) 発光色 拡散反射色 (Kd) 5

12.5 モデルデータの利用 モデルデータの読み込み.OBJ Loader Processing の拡張機能 OBJ 形式のモデルを表示できる (data フォルダに入れておく ) http://code.google.com /p/saitoobjloader/ インストール まずobjloader???.zipを展開 objeloaderというフォルダを見つけて,processingフォルダの下のlibrariesのなかにコピー利用方法 プログラム冒頭で読み込む import saito.objloader.*; モデルデータの描画 OBJModel 型 まず, データ用の変数を用意 OBJModel m = new OBJModel(this); m.load(" ファイル名.obj") データファイルの読み込み m.drawmode( 描画モード ) 描画モードの設定 TRIANGLES か POLYGON m.enabletexture(), m.disabletexture() テクスチャの有効化と無効化 m.draw() モデルの描画 6

12.6.OBJ Loader の使用例 // 準備 : モデルデータ (beethoven.obj, // beethoven.mtl,beethoven1.jpg // の 3 つのファイル ) をダウンロードし, // スケッチの data フォルダに入れておく // ( メニューで Sketch Add File...) import saito.objloader.*; OBJModel model; void setup() { size(400, 400, P3D); model = new OBJModel(this); model.load("beethoven.obj"); void draw() { background(0, 0, 100); lights(); translate(width*0.3, height/2, 0); rotatex(radians(200)); rotatey(radians(framecount)); scale(150); nostroke(); model.enabletexture(); model.drawmode(triangles); model.draw(); translate(width*0.7, height/2, 0); rotatex(radians(200)); rotatey(radians(framecount)); scale(150); stroke(#ffffff); model.drawmode(lines); model.draw(); 7

12.7 参考 : オフスクリーンレンダリング import processing.opengl.*; PGraphics pg; // 隠し画面用変数 void setup() { size(400, 300, OPENGL); // 隠し画面を開く // 3 つの引数の意味は size 関数と同じ pg = creategraphics(100, 100, JAVA2D); void draw() { // 隠し画面上での描画処理 pg.begindraw(); // 開始 pg.background(255); pg.translate(50, 50); pg.fill(240, 180, 180); pg.rotate(radians(framecount)); pg.rect(-100, -3, 200, 6); pg.enddraw(); // 終了 // 表示画面での処理 background(255); lights(); translate(width / 2, height / 2, 0); rotatex(radians(framecount) / 8); scale(90); beginshape(quads); texture(pg); // 隠し画面を画像として使う texturemode(image); vertex(-1, 1, 1, 0, 0); vertex( 0, 1, 0, 50, 0); vertex( 0,-1, 0, 50, 100); vertex(-1,-1, 1, 0, 100); vertex( 0, 1, 0, 50, 0); vertex( 1, 1, 1, 100, 0); vertex( 1,-1, 1, 100, 100); vertex( 0,-1, 0, 50, 100); 8

12.8 参考 : タイポグラフィ ( 文字表示 ) // 描画用フォントの変数 (PFont 型 ) PFont font1, font2; void setup() { size(300, 300, P3D); // 注意 // 1. Processing 専用フォントの利用例 // (Tools Create Font... で作っておく ) font1 = loadfont("impact-48.vlw"); // 2. システムフォント (Java+OS) の利用例 hint(enable_native_fonts); font2 = createfont("century", 48); void draw() { background(255); translate(width/2, height/2); rotatex(radians(framecount)); // 座標モードと xy 方向の位置あわせ方法 textmode(model); textalign(center, TOP); textfont(font1, 32); // フォントとサイズ fill(128, 0, 0); // 色 text("impact", 0, 20); // 文字列と座標 fill(0, 0, 128); textfont(font2, 64); text("century", 0, 80); 注意 :3D モード (P3D または OPENGL) では日本語の文字列が描画できない 対策として, オフスクリーンレンダリングを利用し,2D の隠し画面に日本語を書いからそれをテクスチャマッピングで 3D モデルの表面に貼るという方法がある (12.7 参照 ) 9