Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 17 committers (5.9%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.9%) to scientific vocabulary
Repository
Subdividing triangle meshes.
Basic Info
Statistics
- Stars: 67
- Watchers: 6
- Forks: 18
- Open Issues: 4
- Releases: 1
Metadata Files
readme.md
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.5in 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).
no_std support
no_std support can be enabled by compiling with --no-default-features to
disable std support and --features libm for math functions that are only
defined in std. For example:
toml
[dependencies]
hexasphere = { version = "15", default-features = false, features = ["libm"] }
To support both std and no_std builds in project, you can use the following
in your Cargo.toml:
```toml [features] default = ["std"]
std = ["hexasphere/std"] libm = ["hexasphere/libm"]
[dependencies] hexasphere = { version = "15", default-features = false } ```
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.
Owner
- Name: Patrik Buhring
- Login: OptimisticPeach
- Kind: user
- Location: Waterloo, ON
- Repositories: 9
- Profile: https://github.com/OptimisticPeach
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Buhring Espinoza" given-names: "Patrik" orcid: "https://orcid.org/0009-0001-6768-0958" title: "Hexasphere: Rust sphere generation" version: 14.0.0 doi: 10.5281/zenodo.12189017 date-released: 2024-06-20 url: "https://crates.io/crates/hexasphere"
GitHub Events
Total
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 7
- Issue comment event: 17
- Push event: 6
- Pull request event: 9
- Fork event: 6
Last Year
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 7
- Issue comment event: 17
- Push event: 6
- Pull request event: 9
- Fork event: 6
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Patrik Buhring | p****g@g****m | 86 |
| CrazyboyQCD | y****8@g****m | 6 |
| Bruce Mitchener | b****r@g****m | 5 |
| kirk | k****h@g****m | 4 |
| Kevin Reid | k****d@s****g | 3 |
| Mikael Lund | m****d@m****m | 3 |
| William Batista | b****y@p****h | 3 |
| François | m****f@g****m | 3 |
| Downtime | 4****b | 1 |
| Edgar Geier | e****r@r****e | 1 |
| Jakob Hellermann | j****n@p****m | 1 |
| Joshua J. Bouw | d****v@j****m | 1 |
| Mossa | c****a@g****m | 1 |
| devil-ira | j****e@g****m | 1 |
| james7132 | c****t@j****m | 1 |
| mnmaita | 4****a | 1 |
| targrub | t****b@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 10
- Total pull requests: 32
- Average time to close issues: 5 days
- Average time to close pull requests: 1 day
- Total issue authors: 8
- Total pull request authors: 17
- Average comments per issue: 2.7
- Average comments per pull request: 2.22
- Merged pull requests: 29
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 11
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 2
- Pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 1.73
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- OptimisticPeach (3)
- kpreid (1)
- francesco-cattoglio (1)
- virtualritz (1)
- kvark (1)
- mlund (1)
- VirgileHenry (1)
- joshuajbouw (1)
Pull Request Authors
- mlund (6)
- kpreid (6)
- waywardmonkeys (4)
- CrazyboyQCD (4)
- mockersf (3)
- knickish (2)
- billyb2 (2)
- VirgileHenry (2)
- irate-devil (2)
- mnmaita (2)
- targrub (2)
- Cupnfish (1)
- jakobhellermann (1)
- james7132 (1)
- geieredgar (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- cargo 3,851,907 total
- Total docker downloads: 23,282,367
-
Total dependent packages: 3
(may contain duplicates) -
Total dependent repositories: 2,002
(may contain duplicates) - Total versions: 45
- Total maintainers: 1
crates.io: hexasphere
A library to evenly tile hexagons on a sphere.
- Documentation: https://docs.rs/hexasphere/
- License: MIT OR Apache-2.0
-
Latest release: 16.0.0
published 10 months ago
Rankings
Maintainers (1)
crates.io: bevy_hexasphere
A trimmed down and generic version of Hexasphere for bevy.
- Documentation: https://docs.rs/bevy_hexasphere/
- License: MPL-2.0
-
Latest release: 0.1.2
published almost 5 years ago