hex
hexasphere
cargo install hexasphere
hex

hexasphere

Subdividing triangle meshes.

by Patrik Buhring

7.1.0 (see all)License:MIT OR Apache-2.0
cargo install hexasphere
Readme

hexasphere

Library for subdividing shapes, such as an icosahedron. This provides abstractions for almost anything to be possible, however there are many predetermined shapes.

In the case of the icosphere:

Geometry:

This starts off with an icoashedron, and then proceeds to subdivide it. The subdivided points form the dual to a goldberg polyhedron. In essence, each point on this sphere is either a hexagon or a pentagon.

Interpolation:

Points are interpolated using the geometric slerp function to preserve their accuracy.


Features

  • Base shapes
    • Icosahedron
    • Tetrahedron
    • Triangle
    • Square
    • Cube
  • Interpolation functions
    • Spherical interpolation
    • Linear interpolation
    • Normalized linear interpolation
  • Basic optimizations for p == 0.5 in interpolation.
  • An adjacency (neighbour) map which can be generated from the indices that this library creates.

A few more optimizations are coming, along with more options for generation:

  • Remove nested triangle layers by placing them into their own Vec.
  • Allow interpolation functions to have access to state. (This would permit certain things such as sampling noise as part of the generation).

License

Hexasphere is distributed under the terms of either the MIT license, or the Apache License (Version 2.0) at the user's choice.

See the files named LICENSE-MIT and LICENSE-APACHE2 relative to the root directory of this project for more details.

GitHub Stars

30

LAST COMMIT

21d ago

MAINTAINERS

1

CONTRIBUTORS

9

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
7.1.0
21d ago
7.0.0
4mos ago
6.1.0
4mos ago
6.0.0
8mos ago
No alternatives found
No tutorials found
Add a tutorial