Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to import drawing paths into a Cocoa application?




On 27 Apr 2008, at 12:24 pm, John C. Randolph wrote:

On Apr 21, 2008, at 5:35 PM, Graham Cox wrote:

- (NSPoint) pointOnPathAtLength:(float) length slope:(float*) slope;

I notice that your lengthOfBezier() function does an approximation similar to what we'd get in postscript by executing flattenpath and then adding up the lengths of the resulting line segments.

I generally find that Quartz doesn't flatten by that much in practice (though of course you can set this value), so the spacing is quite coarse between each point especially for already quite "flat" curves, making it not that suitable for calculating the length - you still end up having to interpolate the last segment.


In my code it actually does a binary subdivision of each curve segment until the point on the path is within some epsilon of the wanted point - I typically use 0.1 (points) as certainly on screen this is very adequate and takes very little time to execute to this degree of accuracy. Even for printed output that's only one pixel error at 720dpi, so it's pretty close. Most of the time you're interested in something that looks right, so a mathematically perfect solution is not really warranted.

I've asked several math majors over the years if they could give me an exact function for the length of a bezier curve. They've generally told me it was possible, but none of them actually produced it.

Yup, that seems similar to my experience too, all talk and no trousers!

G.
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >How to import drawing paths into a Cocoa application? (From: Steve Weller <email@hidden>)
 >Re: How to import drawing paths into a Cocoa application? (From: Graham Cox <email@hidden>)
 >Re: How to import drawing paths into a Cocoa application? (From: "John C. Randolph" <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.