Settings

Theme

Show HN: Squirrel Curve Studio – A simple tool to design spline curves

github.com

88 points by antixk 7 years ago · 16 comments

Reader

sago 7 years ago

Well done for releasing something and hitting the top of HN.

It looks like a clean UI, but I'm confused what we're seeing.

1. What is W for each point and how is it set? I assume something like 'weight', rather than a third dimension, but neither Bezier nor Catmull-Rom curves have an additional per-vertex parameter [0]. And NURBS are a ratio of two B-splines, but you still have only X, Y & W [1].

2. In the demo, each of the curves is listed as 'degree 2' (which suggests quadratic to me). Catmull-Rom curves are cubic (and it appears yours are too), so maybe 'degree 2' means cubic. But then the Bezier: they can be any degree, but the example only interpolates its first and last of five points. Even if the control points are hidden, it is clearly neither cubic nor quadratic, unless new control points are being generated somewhere but not shown.

3. NURBS are non-uniform, but here they are locked to fixed sequential integer parameters. With that and the lack of a ratio, is it really just some variant of a b-spline?

4. Given the list of XYW triples, in JSON, and the non-standard math, how do you anticipate a user constructing the curve - would they have to use your code and the way it interprets the W parameter?

Oh, and

> Motivated by the lack of freely available curve designers

seems like an extraordinary claim.

---

Edit to add:

[0] Did you mean the cardinal curve / canonical spline, rather than Catmull-Rom? That does have a parameter (tension, usually τ rather than W). It's not very common, but that's the best I can think.

[1] To be fair, editors often don't expose the ratio, and expose only a knot vector. But the W values given don't seem to correspond with knots either: there is the wrong number for a start, isn't there?

Tistron 7 years ago

Looks great, but why is it not a web site? Why electron?

  • AlbertoGP 7 years ago

    Actually you can just download it, stick the “public/” directory in a web server (or load it in your browser) and have it working without Electron, which I just did as a quick test:

    https://sentido-labs.com/tmp/Curve-Studio/

    Even save/load with “Export JSON” and “Import JSON” seems to work!

    @antixk: since it works as a website anyway, I’d recommend doing that yourself because it’s much easier to give it a quick look this way.

  • antixkOP 7 years ago

    Thanks! I just wanted to dabble with Electron (and p5.js, being totally new to JS). It gave me the confidence to work on a bit more serious project.

artificial 7 years ago

Reticulating splines!

rkagerer 7 years ago

Is there a way to bring a photo in and trace it?

Rexxar 7 years ago

I'm a little jealous : 60Mo software for drawing 1 curve get 35 votes in 2 hours when my "show HN" get 2 upvotes in one day for a full drawing software.

  • worldsayshi 7 years ago

    Perhaps you should post again? I would expect upvote behaviour to be quite arbitrary sometimes.

    • Rexxar 7 years ago

      I will maybe do it in 6 months or one year. I don't want to spam HN.

      • antoineMoPa 7 years ago

        I think the right algorithm for something you put a lot of effort in (like I did for Shadergif):

        1. Post on HN.

        2. If upvotes <= 3: Post the next day. Maybe you did not get the attention you deserved. Try tweaking the landing page a bit. Maybe you can change the title, add more screenshots of your UI on the landing page.

        3. Iterate on your product or work on a new one, but don't post a similar thing again for 6 months.

    • fheld 7 years ago

      true, but also open software it more exciting for some people

  • dang 7 years ago

    Email hn@ycombinator.com and we'll send you a repost invite.

  • antoineMoPa 7 years ago

    I'd try your software if you made a Linux release.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection