Week 2 — Coding Projects

Core

Apply linear transforms to point sets.

  • NumPy: Implement matrix-vector and matrix-matrix multiply. Build rotation, scaling, shear, and reflection matrices. Transform a square point cloud.
  • Metal: Pass transform matrices into a shader and animate object transforms. · Reading: MBT — uniforms, matrices, coordinate transforms, per-frame updates, shader parameter passing.
  • Vulkan: Use uniform buffers or push constants for transforms and animate over frames. · Reading: Vulkan Book — descriptor sets, uniform buffers, transform data flow, frame resources.
  • CUDA: Apply a matrix transform to a large point cloud in parallel. · Reading: CUDA Book — device memory layout, grid-stride loops, simple linear algebra kernels.
  • Stretch: Separate model, view, and projection matrices cleanly. Add unit tests for composition order.
  • Verify: Composition order visibly matters · Identity transform leaves points unchanged · Inverse restores original points when invertible.