On 7/27/05, Christopher Ellison <chris_ellison@...9...> wrote:
First of all, it reminds me of Geometer's Sketchpad...a program I used while in high school to make complex geometric drawings. It would be nice if Inkscape implemented some features of Geometer's Sketchpad as, IMHO, it would make drawing easier.
I think what you refer to is drawing with constraints. This is indeed a nice thing, but a general purpose vector editor cannot do all of this stuff. We're going to have more of it (in particular for diagrams) but if you need a Geometer's Sketchpad type program, I recommend KSEG:
http://www.mit.edu/~ibaran/kseg.html
When I think of "clone", I think "indistinguishable." As a user, it doesn't make any sense that the original object has properties that the clone does not...namely, if I rotate the original object, then the clone will rotate...but if I rotate the clone, the original will not rotate.
Terminology is never ideal. The term "clone" has stuck. And in fact it's quite apt here: if B is a clone of A, it means B inherits from A but not the other way round.
It seems the the current clone implementation is more like a "copycat" or "leader/follower" type relationship. It would be nice if Inkscape allowed for BOTH mechanisms: copycat and clone.
"Two-way" cloning is not in SVG, and I doubt it will be. Frankly I don't see much advantage in it. Can you describe a realistic use case?
You create a circle. You add a "point" to the circle. This point is linked to the circle. If you move the cirlce, the point moves with the circle. Additionally, the point can be moved, but its movement is constrained to the circle. Suppose I make a smaller circle using the point as the origin. This smaller circle is now linked to the point. Thus, if I dragged the point along the bigger circle, I would also be dragging the smaller circle around the circle.
Yes, that's constraints. We will soon have one specific kind of them, one that links an object with a connector line.
In Geometer's Sketchpad, one had the ability to clone-reflect an object about a line. Upon doing so, there would be two indistinguishably, linked objects. If you moved one object closer to the reflection line, then the other object would move closer to the reflection line. Notice, it didn't matter which object you chose to move. This would be a VERY NICE feature in Inkscape...and I think it is pretty clear how useful it could be.
You can do this, more or less, with clones. Except that they pass changes one way only. But if e.g. you are drawing a symmetric thing, you would normally want to edit just one half/petal/segment etc., which is easy to do with one original and many clones.
Often, I find that I want to rotate many different objects about the same point...but not necessary all at once. This means, that I need strict placement of the roatation point---as any difference is usually noticable. When dragging the cursor, the coordinates are show in the status bar, but is it possible to exactly specify the coordinates?
Not yet, but worth a RFE, hopefully we'll have this one day.
Geometer's Sketchpad also allowed you to draw perpendicular lines....or draw bisecting angles....or make a midpoint between two points. I believe these will be taken care of when Inkscape implements snapping to objects (please correct me if I am wrong). Corel Draw currently supports this. You can snap to the center of an object, the midpoint of a line, to a quadrant, and to a node.
We don't have snapping to objects yet. This is an area where a lot more work is needed.