글
2004.06.21 [POV-Ray] While Loop 연습
비가 많이 내렸습니다. 태풍의 직접적인 영향이 아니었는데도 비가 많이 내렸습니다. 이곳 고한에도 비가 너무 많이 내려 내심 걱정을 많이 했는데, 큰 피해는 없이 지나간 듯 합니다.
어제는 나팔을 만들어 보았는데 오늘은 while루프를 이용해서 반복해서 개체를 그리는 연습을 했습니다.
가운데에 노란색 공을 하나 그려 개체로 만든 후 while 루프 안에 넣어서 x축 방향으로 -5에서 5까지 0.5간격으로 배열한 것입니다.
#include "colors.inc"
camera {
location <5.0, 10.0, -10.0>
look_at <0.0, -2.0, 0.0>
right x*image_width/image_height
}
background { White }
light_source {
<100, 100, -100>, White
}
#declare Ball =
sphere {
<0, 0, 0>, 0.25
texture {
pigment { color rgb<1, 0.7, 0> }
finish {
ambient 0.1
diffuse 0.9
phong 1
}
}
}
#declare Step = 0.5;
#declare X = -5;
#declare EndX = 5;
#while (X <(EndX + Step))
object { Ball translate <X, 0, 0> }
#declare X = X + Step;
#end

<<x축 방향으로 나열한 공의 모습>>
다시 z축으로 while루프를 만들어 x축으로 줄긋는 나열하는 것을 반복해서 사각형 형태로 배열해 보았습니다. 아래의 소스는 위의 소스의 #declare X = -5; 로 시작되는 부분(파란색으로 표시된 부분)이하를 바꿔주면 됩니다.
#declare Z = -5;
#declare EndZ = 5;
#while (Z < (EndZ + Step))
#declare X = -5;
#declare EndX = 5;
#while (X < (EndX + Step))
object { Ball translate <X, 0, Z> }
#declare X = X + Step;
#end
#declare Z = Z + Step;
#end

<<X-Z축으로 공을 배열한 모습>>
평평한 배열이 보기 그래서 약간의 굴곡을 주기 위해 소스의 while 루프 속의 object { Ball transdlate <X, 0, Z> }의 y축값을 바꾸어 보았습니다.

<< object { Ball translate <X, sin(X), Z> } 인 경우 >>

<< object { Ball translate <X, sin(Z), Z> } 인 경우 >>

<< object { Ball translate <X, sin(X)*sin(Z), Z> } 인 경우
오늘은 여기까지입니다... 오늘도 행복한 하루 되세요...
'과학이야기 > 발명-과학기타' 카테고리의 다른 글
2004.06.25 [POV-Ray] 과녁을 맞춰보자... (2) | 2004.06.25 |
---|---|
2004.06.25 [POV-Ray] 대포알 날리기 연습 (0) | 2004.06.25 |
2004.06.24 [POV-Ray] 로켓만들기 (1) | 2004.06.24 |
2004.06.23 [POV-Ray] clock을 이용한 애니메이션 (4) | 2004.06.23 |
2004.06.20 나의 POV-Ray 첫 작품(나팔) (0) | 2004.06.20 |