yam 蕃薯藤
天空部落
  • 網誌
  • 相簿
  • 影音
  • 夯集
  • PK吧!
  • 揪便宜
  • i鬥圖
  • la zorza
  • 買房子
新聞
  • 即時新聞
  • 影音新聞
  • 新聞專輯
  • 政治新聞
  • 財經新聞
  • 娛樂新聞
  • 運動新聞
  • 兩岸新聞
  • 科技新聞
註冊 登入
夯集
隨便逛
  • 正妹
  • 熱門
  • 網誌
  • 旅遊/攝影
  • 愛情/交友
  • 親子/教育
  • 美食/休閒
  • 設計/創作
  • 家族/同好
  • 影視/音樂
  • 社會/人文
  • 時尚/美容
  • 寵物/生活
  • 工作/職場
  • 科技/金融
  • 運動/健康
  • 交通/運輸
  • 相簿
  • COSPLAY
  • 布袋戲迷
  • 電玩漫畫
  • 女生照片
  • 藝術寫真
  • 攝影作品
  • 男生照片
  • 影視娛樂
  • 大眼小布
  • 情侶拍拍
  • 旅遊紀錄
  • 朋友團體
  • 人文藝術
  • more...
推薦這個部落格: 13

NotOnlyCode / NOC

an open platform for discussing about the generative design on Rhinoceros

日記 |網誌 |影音 |相簿 |好友 |留言板
04=Intorduction to RhinoScript (Loops-2 & Comparisons) | 主頁 | 02=Introduction to RhinoScript (Syntax)
July 6, 2008
03=Introduction to RhinoScript(Loops-1)以文找文
neilarchi 在天空部落發表於20:27:18 | RhinoScript
 

An short introduction to RhinoScript



        在瞭解RhinoScript的基本語法之後,我們這次要說明的是VB中的「迴圈」(Loops)種類與概念。VB的迴圈基本上可以分為三種:(1) For...Next (計數迴圈)、(2) Do...Loop (條件式迴圈)、(3) For Each...In...Next (陣列迴圈)。三種迴圈的特色與用法各有不同,端看在何種需要來選擇。舉例來說,計數迴圈顧名思義就是指當我們已經知道某一個數量時所使用;而條件式迴圈則是迴圈本身具有條件的設定功能,透過條件的符合與不符合判斷可以決定進入迴圈或者離開迴圈;陣列迴圈則是將在一個「陣列」(array)中的物件一一取出來執行某些命令動作。將上述的迴圈種類與表達方式整理如下:

                (1) 計數迴圈
           For...Next
       (2) 條件式迴圈
           Do While...Loop (前側式)
           Do Until...Loop (前側式)
           Do...Loop While (後測式)
           Do...Loop Until (後測式)
           Do...Loop (無窮)
           While...Wend (如果為真)
       (3) 陣列迴圈
           For Each...In...Next

        接下來,我們就一一說明上述的迴圈運用方式以及提供簡易的範例。先從計數迴圈說起,如果我們執行下列程式,我們可以在Rhino工作介面的Command列看到Rhino當我們印出"1"。

                Dim A: A=1
       Call Rhino.Print(A)

        以此類堆,如果我們要依序印出"1 2 3 4 5 6 7 8",當然可以很辛苦地這麼寫:

                Dim A: A=1
       Dim B: B=2
       Dim C: C=3
       Dim D: D=4
       Dim E: E=5
       Dim F: F=6
       Dim G: G=7
       Dim H: H=8
     
       Call Rhino.Print(A)
       Call Rhino.Print(B)
       Call Rhino.Print(C)
       Call Rhino.Print(D)
       Call Rhino.Print(E)
       Call Rhino.Print(F)
       Call Rhino.Print(G)
       Call Rhino.Print(H)

   但是電腦如果真的只能這麼笨地一個口令一個動作,那我會請各位現在就放棄吧!這時候如果我們運用計數迴圈,為得到同樣的結果,可以改成這麼寫:

                Dim i
                
       For i = 1 To 8
          Call Rhino.Print(i)
       Next

        這就是所謂的計數迴圈,當我們已知某個數量(從1到8),就可以利用計數迴圈重複執行某個動作,而在此所定義的 "i" 是個變數,每次重新進入迴圈時,"i" 值會被替換為下一個數字。
        因此,如果我們很快地將計數迴圈結合RhinoScript Methods,試著執行下列的指令看看:

                Dim StratPoint, EndPoint
       Dim i

       For i = 0 To 10
          StartPoint = Array ( i*10, 0, 0)
          EndPoint = Array ( i*10, 10, 0)
          Call Rhino.AddLine(StartPoint, EndPoint)
       Next

        我們可以很快地得到11條線,每條線的長度都是10,間距也都是10,第一條線的起點為(0,0,0)終點為(0,10,0),每個下一條線則是間距上一條線10的單位的平行線。如果善加利用計數迴圈與函數規則,就可以做出許多複雜的形體,不僅可省下許多力氣,也可能會產生出一些出乎意料的形體。這次只是簡單地介紹了計數迴圈的最基本用法,之後我們分別會再說明其他種類迴圈的基本用法,並且提供一些比較複雜的迴圈組合運用方式。


 


留言 (0) | 引用 (0) | 人氣 () | 轉寄 | 檢舉
此分類上一篇:04=Intorduction to RhinoScript (Loops-2 & Comparisons) | 主頁 | 此分類下一篇:02=Introduction to RhinoScript (Syntax)
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆) (登入後, 即可開始發表留言)
系統公告
熱情贊助
yam揪便宜
個人檔案
個人圖檔
ID:neilarchi
暱稱:尼爾
生日:1980/11/22
地區:臺北縣
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

好時光貼曆
yam今日我最殺
RSS 訂閱
RSS2
ATOM
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空部落 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊