linebender / linebender/spline
Is it possible to get a lossless (or even lossy) upgrade of a Spiro spline to a Hyperbezier?
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 128
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
Now that I have implemented https://github.com/MFEK/spiro.rlib, I am very curious if it's possible to _upgrade_ my Spiros to the superior Hyperbezier.
I have a lot of Spiros, that's why I maintain it.
In https://github.com/raphlinus/raphlinus.github.io/issues/40 @raphlinus wrote:
> Introduction: hyperbezier is a synthesis of three curves: cubic bezier, euler spiral, and elastica. Tension is a central concept.
This is very similar to how Spiro works, if I understood the thesis right. So really perhaps hyperbezier is "spiro v2", but perhaps that's ignorant of the maths of it all.
Is there a way to upgrade Spiros, Raph?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing spiro.rlib implementation and the linked hyperbezier discussion in raphlinus/raphlinus.github.io#40. Compare the curve models and representations to determine whether Spiro data can be converted losslessly or approximately. Done means documenting a justified conversion approach, limitations, and any required design changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100