« プログラムの落書き
processing
| トップページ | 重力演算
max msp jitter »

2010.08.01

memo001

3d

package faceCatch;

import processing.core.PApplet;

public class RagiTest3D extends PApplet{

        float r1, r2, r3;
        float x, y, z;

        public void setup(){
                size(400, 400, P3D);
        }


        public void draw(){

                background(40);

                //角速度
                r1 += 5.0f;
                r2 += 5.0f;
                r3 += 5.0f;

                float xR = radians(r1) / 5;
                float yR = radians(r2) / 5;
                float zR = radians(r3) / 5;

                //X軸の回転角からの計算
                y = cos(xR) * 50 + width / 2;
                z = sin(xR) * 50 + height / 2;

                //Y軸の回転角からの計算
                z = cos(yR) * 50 + width / 2;
                x = sin(yR) * 50 + height / 2;

                //Z軸の回転角からの計算
                x = cos(zR) * 50 + width / 2;
                y = sin(zR) * 50 + height / 2;

                //System.out.println("x " + x);
                //System.out.println("y " + y);
                //System.out.println("z " + z);

                noStroke();
                lights();
                translate(x, y, z);
                sphere(5);

        }
}

Xy

package faceCatch;

import processing.core.PApplet;
import processing.core.PImage;

public class RagiTestNo2 extends PApplet{

        //イメージの読み込みオブジェクト
        PImage mapImage;

        float zRadians;

        float bx, by, bbx, bby;

        public void setup(){
                size(400, 400, JAVA2D);
                //イメージの読み込み放射状
                mapImage = loadImage("/Users/workspace/Processing/img/test.gif");
        }

        public void draw(){

                //背景画像指定
                image(mapImage, 0, 0);

                //変化角度
                zRadians += 1.f;

                //ラジ角
                float r = radians(zRadians);

                //cos(ラジ角) * 距離 + 回転中心
                bx = cos(r) * 150 + 200;
                by = sin(r) * 150 + 200;

                bbx = cos(r) * 200 + 200;
                bby = sin(r) * -150 + 200;

                smooth();
                fill(100, 100, 255);
                ellipse(bx, by, 10, 10);
                fill(255, 100, 100);
                ellipse(bbx, bby, 10, 10);


        }
}

Test

|

« プログラムの落書き
processing
| トップページ | 重力演算
max msp jitter »

processing」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/198455/49028682

この記事へのトラックバック一覧です: memo001:

« プログラムの落書き
processing
| トップページ | 重力演算
max msp jitter »