Some Basic Surfaces1

## 4-nodes Isoparametric Surfaces

A 4-nodes isoparametric surface is a surface which takes 4 corner points as parameters.

(1)\begin{align} r\left(u,v\right)=N^1\boldsymbol{p}_1+N^2\boldsymbol{p}_2+N^3\boldsymbol{p}_3+N^4\boldsymbol{p}_4 \\ \end{align}

(2)
\begin{align} N^1=(1-u)(1-v) \\ N^2=(1-u)v \\ N^3=u(1-v) \\ N^4=(u)(v) \end{align}

First, we start with definitions of lambda functions as translations of the mathematical expressions described above.

This is a Python code for a GhPython component which takes P1,…,P4 as input parameters. They must be specified as Point3d type parameters in advance.

import rhinoscriptsyntax as rs import Rhino.Geometry as rg N1=lambda u,v:(1-u)*(1-v) N2=lambda u,v:(1-u)*(v) N3=lambda u,v:(u)*(1-v) N4=lambda u,v:(u)*(v) func=lambda (u,v):N1(u,v)*P1+N2(u,v)*P2+N3(u,v)*P3+N4(u,v)*P4

And your Grasshopper must looks like

(SrfGrid is optional)

Then, in order to generate the surface, it follows like

```
dots=list()
for i in rs.frange(0,1.01,0.1):
for j in rs.frange(0,1.01,0.1):
dots.append((i,j))
points=map(func,dots)
a=list()
for point in points:
a.append(point)
```

You can also configure multiple GhPython Component like

Then, you may get

page revision: 18, last edited: 29 Apr 2013 13:43