每個人都應該懂點編程!可視化編程—結構設計者的實用工具

結構設計通常涉及在設計的各個部分之間建立視覺、系統或幾何關係。很多時候,這些關係都是由工作流開發的,這些工作流通過一定的規則讓我們從概念得到最終結果。在潛移默化中,我們實際上在利用一定的算法完成工作——定義一組遵循輸入、處理和輸出基本邏輯的有序操作。計算機編程通過形式化我們的算法,讓我們以這種工作流方式繼續工作。

指尖的算法

算法可以生成意想不到的、瘋狂的或酷的東西,但它們不是魔法。事實上,它們本身都很簡單。讓我們用一個有形的例子來說明,比如摺紙鶴。我們從一張正方形的紙(輸入)開始,遵循一系列的摺疊步驟(處理操作),然後生成一個紙鶴(輸出)。

每個人都應該懂點編程!可視化編程—結構設計者的實用工具

那麼算法在哪裡呢?這是一組抽象的步驟,我們可以用兩種方式來表示——文本或圖形。

文本說明:

1、從一張正方形的紙開始,彩色面朝上。沿一對角線對摺打開。然後再沿另一對角線對摺打開。

2、把紙翻到白邊。把紙對摺,摺好並打開,然後再朝另一個方向摺疊。

3、使用您所做的摺痕,將模型的頂部3個角向下移動到底部角。壓平模型。

4、將頂部三角形活門摺疊到中間並展開。

5、將模型的頂部向下摺疊,折皺並展開。

6、打開模型的最上面的活門,將其向上,同時向內按壓模型的側面。壓平,摺痕好。

7、翻轉模型,在另一側重複步驟4-6。

8、將頂部活門摺疊到中間。

9、換邊重複。

10、把模特的兩條腿折起來,折皺得很好,然後展開。

11、在裡面反向摺疊“腿”沿著你剛才做的摺痕。

12、內部反向摺疊一邊做一個頭部,然後向下摺疊翅膀。

13、你現在有一隻紙鶴。

圖形說明:

每個人都應該懂點編程!可視化編程—結構設計者的實用工具

編程定義

使用這兩組指令中的任何一個都會得到紙鶴,如果您遵循自己的要求,那麼您已經應用了一個算法。唯一的區別是我們閱讀這組指令的形式化的方式,這種方式引導著我們進行編程。程序設計(或者完整地稱之為計算機程序設計)是將一系列操作的處理形式化為可執行程序的行為。如果我們把上面關於創建紙鶴的說明轉換成我們的計算機可以讀取和執行的格式,那麼我們正在編程。

我們將在編程中發現的第一個障礙是,我們必須依靠某種抽象形式來與計算機有效地通信。它採用任何數量的編程語言的形式,如javascript、python或c。如果我們能寫出一組可重複的指令,比如摺紙鶴,我們只需要為計算機翻譯它。我們可以讓電腦製造一隻紙鶴,甚至是多隻不同紙鶴。這就是編程的力量——計算機將重複執行我們分配給它的任何任務或一組任務,沒有延遲,也沒有人為錯誤。

可視化編程定義

如果你的任務是寫摺疊紙鶴的說明,你會怎麼做?你會用圖形、文字或兩者的某種組合來製作它們嗎?

如果你的答案包含圖形,那麼可視化編程絕對適合你。編程和可視化編程的過程基本相同。它們使用相同的形式化框架;不同的是,可視化編程允許我們通過圖形(或“可視”)用戶界面定義程序的指令和關係。我們不鍵入由語法綁定的文本,而是將預打包的節點連接在一起。以下是相同算法的比較—“通過點繪製圓”(分別用代碼和節點編程):

可視化程序:

每個人都應該懂點編程!可視化編程—結構設計者的實用工具

代碼編程:

每個人都應該懂點編程!可視化編程—結構設計者的實用工具

程序運行結果:

每個人都應該懂點編程!可視化編程—結構設計者的實用工具

以可視化方式編程的視覺特性降低了編程的門檻,並使設計師可以與程序進行交流。在此強烈推薦REVIT軟件的插件Dynamo,它屬於可視化編程插件,但仍然可以在應用程序中使用文本編程。

相關推薦

推薦中...