Here is a suggestion i hava made for a new input tool.
Similar to xara's Shape Editor Tool....
http://wiki.inkscape.org/wiki/index.php/User_talk:Davidhewitt#New_Inkscape_input_tool...
New Inkscape input tool
- David Hewitt
- Posts: 142
- Joined: Sun Jan 11, 2009 4:10 pm
New Inkscape input tool
Last edited by David Hewitt on Fri Mar 20, 2009 1:34 am, edited 2 times in total.
Re: New_Inkscape_input_tool
Faster and easier than bezier sounds good, but actually, there is not description of what is actually done while using the tool, one has to know the xara tool to understand your post in the wiki. Could do some prose on how this works?
- David Hewitt
- Posts: 142
- Joined: Sun Jan 11, 2009 4:10 pm
Re: New_Inkscape_input_tool
i thought i did...(explain it)
But perhaps i wasn't concise or clear enough...
Let me explain in a nut shell, how it could work....(not necessarily how it would be implemented but just to illustrate the concept.)
Think of it as:
1) curve points And
2) corner points...
That is all....
No bezier handles on input....
So you dont need to click and drag to make curved line segments (beizier)...
It could be as simple as:
1)Left click= curve points
2)Right click= corner points....
So to use this tool you simply click on it (like any other tool/icon)
then (LLLLLLLLLLLLLLLRLLLLLLLRLLLLLRLLLLLRLLLLLRLLLLLLLLR)
done....
Its the "join the dots" input method....
you put down the "dots" (curve or corner points)
And the path is the result
No farting around with click and drag... you just click the left mouse (curve points) to place down your nodes.....
just like a machine gun.... rapid fire....
Then to do a corner you don't need to hold any key, down (although this could be an option), convert any nodes, edit any nodes.......you just right click.... one press of a button (what could be easier)
more accurate than sketching with the pencil tool....
And twice as fast as the beizier tool....
This is a digitizing tool optimised for speed...
I.E it is especially excellent for tracing for anyone who uses raster art....
But it is so easy to use allot of people will prefer it generally also....
And even though twice as many nodes (or more) are require with this method than would be the case with the bezier method... these can be pumped out as fast as the user can click...and do not require any fussing about with bezier handles or finicky tweaking....
however some node reduction would be required if these paths are to be edited as easily as ones created with the native beizier input.....
So if you really want to understand this tool you must understand that you can not "edit" curve nodes...you can just move them....and to make a more complex curve you dont edit any nodes you just place more down.....
But my proposal takes this into account and has "the best of both worlds"...
It has the advantage of this method (ie it is fast) but could easily be reduced down to an optimized beizier path for editing with inkscapes current node reduction functionality....
But for those of you that are familiar with xara their Shape Editor Tool is not perfect and could be improved upon....
(There is no point emulating xara's shortcomings along with their strengths).
For example the way corner points are executed in xara nearly always requires some editing to get a sharp corner...
I.E these do not work as they intuitively enough.....
The graphic i included shows how these corner points should work....iE instantly creating one click corners....
LET ME COMPARE THE EXisting tools with this new one....(my ideas)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Lets take a look at Beizier inputs (Inkscape's existing "Pen" tool)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Beizier can define any line very accurately but inputting this line in the first place both quickly and accurately can be difficult especially for beginners...
*placing down too many nodes has a stippled effect and sometimes too few can be fiddly to get right...
*With Beizier (especially for complex lines) it can be very hard to achieve perfect results first time without edits.
*Beizier takes allot of experience to do well in all circumstances.
*Bezier has been reported by many to be notoriously hard to master.
*You can get very accurate results with Bezier but not without taking some time to be careful and precise and not always without edits.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Lets take a look at Sketch inputs (Inkscape's existing "Pencil" tool)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*The Pencil tool (that sketches) is the fastest tool for creating a path but lacks the accuracy in the process that placing down nodes does...'
*I.E. You have ample speed with the pencil tool but at the expense of accuracy.''
*Sketch is blindingly fast and has a great loose free hand feel.
*Sketch although fast and easy is not suitable for exacting/accurate work.
*Anyone can use the sketch tool but it only has a niche application.
*It would be almost impossible to define a complex line quickly or effectively with a sketch action.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Lets take a look at THE NEW PROPOSED INPUT TOOL
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Excellent tool for tracing accurately if you work off raster art...
(Allot of artists like to sketch on paper then scan it in and import the art and use this as the basis/framework for their vector design....)
This tool is very good for this type of work....
* great for newbies...very very easy to use......and some expert users will even find them selves preferring it...
*Anyone can use it with virtually no learning curve...
Its not a replacement for beizier but it has big advantages...
(i.e. its as easy to use as the pencil tool..... it is just (for a curved path) (....LLLLLLLLLLLLLLLLLLLLLLL done)
inserting "R" right clicks for corners.
*Its allot faster than beizier (no click and drag to slow you down.)
This input method is on average a good deal faster than beizier...
When you get experienced with it is very much like sketching with the pencil tool...
When you first use it you will find your self deliberately placing down points but as you improve you will find that your actually doing a slow pencil action (like tracing without stopping) moving the mouse whist clicking quickly on the mouse button...
(I have found separating these actions out mentally is the best way for beginners to get the gist of this tool and get up to speed on it....)
* Its almost like its tailor made for Spiro... as spiro does not use the click and drag action (that beizier does) this type of input tool is required anyway.........
But perhaps i wasn't concise or clear enough...
Let me explain in a nut shell, how it could work....(not necessarily how it would be implemented but just to illustrate the concept.)
Think of it as:
1) curve points And
2) corner points...
That is all....
No bezier handles on input....
So you dont need to click and drag to make curved line segments (beizier)...
It could be as simple as:
1)Left click= curve points
2)Right click= corner points....
So to use this tool you simply click on it (like any other tool/icon)
then (LLLLLLLLLLLLLLLRLLLLLLLRLLLLLRLLLLLRLLLLLRLLLLLLLLR)
done....
Its the "join the dots" input method....
you put down the "dots" (curve or corner points)
And the path is the result
No farting around with click and drag... you just click the left mouse (curve points) to place down your nodes.....
just like a machine gun.... rapid fire....
Then to do a corner you don't need to hold any key, down (although this could be an option), convert any nodes, edit any nodes.......you just right click.... one press of a button (what could be easier)
more accurate than sketching with the pencil tool....
And twice as fast as the beizier tool....
This is a digitizing tool optimised for speed...
I.E it is especially excellent for tracing for anyone who uses raster art....
But it is so easy to use allot of people will prefer it generally also....
And even though twice as many nodes (or more) are require with this method than would be the case with the bezier method... these can be pumped out as fast as the user can click...and do not require any fussing about with bezier handles or finicky tweaking....
however some node reduction would be required if these paths are to be edited as easily as ones created with the native beizier input.....
So if you really want to understand this tool you must understand that you can not "edit" curve nodes...you can just move them....and to make a more complex curve you dont edit any nodes you just place more down.....
But my proposal takes this into account and has "the best of both worlds"...
It has the advantage of this method (ie it is fast) but could easily be reduced down to an optimized beizier path for editing with inkscapes current node reduction functionality....
But for those of you that are familiar with xara their Shape Editor Tool is not perfect and could be improved upon....
(There is no point emulating xara's shortcomings along with their strengths).
For example the way corner points are executed in xara nearly always requires some editing to get a sharp corner...
I.E these do not work as they intuitively enough.....
The graphic i included shows how these corner points should work....iE instantly creating one click corners....
LET ME COMPARE THE EXisting tools with this new one....(my ideas)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Lets take a look at Beizier inputs (Inkscape's existing "Pen" tool)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Beizier can define any line very accurately but inputting this line in the first place both quickly and accurately can be difficult especially for beginners...
*placing down too many nodes has a stippled effect and sometimes too few can be fiddly to get right...
*With Beizier (especially for complex lines) it can be very hard to achieve perfect results first time without edits.
*Beizier takes allot of experience to do well in all circumstances.
*Bezier has been reported by many to be notoriously hard to master.
*You can get very accurate results with Bezier but not without taking some time to be careful and precise and not always without edits.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Lets take a look at Sketch inputs (Inkscape's existing "Pencil" tool)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*The Pencil tool (that sketches) is the fastest tool for creating a path but lacks the accuracy in the process that placing down nodes does...'
*I.E. You have ample speed with the pencil tool but at the expense of accuracy.''
*Sketch is blindingly fast and has a great loose free hand feel.
*Sketch although fast and easy is not suitable for exacting/accurate work.
*Anyone can use the sketch tool but it only has a niche application.
*It would be almost impossible to define a complex line quickly or effectively with a sketch action.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Lets take a look at THE NEW PROPOSED INPUT TOOL
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Excellent tool for tracing accurately if you work off raster art...
(Allot of artists like to sketch on paper then scan it in and import the art and use this as the basis/framework for their vector design....)
This tool is very good for this type of work....
* great for newbies...very very easy to use......and some expert users will even find them selves preferring it...
*Anyone can use it with virtually no learning curve...
Its not a replacement for beizier but it has big advantages...
(i.e. its as easy to use as the pencil tool..... it is just (for a curved path) (....LLLLLLLLLLLLLLLLLLLLLLL done)
inserting "R" right clicks for corners.
*Its allot faster than beizier (no click and drag to slow you down.)
This input method is on average a good deal faster than beizier...
When you get experienced with it is very much like sketching with the pencil tool...
When you first use it you will find your self deliberately placing down points but as you improve you will find that your actually doing a slow pencil action (like tracing without stopping) moving the mouse whist clicking quickly on the mouse button...
(I have found separating these actions out mentally is the best way for beginners to get the gist of this tool and get up to speed on it....)
* Its almost like its tailor made for Spiro... as spiro does not use the click and drag action (that beizier does) this type of input tool is required anyway.........
Last edited by David Hewitt on Sun Feb 15, 2009 9:12 pm, edited 1 time in total.
Re: New_Inkscape_input_tool
ahhh ... i get it.
Although i do not feel as hampered by the bezier tool as you seem to be, i like the idea. Even the addition (i was going to write 'simple addition', but as i have no idea about the difficulty level of implementing suchlike, i'll pass on that) of the bezier-tool option "right-click sets corner node" would be nice. What i do currently is fast-clicking all the points with the bezier tool (no dragging) and after ending the path i go back and drag the path to my liking (not with the handles, but by directly dragging the path between the handles.).
i imgagine even with the tool you propose one would have to go back and fiddle some, so i do not see the big bonus of an entirely new tool. but, as i said, directly inputting corner nodes would be nice.
Although i do not feel as hampered by the bezier tool as you seem to be, i like the idea. Even the addition (i was going to write 'simple addition', but as i have no idea about the difficulty level of implementing suchlike, i'll pass on that) of the bezier-tool option "right-click sets corner node" would be nice. What i do currently is fast-clicking all the points with the bezier tool (no dragging) and after ending the path i go back and drag the path to my liking (not with the handles, but by directly dragging the path between the handles.).
i imgagine even with the tool you propose one would have to go back and fiddle some, so i do not see the big bonus of an entirely new tool. but, as i said, directly inputting corner nodes would be nice.
- David Hewitt
- Posts: 142
- Joined: Sun Jan 11, 2009 4:10 pm
Re: New_Inkscape_input_tool
Horses for courses...
IE you cant please everyone...
funny that you like the right click for corner idea.....
This is the idea that will bring the most resistance from inkscapers generally i think.
Perhaps because they like to uphold the sanctity of the right click menu....(and i would agree with this in 9 out of 10 instances)
(the exceptions would be in my view...the palette (for stroke and fill properties) and the input methods (as sometimes the right mouse is needed for more "core" functions.....
I.E which would be a more important use for the right mouse for this new tool?
1) finalizing the object (as is the case currently in inkscapes pen tool).
This happens only once for each objects life.
or
2) or creating a corner (complex paths could have 100 corners). The alternative to the right click would require one to press and hold [shift] every time for every corner....if these are interleaved with curve segments you had better be co-ordinated.... if your blasting out 5 nodes a second your going to be doing morse code on that shift key like an eighteen hundreds telegram clerk.
Its far easier to justify that the right mouse should be sequestered for inserting corners in this instance....
even though this is an exception to the universality of the right click menu....or finalising an object ETC
(although [shift] left click will work just fine for those who perfer this or are already adept at it....so this would obviously be an option....)
- - - - - - - - - - - - - -
It is worth noting that this tool in xara is their premier input tool.....(the main tool, with the beizier and sketch tools being like added extras)
and inkscape is missing this tool!
Allot of xara's mentality has gone into inkscape....
But this is not something that i would expect the developers to deliberately leave out....
I'm guessing they did the other 2 tools first because they are easier to do, or they made more sense to the coders at the time, maybe because beizier math is well documented and easy to research (i dont know).....
But i dont think it will stay this way as spiro is coming and this tool is how spiro should be rolled out...
There is no point creating a path that does not relate back to how the resultant line looks......
IE why create a bezier path with spiro applied when your bezier nodes do not effect spiro?
Why create a bezier path and apply spiro only to have the result be wildly deviant to the line you just created...?
This makes no sense and will only serve to turn people off spiro....(the underlying thought in their minds will be cool but unpredictable...)
So instead why not create the Curve/corner point input tool.... and have spiro as the math behind it.....
this way people will not be applying spiro math to a bezier path and getting wacky results....
They will be creating the spiro points on the fly with out the confusion of bezier in the background....
But im not saying spiro is the only reason this tool is a good idea....
xara's object editor tool does not have spiro....
its just obvious that this input method is the one best suited to hosting spiro.
- - - - - - - -
but getting back to what you said.....your editing your nodes to do this! (get corners) and i can understand why.....
Inkscape masters can say how easy it is ETC until they are blue in the face... but the fact is allot of people are resorting to manual editing to do corners....
And they should heed this....
with this method a corner is one click.... done.....
And your right that this system would not be edit free...
as the math behind the input method (how the curve points define the line) are more basic/generic..... and so you need to put more nodes down and the result although alot quicker will not be as smooth as a well done beizier.....
But when smoothing and node reduction are taken into account there will be 10 times less editing required than with beizier...
i currently use a tool like this not in xara but in a embroidery app i use... and i can tell you that the only thing this lacks is a good node reduction routine to reduce paths down to neat beizier representations of the paths digitized with this method...
I.E as most of the editing i do with this method involves moving points slightly to make curves look smoother.....
IE optimising the node positions to suit the math....
But with twice or 3 times as many nodes on the actual path you want you have ample resolution to inform the reduction routine where the optimized (node reduced) beizier path should flow....
and if done well a decent (even automatic) smoothing/reduction routine on the out put of objects with this tool would in my view be the perfect realization of this method....
I.E i think with such a method that editing would be almost never required....
IE you cant please everyone...
funny that you like the right click for corner idea.....
This is the idea that will bring the most resistance from inkscapers generally i think.
Perhaps because they like to uphold the sanctity of the right click menu....(and i would agree with this in 9 out of 10 instances)
(the exceptions would be in my view...the palette (for stroke and fill properties) and the input methods (as sometimes the right mouse is needed for more "core" functions.....
I.E which would be a more important use for the right mouse for this new tool?
1) finalizing the object (as is the case currently in inkscapes pen tool).
This happens only once for each objects life.
or
2) or creating a corner (complex paths could have 100 corners). The alternative to the right click would require one to press and hold [shift] every time for every corner....if these are interleaved with curve segments you had better be co-ordinated.... if your blasting out 5 nodes a second your going to be doing morse code on that shift key like an eighteen hundreds telegram clerk.
Its far easier to justify that the right mouse should be sequestered for inserting corners in this instance....
even though this is an exception to the universality of the right click menu....or finalising an object ETC
(although [shift] left click will work just fine for those who perfer this or are already adept at it....so this would obviously be an option....)
- - - - - - - - - - - - - -
It is worth noting that this tool in xara is their premier input tool.....(the main tool, with the beizier and sketch tools being like added extras)
and inkscape is missing this tool!
Allot of xara's mentality has gone into inkscape....
But this is not something that i would expect the developers to deliberately leave out....
I'm guessing they did the other 2 tools first because they are easier to do, or they made more sense to the coders at the time, maybe because beizier math is well documented and easy to research (i dont know).....
But i dont think it will stay this way as spiro is coming and this tool is how spiro should be rolled out...
There is no point creating a path that does not relate back to how the resultant line looks......
IE why create a bezier path with spiro applied when your bezier nodes do not effect spiro?
Why create a bezier path and apply spiro only to have the result be wildly deviant to the line you just created...?
This makes no sense and will only serve to turn people off spiro....(the underlying thought in their minds will be cool but unpredictable...)
So instead why not create the Curve/corner point input tool.... and have spiro as the math behind it.....
this way people will not be applying spiro math to a bezier path and getting wacky results....
They will be creating the spiro points on the fly with out the confusion of bezier in the background....
But im not saying spiro is the only reason this tool is a good idea....
xara's object editor tool does not have spiro....
its just obvious that this input method is the one best suited to hosting spiro.
- - - - - - - -
but getting back to what you said.....your editing your nodes to do this! (get corners) and i can understand why.....
Inkscape masters can say how easy it is ETC until they are blue in the face... but the fact is allot of people are resorting to manual editing to do corners....
And they should heed this....
with this method a corner is one click.... done.....
And your right that this system would not be edit free...
as the math behind the input method (how the curve points define the line) are more basic/generic..... and so you need to put more nodes down and the result although alot quicker will not be as smooth as a well done beizier.....
But when smoothing and node reduction are taken into account there will be 10 times less editing required than with beizier...
i currently use a tool like this not in xara but in a embroidery app i use... and i can tell you that the only thing this lacks is a good node reduction routine to reduce paths down to neat beizier representations of the paths digitized with this method...
I.E as most of the editing i do with this method involves moving points slightly to make curves look smoother.....
IE optimising the node positions to suit the math....
But with twice or 3 times as many nodes on the actual path you want you have ample resolution to inform the reduction routine where the optimized (node reduced) beizier path should flow....
and if done well a decent (even automatic) smoothing/reduction routine on the out put of objects with this tool would in my view be the perfect realization of this method....
I.E i think with such a method that editing would be almost never required....
Re: New_Inkscape_input_tool
This topic and the associated Wiki page is a little too wordy for me to examine everything that has been said, so I apologise if I've missed a point before piping in.
If I'm correct, the tool you are describing would create a path the exact same as if you were to lay down a bunch of cusp nodes using , then to select a group of those cusp nodes and convert them to smooth nodes (i.e. the handles length and angle would be automatically calculated based on the position of the neighbouring nodes). The only difference is that you want the handles to be calculated as your define the path, not after.
I agree that I think this will help novices--unlike Spiro which will probably confuse them as they struggle to bend the path to their liking. But what David is describing and what Spiro does is very different so I don't think it's fair to compare them.
As was predicted, I don't agree with using right-click for laying a different node type. No need for me to debate that--we all know why I wouldn't like it I think you could still use a click-drag for smooth nodes, if only as a gesture to indicate what the node type should be even though it's not controlling the handle position.
Overall I think the general idea is a worthy request, but the one downside is that it won't encourage people to get to know bezier curves. Right now, you are forced to understand how bezier curves work, and you'll be a better vector artist for it. But it's kinda argumentative to suggest someone's skills will develop more slowly if their hand is held.
If I'm correct, the tool you are describing would create a path the exact same as if you were to lay down a bunch of cusp nodes using , then to select a group of those cusp nodes and convert them to smooth nodes (i.e. the handles length and angle would be automatically calculated based on the position of the neighbouring nodes). The only difference is that you want the handles to be calculated as your define the path, not after.
I agree that I think this will help novices--unlike Spiro which will probably confuse them as they struggle to bend the path to their liking. But what David is describing and what Spiro does is very different so I don't think it's fair to compare them.
As was predicted, I don't agree with using right-click for laying a different node type. No need for me to debate that--we all know why I wouldn't like it I think you could still use a click-drag for smooth nodes, if only as a gesture to indicate what the node type should be even though it's not controlling the handle position.
Overall I think the general idea is a worthy request, but the one downside is that it won't encourage people to get to know bezier curves. Right now, you are forced to understand how bezier curves work, and you'll be a better vector artist for it. But it's kinda argumentative to suggest someone's skills will develop more slowly if their hand is held.
- David Hewitt
- Posts: 142
- Joined: Sun Jan 11, 2009 4:10 pm
Re: New_Inkscape_input_tool
microUgly wrote:If I'm correct, the tool you are describing would create a path the exact same as if you were to lay down a bunch of cusp nodes using , then selected a group of those cusp nodes and [b]converted[/b] them to smooth nodes (i.e. the handles length and angle would be automatically calculated based on the position of the neighbouring nodes). The only difference is that you want the handles to be calculated as your define the path, not after.)
Yes this is essentially a good synopsis....
microUgly wrote:Overall I think the general idea is a worthy request, but the one downside is that it won't encourage people to get to know bezier curves. Right now, you are forced to understand how bezier curves work, and you'll be a better vector artist for it. But it's kinda argumentative to suggest someone's skills will develop more slowly if their hand is held.
I see your point but don't exactly agree...
(Xara dont have a problem calling their "shape editor tool" their "Main input tool".)
Obviously you are a purist but when other tools exist that are equally well capable of creating the same path...be it quicker but with a few more nodes... i'm all for it. (as an option)
And with a bit of node reduction just as easy to edit with beizier just the same...
P.S i condensed that proposal...its now 1.5 screens high instead of about 6 (trying to be more concise)
Do you drive a stick shift MicroUgly?
I think you do....(Damn auto transmissions take all the romance out of driving LOL )
Re: New_Inkscape_input_tool
David Hewitt wrote:P.S i condensed that proposal...its now 1.5 screens high instead of about 6 (trying to be more concise)
You've condensed this reply also I had written a response yesterday but didn't post it before leaving work. Anyway...
Do you drive a stick shift MicroUgly?
Yes, but not because I'm a driving purist
- David Hewitt
- Posts: 142
- Joined: Sun Jan 11, 2009 4:10 pm
Re: New_Inkscape_input_tool
microUgly wrote:You've condensed this reply also I had written a response yesterday but didn't post it before leaving work.
Yeah i must have "IM asbergers" I was trying to be more concise...
Anyway...
Do you drive a stick shift MicroUgly?
Yes, but not because I'm a driving purist
Re: New Inkscape input tool
Wow this new input tool is one of the few ideas that I wanted to suggest (I've never used Xara). I believe this feature is very important and will dramatically increase the speed of using pen tool and consequently dramatically increase the spontaneity and fluidity of the drawing process. Click-click-click-click, it's so beautiful. I know Bezier can make precise curves with minimal number nodes, but spontaneity and fluidity is the most important thing for me in almost all cases.
Too bad the priority status is still undefined and delivery status is still unknown. I really think this tool would be a perfect addition for 0.47. Would someone, please-please make this.
Too bad the priority status is still undefined and delivery status is still unknown. I really think this tool would be a perfect addition for 0.47. Would someone, please-please make this.