processing
P3D를 사용한 기본 모양 및 기능
수색…
통사론
- translate (float x, float y, float z)
- rotateX (플로트 각도)
- rotateY (부동 각도)
- rotateZ (부동 각도)
- 상자 (플로트 크기)
- 상자 (float w, float h, float d)
매개 변수
매개 변수 | 세부 |
---|---|
각도 | 각은 라디안 단위이다. |
크기 | 모든 치수에 사용되는 상자의 치수 |
w | x-axis 에있는 상자의 크기 |
h | 상자의 y-axis 치수 |
디 | z-axis 상자의 치수 |
3D 번역
P3D에서 오브젝트를 번역하는 방법은 다음과 같습니다.
size(200, 200, P3D); //Starting P3D renderer
fill(255, 0, 0, 150); //transparent red
rect(10, 10, 100, 100); //first rectangle
fill(0, 0, 255, 150); //transparent blue
translate(50, 50, 50); //translate x, y and z by 50 pixels
rect(0, 0, 100, 100); //second rectangle (same dimensions as the first one)
빨간색 : 첫 번째 사각형 파란색 : 두 번째 사각형
위의 그림에서 알 수 있듯이 두 번째 사각형은 첫 번째 사각형보다 큼만 보입니다. 사실 직사각형을 z-axis
따라 50
픽셀 변환 한 결과 화면에 "더 가깝습니다"(그리고 물론, 사각형은 x
축과 y
축을 따라 변환되었습니다.)
3D 회전
3D 회전에는 세 가지 기능이 있습니다. angle
가 라디안 인 각 축의 회전에 대해 rotateX(angle)
, rotateY(angle)
및 rotateZ(angle)
입니다.
size(200, 200, P3D); //Starting P3D renderer
fill(255, 0, 0, 150); //transparent red
translate(width/2, height/2);//translate to centre, ie (100, 100)
rectMode(CENTER);//This makes the rectangle centre in (100, 100)
rect(0, 0, 100, 100); //first rectangle
fill(0, 0, 255, 150); //transparent blue
rotateX(PI/4); //rotate in the x-axis by PI/4 radians (45 degrees)
rect(0, 0, 100, 100); //second rectangle (same dimensions as the first one)
rotateY(radians(45)); //rotate in the y-axis by passing the radians conversion of 45 degrees
rotateZ(3*PI/4); //rotate in the z-axis by 3*PI/4 radians (270 degrees)
참고 : 변환 (예 : 변환 및 회전)은 이전 변환에 추가됩니다.
직육면체 그리기
직육면체를 그리려면 box()
의 크기를 매개 변수로 지정하여 box()
함수를 사용해야합니다.
size(200, 200, P3D); //Starting the P3D renderer
translate(width/2, height/2); //Translating to the centre of the sketch
rotateY(PI/4); //rotate so that...
rotateX(PI/6); //... it will be easy to see the box
noFill(); //disabling the box's fill, so that we will be able to see its edges
box(100, 50, 75); //the box function requires its dimensions as its parameters
box()
함수는 매개 변수로서의 위치를 허용하지 않습니다.
또한 하나의 매개 변수로 box()
함수를 호출하는 방법도 있습니다. 이 경우 큐브가됩니다.
stroke(0, 100, 255); //change the edges' colour
fill(0, 0, 255); //fill the `box` in a blue colour
box(100); //draw a cube
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow