Geometry

Regardless of the complexity of your model, it fundamentally consists of basic elements: points, curves, surfaces, and polysurfaces. In this section, we'll explore the key tools in Rhino to manipulate these foundational components. Additionally, we'll shed light on the underlying principles of these geometries.


Point

Modelling

A point refers to a specific location within the model space, uniquely determined by its coordinate values. In Rhino, you can readily create one or more points using the various tools available under the Point tab in the sidebar. Below, we will introduce some of these essential tools.

To precisely place a point at a designated location within your model, engage the Osnap Control and opt for the suitable snapping options from the available options. Alternatively, you may manually input the precise coordinates where you wish to place the point. For instance, using Point command and entering 0,0,0 will create a point at the origin.

rhinoPointTool

  1. Single point (command: Point) - creates a single point at the desired location.
  2. Multiple points (command: Points) - create multiple points.
  3. Extract points (command: ExtractPt) - extract points from geometries.
  4. Divide curve (command: Divide) - divides a curve by length (left-click) or by number of segments (right-click) and creates a series of separation points.

Curve

Modelling

A curve refers to a one-dimensional, continuous path defined in a space through mathematical equations. Curves can either be open or closed, and they exhibit a wide range of complexities — from simple straight lines to regular shapes such as rectangles, circles, and ellipses, extending to more intricate free-form curves. Tools to model any desired shape are categorized in the corresponding sidebar shown below, we will focus on introducing tools specifically designed for creating free-form curves.

rhinoCurveTool

  1. Tabs for Curve Tools (from left to right and top to bottom) - Lines, Curve, Arc, Rectangle, Circle, Elipse, and Polygon tabs.
  2. Control Point Curve (command: Curve) - models a curve through a series of control points. Typically, these control points are not situated on the curve, except for the endpoints.
  3. Interpolate Point Curve (command: InterpCrv) - models a curve using a series of interpolated points situated directly on the curve. This function is useful when tracing curves on a sketch. Upon completion of the curve, Rhino automatically assigns the respective control points.

Adjustment

To modify curves, the most straightforward method is by manipulating its control points. Simply left-click on the curve to reveal the control points. If they don't appear, you can activate them using the PointsOn command or by pressing F10. Once visible, select the desired control point(s) and move them to your preferred location. If you wish to add more control points, utilize the InsertControlPoint command. To delete any control point, either use the RemoveControlPoint command or simply press delete.

Degree / Knot / Control Point

If you check the details of a curve under Property, you will encounter terms such as 'degree', 'control points', and 'knots'. We will introduce the technical details of these terms shortly. However, if the technicalities seem too intricate, feel free to jump to the Summary section below.

Technical Interpretation

Before we delve into the individual terms, let's talk about NURBS first. NURBS, standing for "Non-Uniform Rational B-Splines", are mathematical representations of 3D geometry capable of accurately describing any shape, ranging from simple curves to intricate 3D free-form surfaces. This characteristic enables not only the precise modelling of complex geometries in Rhino but also facilitates easy adjustments to the geometries. To learn more about NURBS, kindly visit this page.

So, what exactly is a NURBS curve in Rhino? From a mathematical standpoint, it is characterized by a set of piece-wise polynomial functions, each representing a segment of the curve. Let's break it down further:

  1. Degree refers to the highest power in the polynomial functions defining the curve. If the functions are linear, the degree is 1, yielding lines or polylines. Quadratic functions have a degree of 2, as seen in circles and ellipses. A degree of 3 or higher allows for the representation of any shape in 3D space. Typically, the degree falls within 1, 2, 3, or 5. The Rebuild command can alter the degree of a curve; increasing it usually retains the curve shape with different control points, while decreasing it modifies both the shape and the control points.
  2. Control points are pivotal elements used to modify curve shapes. The minimum number of control points is determined by the formula (degree + 1); thus, a degree-3 curve has at least four control points. The impact of altering these points varies depending on the curve's degree, you can test this by yourself.
  3. Knots are points situated at the junctions of consecutive polynomial functions, and they are automatically assigned by Rhino when creating a curve. Despite the availability of commands such as RemoveKnot and InsertKnot for knot manipulation, they are seldom considered in the practical modelling process.

rhinoContcrolPointsAndKnots

Examples of curves of varying degrees and their knots and control points. Notably, the endpoints of curves serve dual roles as both knots and control points.

Summary
  1. Degree indicates the complexity of the math functions of the curve. It is normally 1, 2, 3, or 5. Lines and polylines have a degree of 1; circles and ellipses have a degree of 2; free-form curves are usually represented as degree-3 or 5 NURBS curves.
  2. Control points are crucial for modelling, primarily facilitating the adjustment of curve shapes.
  3. Knots are rarely used in modelling. They are automatically generated by Rhino and related to the mathematical representation of curves.

Surface

Modelling

In Rhino, a surface is like a stretchable rubber sheet, which can be open (like a plain) or closed (like a donut), and trimmed or untrimmed. Many tools for modelling surfaces are available in the Surface Creation tab on the sidebar; we've summarized the commonly used ones below.

rhinoSurfaceTool

  1. Surface from 3 or 4 points (command: SrfPt) - creates a surface from 3 or 4 points. (The surface does not have to be planar.)
  2. Surface from planar curves (command: PlanarSrf) - creates a planar surface from planar curves.
  3. Loft (command: Loft) - create a surface that spans across multiple selected curves or edges. The curves selected to loft act like isocurves of surface, which allows you to have good control of the surface.
  4. Patch (command: Patch) - fit a surface through selected elements such as curves, meshes, point objects, and point clouds. While it might appear to share functionalities with the Loft command, utilizing it with the same curves as inputs actually yields considerably different outcomes. (You are encouraged to test it.) Patch shines in scenarios where we aim to create surfaces from point clouds, an application not suited for Loft. Moreover, when constructing a terrain from numerous contours, using Loft can be computationally demanding and slow. A more efficient strategy here would be to divide the contour lines into multiple points, and then use Patch to form the terrain, a method often more practical and faster.
  5. Extrude straight (command: ExtrudeCrv) - extrudes a curve along a straight direction and creates a surface.
  6. Extrude along curve (command: ExtrudeCrvAlongCrv) - extrudes a curve along a curve and creates a surface.
  7. Sweep 1 rail (command: Sweep1) - creates a surface by sweeping one or more profiles (cross-sectional curves) along a single rail (path curve). For example, you can use this command to create a pipe with an uneven cross-section. Sweep2 allows creating a surface along two rails.

Adjustment

Just like with curves, we can modify the shape of a surface using its control points. To display the control points of a surface, select the surface and execute the PointsOn command. If the existing number of control points doesn't suffice, use the Rebuild command to adjust it. To manipulate the edge of a surface, utilize the MoveEdge command.

Isocurve

When you switch to the Shaded mode, you may observe curves appearing on the surface that cannot be directly selected. These are known as isocurves, which serve to illustrate the topography of the surface. Isocurves present in both U and V directions and visually segment the surface into a grid. Those curves are generated automatically based on the mathematical representation of the surface and not customarily defined by the user. Altering the control points of a surface consequently modifies the shape of the surface and its corresponding isocurves. If there is a need for further modelling, the ExtractIsocurve command allows you to obtain these isocurves.

rhinoIsocurve

Left: isocurves shown on the surface; Right: extracted isocurves.


Polysurface

Modelling

A polysurface is an object composed of multiple interconnected surfaces. These surfaces may align at their edges, functioning collectively as a unified entity during manipulations. Numerous tools can be used to model a polysurface, primarily found in the Solid Creation and Solid Tools tabs on the sidebar.

rhinoPolysurfaceTool

  1. Join (command: Join) - connect two or more separate surfaces, curves, or polygons into a single continuous entity.
  2. Extrude surface (command: ExtrudeSrf) - pulls surface into the third dimension and creates a polysurface.
  3. Boolean union (command: BooleanUnion) - merges two or more solid objects or surfaces to create a single, unified object. This command is complemented by other operations including BooleanDifference, BooleanIntersection, and BooleanSplit, each offering distinct ways to manipulate and combine geometrical entities.
  4. Fillet edge (command: FilletEdge) - create rounded edges on 3D solid objects or surfaces.

Adjustment

While polysurfaces are composed of surfaces possessing control points, they themselves do not offer control points for adjustments. This is primarily because altering these points could affect the edges where the surfaces meet, potentially breaking the continuity of the polysurface.

To modify the shape of each individual surface, you can initially Explode the polysurface to isolate the surfaces, make the necessary adjustments without disrupting their edges, and then Join the surfaces together again. More commonly, modifications are executed by stretching the edges using the MoveEdge command or adjusting the surface directly with the MoveFace command.


Polygon Mesh

Polygon mesh is a geometry type you may regularly encounter, especially when sourcing terrains or city-scale models externally. Unlike NURBS surface defined by continuous curves, a polygon mesh is a collection of vertices, edges, and faces that define its shape. A simple comparison can be made with 2D computer graphics: meshes are like raster images that use pixels to display and get blurry when you zoom in, while NURBS surfaces are like sharp vector graphics that stay clear no matter how much you enlarge them.

rhinoMeshExplanation

Polygon Mesh and NURBS comparison through 2D computer graphics analogies.

Rhino provides specialized tools for mesh modeling and adjustments. For example, the Mesh command converts NURBS geometry to polygon mesh. However, converting meshes with the MeshToNURB command can be challenging and may not yield satisfactory results shown in the below example. For a deeper dive into mesh tools, explore the Mesh Tools tab and refer to this page.

rhinoMeshComparison

Example: NURBS surface / mesh surface (converted from NURBS) / NURBS surface (converted from mesh)



ETH LogoDArch LogoDesign++ LogoBA LogoLVML Logo
© 2023 Digital Design Methods™