There is some bits which can help you in this regard. The part of it is path tesseleration, which turns any path with complex curves into polygon (which has only straight lines), from there on, i think you can easily calculate the distance between any point and that polygon. Look at AthensCurveFlattener class, and its uses. the entry point is (flattenPath: aPath transform: aTransformation). But be aware that this is not fully integrated yet and subject to change in future. On 23 November 2013 15:20, kilon alios <kilon.alios@gmail.com> wrote:
aaaaaahhh come on ... I am not THAT lazy :D
of course I have searched it before asking. Unless I am blind I see loads of bezier methods, none that detects whether a point belong to a curve. But now you mention it I think I remember squeak was able to do add points to a curve via click or something similar, because thats what I wan to do. So I will take a look at it , most probably there is a method in there that does this.
I want the user to click on a curve or line and there a new control point will be placed that will allow the user to shape the line or curve to a finer detail. A standard feature for all vector editors , 3d editors, even image editors.
I am sorry if I miss something obvious here, its not laziness , its most likely stupidity or just the fact I am very new with this. This is the first time I try to make a vector editor.Again thank you all for trying to help me, you have done already a lot.
On Sat, Nov 23, 2013 at 3:38 PM, Stéphane Ducasse < stephane.ducasse@inria.fr> wrote:
On Nov 23, 2013, at 11:24 AM, kilon alios <kilon.alios@gmail.com> wrote:
would I sound too lazy to ask in which class ?
On Sat, Nov 23, 2013 at 11:35 AM, Stéphane Ducasse < stephane.ducasse@inria.fr> wrote:
there are bezier algo in the system
Stef
On Nov 20, 2013, at 9:55 PM, kilon alios <kilon.alios@gmail.com> wrote:
yes I found the formula for straight lines and I was wondering what was the one for bezier curves, so your reply could not have come a better moment. Thanks I will study it and implement it.
On Wed, Nov 20, 2013 at 9:21 PM, Hilaire Fernandes < hilaire.fernandes@gmail.com> wrote:
Hello,
You may want to calculate the distance between the mouse position and your path (I guess a bezier curve). Then given this distance and a tolerance to zero you decide if the mouse position is more or less on your path. Calculating the distance you will also get for free the place where to add a point on your path.
http://blog.gludion.com/2009/08/distance-to-quadratic-bezier-curve.html
Hilaire
Le 14/11/2013 21:07, kilon alios a écrit :
In order to do that I will have to check that the line passes through a specific pixel. Or to be more correct that the place that mouse has clicked is where my path passes through. How I do that ? Can Athens do that ? Can athens tell me which pixels my path passes through ?
-- Dr. Geo http://drgeo.eu
-- Best regards, Igor Stasenko.