情報メディア基礎ゼミ/2018/第4回
をテンプレートにして作成
開始行:
**ライティング [#ddfef71a]
ライティングにより,より表現力のある3DCGを描画します.
**ambientLight [#y7337fff]
日本語では環境光と呼ばれます.図形の面の位置や向きに関係...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
ambientLight(127, 127, 127);
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./ambient.png,50%);
球はfill(255,0,0)で赤に設定されているので,環境光の色(12...
**directionalLight [#fc3a3114]
光の色と,向きのみを持つ基本的なライトです.平行光源とも...
光の向きと,図形の面の垂直方向の向き(法線)の向きだけで...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
directionalLight(255, 255, 255, -1, 0, 0);
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./directional.png,50%);
上記の例では,原点から(-1,0,0)への向きで白色の光源を設...
**pointLight [#d6a1d81f]
点光源とも呼ばれます.色と位置を持ち,光源から離れると光...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
pointLight(255, 255, 255, 50, 0, 0);
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./point.png,50%);
光の減衰率はlightFalloff関数により設定できます.
-http://www.processing.org/reference/lightFalloff_.html
**spotLight [#i49c0daf]
名前の通り,現実のスポットライトと同等の機能を持つ光源で...
-http://www.processing.org/reference/spotLight_.html
**光源の位置,向きの変換 [#f7971619]
光源の位置や向きも,translationやrotate関数により変換する...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
pushMatrix();
rotateZ(-PI/4);
directionalLight(255, 255, 255, -1, 0, 0);
popMatrix();
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./lightrot.png,50%);
上記の例では,(-1,0,0)の向きの光源をZ軸中心に45度回転し,...
**課題 [#g01cc35a]
以下のアニメーションを作成しなさい.見た目が同じであれば...
#ref(./kadai.wmv);
ヒント:
光源による図形の色の計算は,図形の頂点ごとに行われるため...
#ref(./plane.png,50%);
終了行:
**ライティング [#ddfef71a]
ライティングにより,より表現力のある3DCGを描画します.
**ambientLight [#y7337fff]
日本語では環境光と呼ばれます.図形の面の位置や向きに関係...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
ambientLight(127, 127, 127);
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./ambient.png,50%);
球はfill(255,0,0)で赤に設定されているので,環境光の色(12...
**directionalLight [#fc3a3114]
光の色と,向きのみを持つ基本的なライトです.平行光源とも...
光の向きと,図形の面の垂直方向の向き(法線)の向きだけで...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
directionalLight(255, 255, 255, -1, 0, 0);
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./directional.png,50%);
上記の例では,原点から(-1,0,0)への向きで白色の光源を設...
**pointLight [#d6a1d81f]
点光源とも呼ばれます.色と位置を持ち,光源から離れると光...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
pointLight(255, 255, 255, 50, 0, 0);
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./point.png,50%);
光の減衰率はlightFalloff関数により設定できます.
-http://www.processing.org/reference/lightFalloff_.html
**spotLight [#i49c0daf]
名前の通り,現実のスポットライトと同等の機能を持つ光源で...
-http://www.processing.org/reference/spotLight_.html
**光源の位置,向きの変換 [#f7971619]
光源の位置や向きも,translationやrotate関数により変換する...
void setup()
{
size(640, 480, P3D);
}
void draw()
{
background(127, 127, 127);
camera(100, -100, 100, 0, 0, 0, 0, 1, 0);
axis(100);
fill(255, 0, 0);
noStroke();
pushMatrix();
rotateZ(-PI/4);
directionalLight(255, 255, 255, -1, 0, 0);
popMatrix();
sphere(30);
}
void axis(float l)
{
stroke(255, 0, 0);
line(0, 0, 0, l, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, l, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, l);
}
#ref(./lightrot.png,50%);
上記の例では,(-1,0,0)の向きの光源をZ軸中心に45度回転し,...
**課題 [#g01cc35a]
以下のアニメーションを作成しなさい.見た目が同じであれば...
#ref(./kadai.wmv);
ヒント:
光源による図形の色の計算は,図形の頂点ごとに行われるため...
#ref(./plane.png,50%);
ページ名: