title: Computational Geometry
description: NURBS curves and surfaces, mesh geometry, boolean operations, subdivision surfaces, tessellation methods, surface analysis, and point cloud processing for AEC computational design
version: 1.0.0
tags: [geometry, NURBS, mesh, boolean, subdivision, Voronoi, Delaunay, point-cloud, curves, surfaces]
auto_activate: true
user_invocable: true
invocation: /computational-geometry
This skill encapsulates the full breadth of computational geometry knowledge required for architecture, engineering, and construction workflows. It covers fundamental primitives, advanced surface mathematics, mesh processing, tessellation strategies, point cloud pipelines, and the precise tolerance management that separates prototype-grade geometry from fabrication-ready output.
---
Every computational design system is built on a layered hierarchy of geometric types. Understanding the properties, capabilities, and conversion paths of each type is essential for selecting the right representation at every stage of a project.
**Point (Point3d)**
- Definition: A dimensionless location in 3D Euclidean space defined by (x, y, z) coordinates.
- Properties: No length, area, or volume. Carries only positional information.
- AEC use cases: Survey control points, grid intersections, insertion points for components, structural node locations, sensor positions.
- Conversion: A point can seed any higher-order geometry. Points become curve control points, mesh vertices, or centroid markers.
**Vector (Vector3d)**
- Definition: A direction and magnitude in 3D space, defined by (x, y, z) components. Unlike a point, a vector has no fixed position.
- Properties: Magnitude (length), direction (unit vector). Supports dot product, cross product, angle computation, projection.
- AEC use cases: Wind direction encoding, structural force vectors, surface normals for solar analysis, movement direction for pedestrian simulation, facade orientation vectors.
- Key operations: Normalize, scale, add, subtract, dot product (scalar projection), cross product (perpendicular vector), angle between vectors, reflection, rotation.
**Plane**
- Definition: An infinite flat surface defined by an origin point and a normal vector, or equivalently by an origin and two in-plane axes (X-axis, Y-axis) with the normal as Z-axis.
- Properties: Origin, Normal, XAxis, YAxis. Divides space into two half-spaces.
- AEC use cases: Floor levels, section cut planes, mirror planes for symmetric designs, construction planes for drawing, reference datums.
- Conversion: Planes can generate planar surfaces, serve as projection targets, or define local coordinate systems.
**Frame**
- Definition: A right-handed orthonormal coordinate system defined by an origin point and three mutually perpendicular unit vectors (X, Y, Z).
- Properties: Origin, XAxis, YAxis, ZAxis. Fully defines position and orientation.
- AEC use cases: Structural member local axes, robotic fabrication tool frames, camera positions for rendering, element insertion frames, joint coordinate systems.
- Distinction from Plane: A frame carries full rotational information (three axes), while a plane is defined by only one axis (the normal) plus a rotation ambiguity around that normal.
**Line**
- Definition: The shortest path between two points; a degree-1 NURBS curve with two control points.
- Properties: Start point, end point, length, midpoint, direction vector.
- AEC use cases: Grid lines, structural member centerlines, dimension lines, sight lines, setback lines.
- Conversion: Can be treated as a degree-1 NURBS curve, a polyline with two vertices, or a mesh edge.
**Polyline**
- Definition: A connected sequence of line segments defined by an ordered list of vertices.
- Properties: Vertex list, segment count, total length, is-closed flag, bounding box.
- AEC use cases: Property boundaries, road centerlines, building footprints, pipe routes, cable tray paths, simplified contour lines.
- Conversion: Each segment is a line. The entire polyline can be degree-elevated to a NURBS curve. Can be used as a mesh wireframe or triangulated polygon boundary.
**Arc**
- Definition: A portion of a circle defined by center, radius, start angle, and end angle (or equivalently by three points).
- Properties: Center, radius, start/end angles, arc length, start/end points, midpoint.
- AEC use cases: Curved walls, arch profiles, fillet transitions, roundabout geometry, curved beam profiles.
- Conversion: Can be represented exactly as a rational NURBS curve of degree 2 (using weights).
**Circle**
- Definition: A closed planar curve where every point is equidistant from the center. A special case of an arc (360 degrees) and of an ellipse (equal radii).
- Properties: Center, radius, plane, circumference, area.
- AEC use cases: Column cross-sections, roundabouts, circular openings, pipe profiles, rotunda plans.
- Conversion: Exactly representable as a rational NURBS curve of degree 2 with specific weights. Can be approximated by a polygon with n vertices.
**Ellipse**
- Definition: A closed planar curve defined by a center, two perpendicular semi-axes of different lengths.
- Properties: Center, semi-major axis (a), semi-minor axis (b), plane, eccentricity, perimeter (approximation), area.
- AEC use cases: Elliptical domes, stadium plans, oval windows, landscape features, acoustic reflectors.
- Conversion: Exactly representable as a rational NURBS curve. Can be approximated by a polyline or polygon.
**NURBS Curve**
- Definition: Non-Uniform Rational B-Spline curve defined by degree, control points, knot vector, and weights.
- Properties: Degree, control point count, knot vector, domain, length, is-closed, is-periodic, continuity.
- AEC use cases: Freeform facades, road alignments with complex geometry, landscape contours, furniture profiles, any smooth curved design