geometry

command module
v0.0.0-...-291c564 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2025 License: BSD-3-Clause Imports: 6 Imported by: 0

README

geometry

go.dev reference Go Report Card codecov Go sourcegraph

Stackful, correct, lean and performant library ideal for any use case. From embedded systems to GPU usage.

Features

  • Vector and matrices that map to GPU alignment
  • Quaternions
  • 2D/3D Grid generation and traversal
  • Heapless 3D Octree implementation
    • Is stupid fast.
  • Performant 3x3 SVD and QR decomposition
  • 2D/3D Triangles
    • Closest point to a triangle algorithm
  • Tetrahedrons!
  • Bounding boxes
  • Polygon generation with arc and chamfering
  • 2D splines with support for Quadratic and cubic modes
    • Provided splines are: Cubic/quadratic Bezier, Hermite spline, Basis spline, Cardinal spline, Catmull-Rom spline
  • 2D/3D Basic geometries like Line, Plane and their algorithms
  • Few 1D math conveniences

Module structure

  • ms3..ms1 contain 32-bit (float32) spatial geometrical primitives.
  • md3..md1 contain 64-bit (float64) spatial geometrical primitive. This code is identically duplicated from ms* packages using code generation, including tests.

Development

Code developed is exclusively float32. float64 code is generated automatically from the float32 code by running gen.go.

The internal package serves as a place to store data that is dependent on whether the implementation is 64 or 32 bit.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
package md1 implements basic 1D math useful for 3D graphics applications.
package md1 implements basic 1D math useful for 3D graphics applications.
package md3 is a 32bit 3D math package based around the Vec type.
package md3 is a 32bit 3D math package based around the Vec type.
package ms1 implements basic 1D math useful for 3D graphics applications.
package ms1 implements basic 1D math useful for 3D graphics applications.
package ms3 is a 32bit 3D math package based around the Vec type.
package ms3 is a 32bit 3D math package based around the Vec type.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL