# Grasshopper Points from Surface

## Introduction

Extracting a point from a surface is similar to extracting a point from a curve. However instead of defining a point in 1 dimensional space (the U coordinate), the point has to be defined in 2 dimensions: the U and V coordinates. There are more similarities between extracting points from a curve and a surface, which result in similar options in components. Point definition on a surface can be of great importance when additional geometry has to be generated on that location on the surface. It can also be a point which has to be analysed, for example in a Gaussian analysis of the curvature of the surface.

## Two Dimensional space of a surface

Locations on a surface can be defined in two ways. The point can be a location on the surface defined by the world coordinates, in an x, y and z coordinate. The other method is the definition of the point in object space. In this case they are defined by 2 dimensional space coordinates U and V. A position on a surface thereby can be defined by the location in world space or is related to the length and width of the surface. However the location on a surface can also be defined by its relative position on the surface. The start point will have the value 0 and the end point the value 1. A point placed on the line will have a value between 0 and 1. The curve is Parametrized.

### ReParameterisation

In some cases it can be that the parameterisation of the surface is giving an indication of the length and width of the surface. This can be a maximum value larger than 1. When the curve is reparameterised the U and V value will be evenly distributed from 0 to 1. This enables you to define a point on a relative position on the surface.

## Extracting a point or points from a surface

There are several methods of extracting points from objects. Key in the method is the definition of the dimension. This can be in units of length or it can be in units of a reparameteresized surface. Another method is the division of the surface in segments based on length or relative number of segments. There are several kinds of points which can be extracted.

- Points on the corner of the bounding box of the surface
- Points inside and on the bounding box of the surface.
- The Control Vertices
- Points on the surface

## The bounding box

The bounding box is a rectangular minimal box shape enveloping the whole surface. The box has corner points and points on and in its volume. Its simple volumetric description of the surface by the bounding box makes for example the calculations for intersection of surfaces much simpler. First the bounding boxes are checked for intersection and if so the surfaces are checked for intersection. The rest of non intersecting bounding boxes will be ignored. Other uses are simplifying collision detection ( dynamics ) and Ray tracing ( light calculations ).

### Extracting points from a bounding box

To extract points from the bounding box of the surface we can use the box options in the Surface Analysis tab. There are two options of selecting points related to the bounding box.

- Corner points of the bounding box.
- Points on or in the bounding box

## Extracting points from a surface

There are two definitions of 3 dimensional objects in Grasshopper. One is the surface, this is a single NURBS surface. The other is the Brep, this can be a composition of multiple surfaces. Hence the term Brep , or boundary representation. The access of the components of the Brep focusses on the definition of the separate
surfaces and its boundaries. The evaluation of the surface focusses on the components of the surface, like points on the surface , the normals and frames at these locations.

### Selecting multiple points on a surface by division

In some cases like the construction of a steel space frame or the even distribution of objects over a surface it can be useful to divide a surface in evenly spaced parts. This is the simplest form of division.

### Selecting a region on a surface and extract its corner points

The other option is to define a part or multiple parts of the surface. This part or these parts can be generated by defining the location and size of the part. To define the size and location a domain has to be generated which is defined by a range of U and V coordinates. As a result the corners from that segment of the surface can be extracted.

## Examples of the use of points of a surface

The points can be used as a basis for the basis of generating curves. These curves in their turn can be used for generating additional geometry. These resulting connections of geometry related to other geometry are the basis for effective use of Grasshopper in the design process. These relations between the objects will mean that when a parameter or an input of a parameter is changed the result will be influence the rest of the network and thereby the combined output.

Points of surfaces can however also be used to locate a single or multiple objects on a surface.