November 11, 2008

RhinoScript | Bubbles - Random circles



오늘 수업시간에 RND 함수의 사용법 설명을 위해 만들었던 예제이다.
종이컵 패키지 디자인을 해야할 일이 있어 응용했는데, 1도 색상으로 처리했음에도 그런데로 결과가 잘 만들어졌다.


Option Explicit

CirclesRnd

Sub CirclesRnd()

Dim x,y,R, arrPoint, UB,LB, R1,R2,arrPlane
Dim arrCircle, strCircle, intIndex, arrPObj

For x=0 To 100 Step 2

  For y=0 To 10 Step 2

   UB=3*x/30 : LB=-3*x/30 : R=Rnd*x/20
   R1=(UB-LB+1)*Rnd+LB : R2=(UB-LB+1)*Rnd+LB

   arrPoint = Array (x+R1,y+R2,R1)
   arrPlane = Array (arrPoint, Array(1,0,0), Array(0,1,0), Array(0,0,1) )

   If Not(R=0) Then
     strCircle = Rhino.AddCircle (arrPlane, R)
     arrCircle=Array(strCircle)
     arrPObj = Rhino.AddPlanarSrf ( arrCircle )
     intIndex = Rhino.ObjectMaterialIndex(arrPObj(0))
     intIndex = Rhino.addMaterialToObject(arrPObj(0))
    If (intIndex > -1) Then
     Rhino.MaterialColor intIndex, Rhino.ColorHLSToRGB( Array((X+10)*1.5*Rnd, 125, 255) )
     Rhino.MaterialTransparency intIndex, 0.6
    End If
   End If
   Next
Next

End Sub

No comments: