[Groovy and Processing] 투시 투영 투영법

6592 단어 processingGroovy
투시 투영 투영법으로 그립니다.
Processing 공식 샘플은 입방체를 그립니다.
이번에는 동영상을 따라 우주 같은 것을 그립니다.
위키로 스피드업, 아래키로 스피드다운, 스페이스 키로 스피드를 0으로 하고 C키로 초기값으로 돌아온다.

동영상 목록 : LWJGL 튜토리얼
동영상은 코코
package episode016

import processing.core.PApplet

class DisplayTest extends PApplet {

    def z = 0
    def speed = 0
    def points = []

    def void setup() {
        size(640, 480, P3D)
        frameRate(60)

        10000.times {
            points << [x: random(width), y: random(height), z: random(200) - 200]
        }
    }

    def void draw() {
        background(0, 0, 0)

        perspective(30, width / height, 0.01, 200)

        z += speed
        translate(0, 0, z)

        noSmooth()
        stroke(255, 255, 255)
        strokeWeight(1)
        points.each {
            point((float)it.x, (float)it.y, (float)it.z)
        }
    }

    def void keyPressed() {
        if (keyCode == UP) {
            speed += 1
        }
        if (keyCode == DOWN) {
            speed -= 1
        }
        if (key == ' ') {
            speed = 0
        }
        if (key == 'c') {
            speed = 0
            z = 0
        }
    }

    def static void main(args) {
        PApplet.main('episode016.DisplayTest')
    }
}

좋은 웹페이지 즐겨찾기