- From: Doug Schepers <schepers@w3.org>
- Date: Thu, 20 Jun 2013 03:28:23 -0400
- To: Stephen Chenney <schenney@chromium.org>
- CC: Nikita Vasilyev <me@elv1s.ru>, "www-svg@w3.org" <www-svg@w3.org>
Hi, Stephen- On 6/19/13 3:05 PM, Stephen Chenney wrote: > It's a very hard thing to implement correctly for all cases, and a call > might be rather expensive. I worry that different implementations will > give different answers under surprisingly simple situations. We should try to minimize these, of course... but even still, I suspect native code will be more reliable (and performant) than JS, so developers would still be better off. > Still, I think we will reasonably soon have the ability to do this in > the Chrome back-end (Skia) so for us it might be a fairly easy thing to > implement. Great to hear! > Thanks for providing motivation for the change. Thanks for being so responsive. Are you interested in possibly working on the spec, either as an editor, a technical contributor, or in laying out use cases and requirements? Regards- -Doug > On Wed, Jun 19, 2013 at 9:19 AM, Doug Schepers <schepers@w3.org > <mailto:schepers@w3.org>> wrote: > > Hi, Nikita- > > I strongly agree. > > In writing apps with SVG and JS, I've wanted to have an easy way to > get intersections for many different things. I'm currently using > Kevin Lindsey's intersection library on a personal project. > > I actually believe that we should work on a more comprehensive API > for point, vector, and matrix math (including intersections), which > could be used for both SVG and Canvas (and possibly CSS); JS libs > like Sylvester [1] and mjs [2] are a good start, but would have > better performance if implemented natively in browsers. I don't have > the math skills to do this myself, but if we could find someone to > help spec it out, I could facilitate the spec production. > > [1] http://sylvester.jcoglan.com/ > [2] http://webgl-mjs.googlecode.__com/hg/docs/files/mjs-js.html > <http://webgl-mjs.googlecode.com/hg/docs/files/mjs-js.html> > > Regards- > -Doug > > > On 6/19/13 6:27 AM, Nikita Vasilyev wrote: > > I propose to implement a method for finding intersection points for > basic shapes and paths. > > svgElements.__getIntersectionPoints( svgElement ) > -> Array of points, e.g. [{x: 1, y: 120}, …] > > There are JavaScript libraries for this > http://www.kevlindev.com/__geometry/2D/intersections/ > <http://www.kevlindev.com/geometry/2D/intersections/> > http://raphaeljs.com/__reference.html#Raphael.__pathIntersection > <http://raphaeljs.com/reference.html#Raphael.pathIntersection> > > There is a getIntersectionList method which calculates intersection > using bounding boxes of the elements > (http://dev.w3.org/SVG/__profiles/1.1F2/publish/struct.__html#__svg__SVGSVGElement____getIntersectionList > <http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#__svg__SVGSVGElement__getIntersectionList>) > It does NOT return intersection points. > > Motivation > Finding intersection is commonly used for drawing and prototyping > applications such as Adobe Illustrator to "snap" objects. > > > > >
Received on Thursday, 20 June 2013 07:28:31 UTC