随意課題 
3D図形言語※を利用して独創的な3Dモデルを作成せよ 
※ 図形言語を3Dに拡張したシステム 
(define (painter:tetrahedron attribute origin size) (let ((s0 (/ 1.0 2.0)) (s1 (/ 1.0 (* 2.0 (sqrt 2.0))))) (let ((ps (list (list s0 0.0 s1) (list (- s0) 0.0 s1) (list 0.0 s0 (- s1)) (list 0.0 (- s0) (- s1)))) (ts (list (list 0 1 3) (list 0 2 1) (list 0 3 2) (list 1 2 3)))) (painter:polyhedron attribute (map (lambda (p) (add (scl size p) origin)) ps) ts)))) (define (sierpinski-tetrahedron attribute size max-count) (define (sierpinski-tetrahedron% origin size counter) (if (<= counter 0) (painter:tetrahedron attribute origin (* 1.3 size)) (let ((s0 (/ 1.0 4.0)) (s1 (/ 1.0 (* 4.0 (sqrt 2.0))))) (let ((o0 (add (scl size (list s0 0.0 s1)) origin)) (o1 (add (scl size (list (- s0) 0.0 s1)) origin)) (o2 (add (scl size (list 0.0 s0 (- s1))) origin)) (o3 (add (scl size (list 0.0 (- s0) (- s1))) origin)) (s/2 (/ size 2))) (painter:union (sierpinski-tetrahedron% o0 s/2 (1- counter)) (sierpinski-tetrahedron% o1 s/2 (1- counter)) (sierpinski-tetrahedron% o2 s/2 (1- counter)) (sierpinski-tetrahedron% o3 s/2 (1- counter))))))) (sierpinski-tetrahedron% (list 0.0 0.0 0.0) size max-count)) 
Scheme 
コード 
描画 
造型
補遺1:資料の種類と場所 
1. 
3D図形言語のソースコード https://github.com/vi-iv/jakld-3dcg 
2. 
紙の配布資料 1.のファイル中の doc/leaflet_20141216.pdf 
3. 
アンケート用紙 1.のファイル中の doc/questionnaire.pdf 
4. 
このスライド 1.のファイル中の doc/slide_20141216.pdf or http://www.slideshare.net/vi-iv/jakld-3dcg
補遺2:ソースコード等ファイルの説明 
doc/ 
practice[1-6].scm 配布資料中のプログラム 
leaflet20141216.pdf 紙の配布資料 
slide20141216.pdf このスライド 
questionnaire.pdf アンケート 
mod/ 
hilbert-curve.scm フラクタル作例 (Hilbert曲線) 
menger-sponge.scm 〃 (Mengerスポンジ) 
sierpinski-tetrahedron.scm 〃 (Sierpinski正四面体) 
trivial-shape.scm 単純な形状の例 
variable.scm 視点や光源の定義例 
src/ 
fileio.scm 入出力に関する手続き 
load.scm ロード用 
modeling.scm モデリングに関する手続き 
rendering.scm レンダリングに関する手続き 
utility.scm ユーティリティ群 
variable.scm 定数や大域変数
課題の提出方法 
提出物の要件: 
①3Dペインタを表すプログラムのソース(*.scm) 
②上記3Dペインタの描画結果の画像(*.png) 
③上記プログラムの説明(*.txt) 
④回答済みアンケート(questionnaire.pdf) 提出先:kfurukaw@kuis.kyoto-u.ac.jp(古川) 締 切:2015年1月4日 23:59(次回講義の前々日) 備考1:メールの本文に氏名と学籍番号を記述 備考2:メールの題名は「随意課題提出 氏名」

3次元図形をSchemeで造ろう!

  • 1.
    随意課題 3D図形言語※を利用して独創的な3Dモデルを作成せよ ※図形言語を3Dに拡張したシステム (define (painter:tetrahedron attribute origin size) (let ((s0 (/ 1.0 2.0)) (s1 (/ 1.0 (* 2.0 (sqrt 2.0))))) (let ((ps (list (list s0 0.0 s1) (list (- s0) 0.0 s1) (list 0.0 s0 (- s1)) (list 0.0 (- s0) (- s1)))) (ts (list (list 0 1 3) (list 0 2 1) (list 0 3 2) (list 1 2 3)))) (painter:polyhedron attribute (map (lambda (p) (add (scl size p) origin)) ps) ts)))) (define (sierpinski-tetrahedron attribute size max-count) (define (sierpinski-tetrahedron% origin size counter) (if (<= counter 0) (painter:tetrahedron attribute origin (* 1.3 size)) (let ((s0 (/ 1.0 4.0)) (s1 (/ 1.0 (* 4.0 (sqrt 2.0))))) (let ((o0 (add (scl size (list s0 0.0 s1)) origin)) (o1 (add (scl size (list (- s0) 0.0 s1)) origin)) (o2 (add (scl size (list 0.0 s0 (- s1))) origin)) (o3 (add (scl size (list 0.0 (- s0) (- s1))) origin)) (s/2 (/ size 2))) (painter:union (sierpinski-tetrahedron% o0 s/2 (1- counter)) (sierpinski-tetrahedron% o1 s/2 (1- counter)) (sierpinski-tetrahedron% o2 s/2 (1- counter)) (sierpinski-tetrahedron% o3 s/2 (1- counter))))))) (sierpinski-tetrahedron% (list 0.0 0.0 0.0) size max-count)) Scheme コード 描画 造型
  • 2.
    補遺1:資料の種類と場所 1. 3D図形言語のソースコードhttps://github.com/vi-iv/jakld-3dcg 2. 紙の配布資料 1.のファイル中の doc/leaflet_20141216.pdf 3. アンケート用紙 1.のファイル中の doc/questionnaire.pdf 4. このスライド 1.のファイル中の doc/slide_20141216.pdf or http://www.slideshare.net/vi-iv/jakld-3dcg
  • 3.
    補遺2:ソースコード等ファイルの説明 doc/ practice[1-6].scm配布資料中のプログラム leaflet20141216.pdf 紙の配布資料 slide20141216.pdf このスライド questionnaire.pdf アンケート mod/ hilbert-curve.scm フラクタル作例 (Hilbert曲線) menger-sponge.scm 〃 (Mengerスポンジ) sierpinski-tetrahedron.scm 〃 (Sierpinski正四面体) trivial-shape.scm 単純な形状の例 variable.scm 視点や光源の定義例 src/ fileio.scm 入出力に関する手続き load.scm ロード用 modeling.scm モデリングに関する手続き rendering.scm レンダリングに関する手続き utility.scm ユーティリティ群 variable.scm 定数や大域変数
  • 4.
    課題の提出方法 提出物の要件: ①3Dペインタを表すプログラムのソース(*.scm) ②上記3Dペインタの描画結果の画像(*.png) ③上記プログラムの説明(*.txt) ④回答済みアンケート(questionnaire.pdf) 提出先:kfurukaw@kuis.kyoto-u.ac.jp(古川) 締 切:2015年1月4日 23:59(次回講義の前々日) 備考1:メールの本文に氏名と学籍番号を記述 備考2:メールの題名は「随意課題提出 氏名」