Re: Method for finding intersection points

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