> For the complete documentation index, see [llms.txt](https://primer2.dynamobim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://primer2.dynamobim.org/zh-tw/5_essential_nodes_and_concepts/5-2_geometry-for-computational-design/5-surfaces.md).

# 曲面

## Dynamo 中的曲面

### 什麼是曲面

我們在模型中使用[曲面](#surface)來表示我們在三維世界中看到的物件。雖然曲線不一定在同一個平面上 (亦即三維曲線)，但它們定義的空間始終是一個維度。曲面多了一個維度，並具有一系列其他性質，可供我們用於其他塑型作業。

### 參數處的曲面

在 Dynamo 中匯入曲面，並演算某個參數處的曲面，以瞭解我們可以擷取哪類資訊。

> 1. *Surface.PointAtParameter* 會傳回給定 UV 座標處的點
> 2. *Surface.NormalAtParameter* 會傳回給定 UV 座標處的法線向量
> 3. *Surface.GetIsoline* 會傳回 U 或 V 座標處的等參數曲線 - 注意 isoDirection 輸入。

> 按一下下方的連結下載範例檔案。
>
> 附錄中提供完整的範例檔案清單。

## 深入探索...

### 曲面

曲面是由函數與兩個參數定義的數學造型，我們不使用曲線的 `t`，而是使用 `U` 與 `V` 來描述對應的參數空間。這意味著我們使用此類型的幾何圖形時，需要提取更多的幾何資料。例如，曲線具有切線向量與法向平面 (可以沿曲線長度旋轉或扭轉)，而曲面具有方位一致的法線向量與相切平面。

![曲面](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-a0ba702c701cde47e52ff052af64469415e3d5b9%2FSurface.jpg?alt=media)

> 1. 曲面
> 2. U 等角曲線
> 3. V 等角曲線
> 4. UV 座標
> 5. 互垂平面
> 6. 法線向量

**曲面範圍**：曲面範圍定義為對該曲面上的三維點進行演算的 (U,V) 參數的範圍。每個維度 (U 或 V) 的範圍通常描述為兩個數字，即 U 最小值到 U 最大值與 V 最小值到 V 最大值。

![曲面](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-fbc634c5dfbf8b7be0492654abea7e536c74d47b%2FSurfaceParameter.jpg?alt=media)

雖然曲面的造型看上去可能不是「矩形」，而且局部可能存在更緊密或更鬆散的一組等角曲線，但曲面範圍所定義的「空間」始終是二維空間。在 Dynamo 中，我們都知道曲面範圍定義為在 U 與 V 兩個方向上從最小值 0.0 到最大值 1.0。平面曲面或修剪過的曲面可能有不同的範圍。

**等角曲線** (即等參數曲線)：由曲面上固定的 U 或 V 值以及所對應其他 U 或 V 方向的值範圍所定義的曲線。

**UV 座標**：UV 參數空間中由 U、V (有時還有 W) 定義的點。

![曲面座標](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-b3e15eaba98d024b3cf46b06078cfaa7c99632bb%2FSurfaceCoordinate.jpg?alt=media)

**互垂平面**：在給定 UV 座標處與 U 及 V 等角曲線互垂的平面。

**法線向量**：相對於互垂平面定義「向上」方向的向量。

### NURBS 曲面

**NURBS 曲面**非常類似於 NURBS 曲線。您可以將 NURBS 曲面視為 NURBS 曲線在兩個方向構成的網格。NURBS 曲面的造型由許多控制點以及該曲面在 U 與 V 方向的度來定義。根據控制點、權重與次數來計算造型、法線、切線、曲率及其他性質採用的演算法相同。

![NURBS 曲面](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-cad164f25bc5bf99ff9ea4bae70eb354d2034d9c%2FNURBSsurface.jpg?alt=media)

對於 NURBS 曲面，幾何圖形會指示兩個方向，因為 NURBS 曲面不論造型為何，都是控制點的矩形網格。即使這些方向相對於世界座標系統而言通常是任意方向，但我們可以頻繁使用這些方向來分析模型，或根據曲面產生其他幾何圖形。

![NURBS 曲面](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-6b22ffb256d8fde4f65b699e91ed27c8f931ec94%2FNURBSsurface-Degree.jpg?alt=media\&token=8bdd68f8-c923-47ac-bf10-b76d1ab0e48f)

> 1. 次數 (U,V) = (3,3)
> 2. 階數 (U,V) = (3,1)
> 3. 階數 (U,V) = (1,2)
> 4. 階數 (U,V) = (1,1)

### PolySurface

**Polysurfaces** 由跨邊接合的曲面構成。PolySurface 提供超過二維的 UV 定義，現在我們可以由此透過拓樸在連接的造型中移動。

雖然「拓樸」通常描述有關部分如何連接及/或相關的概念，但 Dynamo 中的拓樸也是幾何圖形的類型。確切地說，它是曲面、Polysurface 及實體的父系品類。

![PolySurface](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-f1d7ee859bda0eb3f536c0b03a5918d28cad9291%2FPolySurface.jpg?alt=media)

以有時稱為「修補」的方式接合曲面，我們可以製作更複雜的造型，並定義跨接縫的詳細資料。我們可以便利地將圓角或倒角作業套用至 PolySurface 的邊。
