幾何圖形概述

幾何圖形是設計的語言。若程式設計語言或環境的核心是幾何圖形核心,則在設計精確健全的模型、自動化設計常式及使用演算法產生設計迭代方面將帶來無限可能。

基礎知識

幾何圖形一直以來的定義是對形狀、大小、圖形相對位置以及空間性質的研究。此領域具有數千年的悠久發展歷史。隨著電腦的問世與普及,我們在定義、探索及產生幾何圖形方面擁有了功能強大的工具。現在,可以很輕鬆地計算複雜幾何互動的結果,這種狀況幾乎隨處可見。

Stanford Bunny

如果您很想瞭解多種多樣的複雜幾何圖形在運用電腦的力量後實現的發展,請在網路上快速搜尋 Stanford Bunny,這是用於測試演算法的權威模型。

在滿是演算法、運算與複雜性的環境中瞭解幾何圖形聽起來似乎讓人膽怯,但是存在一些關鍵且相對簡單的原則,我們可以以此為基礎開始建置更高級的應用:

  1. 幾何圖形是資料 - 對於電腦與 Dynamo 而言,Bunny 與數字沒有很大區別。
  2. 幾何圖形依賴於抽象 - 基本上,幾何元素由指定空間座標系統中的數字、關係與公式來描述。
  3. 幾何圖形具有階層 - 許多點共同構成線,許多線共同構成面,以此類推
  4. 幾何圖形可以同時描述部分與整體 - 曲線既是指形狀,也是指曲線上的所有點

實際上,這些原則意味著我們需要注意所處理的項目 (幾何圖形的類型、建立方法等)以便在開發更複雜的模型時,能順暢地構建、分解及重新構建不同的幾何圖形。

逐步瞭解階層

接下來花一些時間看一下幾何圖形的抽象描述與階層描述之間的關係。由於這兩個概念彼此相關,但起初並不總是很明顯,因此我們在開始開發更深入的工作流程或模型後,會很快遇到概念障礙。對於初學者,接下來將使用維度來簡單描述模型的「內容」。透過形狀描述所需的維數,可以瞭解幾何圖形所屬的階層。

運算幾何圖形

  1. (由座標定義) 沒有維度,它只是描述每個座標的數字
  2. 直線 (由兩個點定義) 現在具有一個維度 - 我們可以沿直線向前 (正方向) 或向後 (負方向)「行走」
  3. 平面 (由兩條直線定義) 具有兩個維度 - 現在行走的範圍可以更左或更右
  4. 方塊 (由兩個平面定義) 具有三個維度 - 我們可以相對於上下來定義位置

開始對幾何圖形分類時,維度是便利的方式,但不一定是最佳方式。畢竟我們不能只用點、直線、平面與方塊來塑型,如果需要彎曲的項目該怎麼辦呢?此外,還存在完全不同的幾何圖形類型品類,這些類型是完全抽象的,例如它們會定義諸如方位、體積或部分之間的關係等性質。我們無法真正擷取向量,那如何相對於我們在空間中看到的項目對其進行定義呢?幾何階層的更詳細分類應考慮到抽象類型或「協助工具」之間的差異,我們可以根據協助行為以及對描述模型元素形狀進行協助的類型來對每種抽象類型或協助工具分組。

幾何階層

Dynamo Sandbox 中的幾何圖形

這對於使用 Dynamo 意味著什麼?透過瞭解幾何圖形類型及其相關方式,我們可以導覽資源庫中提供的幾何圖形節點集合。幾何圖形節點依字母順序排列,與階層順序 (其顯示類似於在 Dynamo 介面中的配置) 截然不同。

Dynamo 中的幾何圖形

此外,在 Dynamo 中製作模型,以及將我們在背景預覽中看到的預覽連接至圖表中的資料流,這兩項功能隨時間演進將變得更直觀。

Dynamo 中的幾何圖形

  1. 請注意由格線與彩色軸彩現的假設座標系統
  2. 選取的節點會以亮顯顏色彩現背景中的對應幾何圖形 (若該節點建立幾何圖形)

下載此影像隨附的範例檔案 (按一下右鍵,然後按一下「連結另存為...」):Geometry for Computational Design - Geometry Overview.dyn。附錄中提供範例檔案的完整清單。

使用幾何圖形更進一步

在 Dynamo 中建立模型並不限於使用節點可以產生的項目。以下是一些關鍵的方式,您可藉此運用幾何圖形讓程序更上一層樓:

  1. Dynamo 允許您匯入檔案 - 請嘗試對點雲使用 CSV,或使用 SAT 以引入曲面
  2. 使用 Revit 時,可以參考 Dynamo 中將使用的 Revit 元素
  3. Dynamo Package Manager 可對延伸的幾何圖形類型及作業提供其他功能 - 請檢查 Mesh Toolkit 套件