bitblitter Posted December 28, 2020 Share Posted December 28, 2020 (edited) I found this interesting open source tool concept at HackerNews today: https://www.cmyr.net/blog/hyperbezier.html This is not really a feature request, but maybe something to keep on the radar. From the blog post: Quote This post introduces a new model for a path drawing (pen) tool, with a particular focus on font design. [...] The core idea of the hyperbezier is the use of auto-points. These control points are adjusted automatically by the tool in order to maintain a smooth curve between neighbouring curve segments. You can play with it directly in the browser, and there's a github repo available. Although it's in an early stage, it already looks quite useful for its purpose. Edited December 28, 2020 by bitblitter Quote Link to comment Share on other sites More sharing options...
chessboard Posted December 29, 2020 Share Posted December 29, 2020 This is what I thought Smart-Points would/should do. Quote Link to comment Share on other sites More sharing options...
JET_Affinity Posted December 29, 2020 Share Posted December 29, 2020 Two results encountered when moving a node close to another: Using its demo Pen Tool, I drew this by dragging out three 'nodes': Of course, you can't get that shape from three conventional nodes (2 segments). Look closely and notice that the solid and dotted handles of the green node are not parallel. The solid handle is not tangent to the segment that one assumes it controls; the dotted handle is. I understand; this is intended to be a new and innovative interface. But is it intuitive? Tracing over it, try to draw it in Affinity (or most any other mainstream drawing program) by placing three nodes and their curve handles as indicated above, and you get this (blue path): The stated use-case is ensuring curve smoothness when drawing font glyphs. That's all good and noble, but the auto-constraints advantageous in that context are not necessarily also desirable in general illustration. It seems to me that a more general implementation of this would need the auto behaviors to be momentarily switchable while in the process of drawing a path; not always active. How cleanly that could be implemented without increasing overall UI complexity and confusion is yet to be seen. Consider, for example, Inkscape's Spiro Mode feature. It, too, was designed to 'ensure smooth [circular] curves' as you draw with it. You put the Pen Tool into a distinct 'mode' to use it: As you use it, the interface makes it look like this path has two nodes. But clearly, that shape cannot be drawn with a single cubic Bezier curve (one segment). DoubleClick it while still in Spiro Mode and you see this: Now we see what looks like 5 nodes. But look at their direction handles. This isn't very intuitive either, is it? The user has no idea where those nodes are actually being created while drawing the original two nodes. Convert it to a regular path, and you get this: Now we see that it's 17 conventional Bezier curves (segments). Not anything particularly elegant and supple to work with if I need to modify it. Again, I'm not dismissing it, and yes, I understand it's a work-in-progress. But just based on what I can discern from the demo as-is, I don't see anything particularly ground-breaking here. Dinking around with its Pen tool, though, hindrances are imposed on moves that I commonly make for purpose. In general, I don't like features that try to 'read my mind' in anticipation of my intention; they tend to get it wrong more often than right. It's kind of like auto-tracing in that regard. It's an algorithm placing the actual nodes, not me. But wait! Isn't it an algorithm that's plotting the curves that I specify by placing nodes in the conventional Bezier interface? Yes, but consider: Someone uses this interface in designing font glyphs (it's stated target). Using the resulting font, I set some type in any mainstream Bezier-based drawing program, and then convert it to paths, intending to modify the outlines for a logotype. Whatever is going on 'behind the curtain' of this interface, the curves have to be interpreted to curves possible in my drawing program. If you've ever done that with TrueType fonts (which use quadratic Beziers) instead of Type 1 fonts (which use cubic Beziers just like your drawing program), then you know what kind of a mess I'm talking about; far more segments than one should have to deal with for elegant and tidy curve modifications. My guess is, this would be worse. FontLab expended serious effort toward Bezier interface innovation prior to release of its current version. It probably has the highest stake in the stated context. But the type designer using it is still looking at the nodes, handles, and curves that I'm going to get when I set some type and convert it to paths. I consider that a necessity. JET sfriedberg 1 Quote Link to comment Share on other sites More sharing options...
Clayton Posted January 1, 2021 Share Posted January 1, 2021 On 12/29/2020 at 7:58 AM, chessboard said: This is what I thought Smart-Points would/should do. Strong agree. I still don't really understand what the existing smart curve feature is supposed to do, but this feels like what I always expected. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.