- 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