10.014 CTD
  • Overview
  • Schedule
  • Administrative
    • Accessing Rhino remotely
    • Rhino for Mac
  • ASSIGNMENTS
    • Dates and rubrics
    • Generative design
      • Generative design
    • Parametric design
      • Parametric design
    • Simulated design
      • Simulated design
      • Simulated design
  • SESSION 1B
    • Computer Aided Design
    • Ranges and expressions 1
      • Ranges and expressions 2
      • Ranges and expressions 3
      • Ranges and expressions 4
      • Ranges and expressions 5
      • Ranges and expressions 6
  • SESSION 2A
    • Visual programming 1
      • Visual programming 2
      • Visual programming 3
      • Visual programming 4
    • Associative modelling 1
      • Associative modelling 2
      • Associative modelling 3
  • SESSION 2B
    • Logical Patterns 1
      • Logical patterns 2
      • Logical patterns 3
  • SESSION 3A
    • Spatial geometry 1
      • Spatial geometry 2
      • Spatial geometry 3
      • Spatial geometry 4
      • Spatial geometry 5
      • Spatial geometry 6
      • Spatial geometry 7
    • Curve geometry 1
      • Curve geometry 2
      • Curve geometry 3
      • Curve geometry 4
  • SESSION 3B
    • Surface geometry
    • Parametric modelling 1
      • Parametric modelling 2
      • Parametric modelling 3
      • Parametric modelling 4
  • SESSION 4A
    • Information nesting 1
      • Information nesting 2
      • Information nesting 3
    • Data landscapes 1
      • Data landscapes 2
      • Data Landscapes 3
      • Data landscapes 4
  • SESSION 4B
    • Mesh geometry 1
      • Mesh geometry 2
      • Mesh geometry 3
  • SESSION 5A
    • Space and time 1
      • Space and time 2
    • Modelling entities 1
      • Modelling entities 2
      • Modelling entities 3
  • SESSION 5B
    • Multibody dynamics 1
      • Multibody dynamics 2
    • Material elasticity 1
      • Material elasticity 2
      • Material elasticity 3
  • SESSION 6A
    • Form-finding 1
      • Form-finding 2
      • Form-finding 3
      • Form-finding 4
  • SESSION 6B
    • AI Image generation 1
      • AI Image generation 2
      • AI Image generation 3
  • APPENDIX
    • Spirograph 1
      • Spirograph 2
    • Curves
    • Swarm Intelligence 1
      • Swarm Intelligence 2
    • Hybrid programming 1
      • Hybrid programming 2
Powered by GitBook
On this page
  1. SESSION 3A

Spatial geometry 1

Points and vector algebra

PreviousLogical patterns 3NextSpatial geometry 2

Last updated 9 months ago

The objective of this session is to cover the basics of spatial geometry. Computational geometry is heavily based on point and vector operations in space so it is useful to develop familiarity with a few core concepts. We will approach those concepts in a constructive manner, in the Euclidean sense, where we build understanding by step-wise executing a sequence of computable albeit geometric operations.

Points and Vectors

Points and vectors are ordered collections of numbers i.e. the position of the numbers in the collection is important, but the values themselves, unless otherwise expressed, are independent from one another. We use the bracket notation to express points and vectors “[a0, a1, a2, …, an-1]”, where “ai” are numbers. When we work with spatial points and vectors these numbers are real.

The number of elements in the collection “n” captures the size of the point or vector, or dimensions spanned. Examples of points and vectors of various dimensions include: 1D → [ 5 ], 2D → [ 6, 9 ], 3D → [ 3, 6, 0 ], 4D → [ 1.2, 3.4, 4.5, 5.6 ] etc.

For 2D, 3D and 4D points and vectors we use mnemonic symbols for each element such as “x”, “y”, “z”, “w” but this falls apart quickly for higher dimensions so instead we use numeric indices, as seen above { 0, 1, 2, …, n-1 }; it is just easier.

Point Semantics

We may consider a point as a generalization of a single number. As a single number represents a position on the real line, so do points in higher dimensions capture the notion of a location in reference to a zero point or origin. As the number “5” captures the notion of five units away from the origin, so does the point [2, 3] in the standard XY plane, captures the notion of “2” units along the X-direction and “3” units along the Y-direction, combined.

Generally, points have implied units of measurement. For instance points in space imply linear units of length such as meters, millimetres etc. We do not write those down but it is important to not forget that they exist. Otherwise we may get into the apples and oranges problems of mixing quantities that we shouldn’t have.

Vector Semantics

Vectors are the equivalent of displacements between positions. In the 1D world of single numbers or “scalars”, a vector between positions “5” and “3” captures the amount of travel from one location to another. This can be “2” units from “3” to “5” and symmetrically, “-2” units from “5” to “3”.

Note how vectors, capture two semantic concepts: (a) the amount of travel i.e. “2” units in absolute sense and (b) the direction of motion i.e. by the sign “+/-” in this scenario. The same concepts are applicable to all higher dimensions.

Relationship between Points and Vectors

While semantically a point and a vector represent different ideas, namely an absolute position versus a relative displacement, we can treat them interchangeably i.e. freely mix with one another. The reason for this is because points can be considered as vectors i.e. displacements from an implied zero origin.

To construct vectors from two points, we just pairwise subtract their coordinates. While points are automatically displayed on screen, vectors require the use of the “vector display” component.

Using the Vector Display component
Drawing
Drawing
Drawing