Re: Circular paths

Dirk Schultz wrote:

>The specification wants us to omit the elliptical arc segment, if the endpoints are >identical: http://www.w3.org/TR/SVG/implnote.html#ArcOutOfRangeParameters.
>I guess the reason is the algorithm at F.6.5 Conversion from endpoint to center parameterization. 

I'm pretty sure that you're right here. I also had suspected that, as you confirm, the spec doesn't like the two endpoints to coincide. But, though I haven't worked out the math, I suspect that "If the endpoints (x1, y1) and (x2, y2) are identical" it merely means that the author has intended to refer to the points (x1,y1) and (lim d->0 (x1+d), lim d->0(y1+d)).

That Opera, Chrome, and IE+ASV all fail to display the path 

<path d=" M 400,300 a 100,100 0 1 1 .00001 0 z " fill="white" stroke="black" stroke-width="3" />

means to me that the concept of 0.00001 as a valid number seems disallowed in this context. I don't suspect that that is what the spec wanted to have happen, though it is easy to see how an implementer might write an approximation for equality than a test of strict equality.

An author may wish the path approximation to the circle (useful for drawing circles with holes in them) to be arbitrarily zoomable without a funny little flat edge revealing itself upon magification.

It reminds me of the case for gaussian blur standarddeviation= (x,0) where until relatively recent changes to the spec, one had to write standarddeviation= (x,delta) for some delta bigger than zero, but not too small since the browsers would choke. In many of  these out-of-range cases I suspect defining the undefined point as the limit as delta approaches zero might allow the author to accomplish what she intends. Maybe?

On the other hand, it could be that the limit of the function I'm alluding to is somehow ill-defined. I rather doubt it though since values of delta as small as 0.0001 work fine across browsers.

regards
David 

Received on Tuesday, 4 January 2011 14:45:18 UTC