- From: David Dailey <ddailey@zoominternet.net>
- Date: Thu, 12 Jun 2014 16:52:12 -0400
- To: "'Dirk Schulze'" <dschulze@adobe.com>, <www-style@w3.org>, "'FX'" <public-fx@w3.org>, "'w3c-css-wg'" <w3c-css-wg@w3.org>, "'SVG public list'" <www-svg@w3.org>
-----Original Message----- From: Dirk Schulze [mailto:dschulze@adobe.com] Sent: Thursday, June 12, 2014 3:33 PM To: <www-style@w3.org>; FX; w3c-css-wg; SVG public list Subject: [geometry] Review request before LC Hi, The editors of Geometry Interfaces[1] asked for reviews for the spec 1.5 weeks ago. We got a lot of great feedback on the W3C mailing lists, vendor mailing lists and private messages. I want to thank every one very much for the time spend in reviews. We looked, discussed and incorporated the feedback and believe that Geometry Interfaces[1] is ready for Last Call Working Draft. We would like to give everyone another week to look over the spec and ask the CSS and SVG Working Groups to publish the Last Call Working Draft at Wednesday next week. If members of the Working Groups request more time for reviewing the spec we are happy to wait another week before asking for LCWD. Greetings, Dirk [1] http://dev.w3.org/fxtf/geometry/ ------------- Hi Dirk, A year ago or so Doug Schepers had asked for feedback about something that sounds related: public-geometryapi@w3.org I submitted the following list of a couple of score of requirements that I don't see listed in the draft document. Conceivably some of it is there, and conceivably the purposes to which Doug's input were put are different than the Geometry Interfaces thing, but having two such similar things seems odd. At the same time, not addressing the issues raised seems odd. I believe there was another email in which I donated working code (JavaScript) for some of the functionality mentioned below. Regards David -----------------two emails from me from 2013------------- ________________________________________ From: Dailey, David P. Sent: Friday, July 26, 2013 8:59 AM To: Doug Schepers; David Dailey Cc: public-geometryapi@w3.org Subject: RE: things often done in geometrical applications A couple of other things that would be nice 1. Given an arbitrary convex quadrilateral, return the unique ellipse tangent to the four sides: http://chrisjones.id.au/Ellipses/ellipse.html -- useful for perspective drawing. 2. Given two circles return the four lines tangent to both (in the typical situation of disjoint circles) http://jwilson.coe.uga.edu/emt669/Student.Folders/Kertscher.Jeff/Essay.3/Tan gents.html and http://cs.sru.edu/~ddailey/svg/circlesX.svg (Jim Wilson at UGA tells me that this technique was undoubtedly known by Euclid and students) 3. Given a line arrangement ( https://en.wikipedia.org/wiki/Arrangement_of_lines ) return the collection of polygons into which the lines have divided the viewport. 4. Given three (nonoverlapping) circles, return the eight Apollonian circles tangent to all three http://en.wikipedia.org/wiki/Problem_of_Apollonius That these problems and their solutions have endured for millennia is plenty of justification for their utility to me. cheers David ________________________________________ From: Doug Schepers [schepers@w3.org] Sent: Monday, July 01, 2013 1:25 AM To: David Dailey Cc: public-geometryapi@w3.org Subject: Re: things often done in geometrical applications Hi, David- On 6/28/13 4:06 PM, David Dailey wrote: > > Thanks for getting this going. Coincidentally, as it's creation was > being discussed, I in the midst of a project that could have used the > fruits of this labor (assuming they might exist in a couple of years). I've seen so many requests for something like this over the years that it was bound to overlap several people's projects that need it. :) Thanks for this list to help us get started. I have a few comments on specific items, inline... > Here's just a quick list of things that come to mind that one might > often wish to do > > Intersecting things, as per Kevin Lindsay's work (wasn't some of this > already in SVG 1.2?): > > Lines, circles, ellipses, bezier (c and q) all with > one another I've added this to the use cases and requirements page [1]. Note that Kevin has pointed out some flaws and limitations in his library, and in using it, I've found that you have to know the segment/line type before performing an intersection test, which limits its usefulness. This makes it a good candidate for addressing in a browser-native API, in my opinion. > Points closest to one another on various pairs of curves (simplest > being two non parallel lines or a line and circle) > > Lines tangent to a given curve > > Closest to a point > > At a point > > Passing through a poin > > Lines tangent to each of two > > Circles (see > http://jwilson.coe.uga.edu/emt669/Student.Folders/Kertscher.Jeff/Essay > .3/Tangents.html > ) > > Ellipses I could see some of this being useful in a drawing tool. > Tweening - interpolating curves that are intermediate in shape between > two given curves (see the code that comes with <replicate> Kevin had a library (or script) for this as well, but I agree it could spawn some good requirements. > Extrapolation - given curves A and B produce C so that B is 1/nth of > the way from A to C. > > Given a set of n lines that divide the plane into (n^2 + n +2)/2 > regions - convert those regions to convex polygons returning a > collection of polygons > > Given a smooth path, convert it to a polygon having n edges for given > n>2 most closely resembling the path. > > Given a polygon (convex or concave) or more generally, > > Form a triangulation of its interior > > Form a slight deformation of it (for glyphs we might > consider arbitrary svg <path>s rather than just polygons You've lost me here. What sort of use cases would these address? Even just some illustrative examples would help. > Produce a smoothed version (see > http://srufaculty.sru.edu/david.dailey/svg/Draw018.html -- draw a > rectangle, select it (by clicking on it) and then choose Smooth from > the menu that appears) Smoothing curves/shapes is really useful for drawing apps, especially those that have a distributed shared canvas, since it results in simpler paths to exchange. > Given n points > > Find a polygon passing through them > > Produce a Voronoi diagram > > Produce random > > N-gon > > Smooth Bezier curves that pass through N control > points and preserve continuous first derivatives > > Tessellations (polygonal, or rectangular - think HTML > tables with colspan and rowspan) These seem more like things you'd do in script, maybe using a geometry API for parts, rather than operations of a geometry API itself. But maybe I'm missing something. > That such things are useful (hence implying the existence of use > cases) seems obvious through a simple glance at the last 2500 years of > progress in algebra, mensuration and geometry. We'll have a much stronger case to bring to the browser implementers if we reinforce our requirements with explicit use cases. It will also help us focus on the highest-priority items. > BTW, Inkscape has some of this stuff already, as does <replicate>, > neither of which I saw in the script library listed in the wiki. Like it says on the wiki, that page was a rough first draft, and anyone in the Community Group can edit it. (That said, Inkscape isn't a script library... but all those links were just for inspiration anyway.) [1] http://www.w3.org/community/geometryapi/wiki/Use_Cases_and_Requirements Regards- -Doug
Received on Thursday, 12 June 2014 20:53:16 UTC