Skip to content

OptimisticPeach/hexasphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Subdividing triangle meshes.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages