- From: Jasper van de Gronde <th.v.d.gronde@hccnet.nl>
- Date: Wed, 06 Oct 2010 12:45:06 +0200
- To: "Dr. Olaf Hoffmann" <Dr.O.Hoffmann@gmx.de>
- CC: www-svg@w3.org
On 2010-10-06 12:22, Dr. Olaf Hoffmann wrote: > ... > About a meaningful defintion for future versions: > > > Jasper van de Gronde: > >> Note that it's not as undefined as declaring it simply "undefined" would >> suggest. Actually, with the current wording renderers would always have >> two (and ONLY two) choices, as the bisector is technically a line, >> giving rise to two possible vectors. It's just that normally it's >> obvious that the vector corresponding to the smaller angle should be >> chosen. In the case of two opposite tangent vectors it's just that there >> isn't a smaller angle. > ... > > If we assume that an author uses such a marker typically to indicate > something like the progression direction of the path, due to all of my > examples it would be useful to align the marker direction in such a case > perpendicular to the two tangents. This corresponds to a limes > of the bisector angle going to zero. > > The main problem seems to be the orientation. > If the subpath/path fragment before and after this degenerate > point have a direction, this can be used to determine the orientation > of the marker from a non local 'before' to a non local 'after' or maybe > from higher order derivatives (L'Hospital? Did not test, if this is > usable here). L'Hôpital's rule is indeed useable (at least for Beziers, but I guess the same will hold for other curves). And (if you apply a rotation as I described before) it basically leads to determining the sign of the sum of two coefficients in the Taylor expansions of the x derivatives of the curves around the corner (the first two for which the sum is non-zero). This is particularly easy for Bezier's and such, but also shouldn't be too hard for elliptical arcs. > In the degenerate case of two reverse straight lines there is > no such information remaining. > For example (b) > M0,0 200,200 0,0 -200,-200z > ... > Another problematic sample (c): > M-100,-100C-50,-50 0,0 200,-200C-50,50 -50,-50 -100,-100z This basically results in all coefficients being opposites and is therefore the same as b for the purposes of the procedure suggested above (no coefficients can be found for which the sum is non-zero).
Received on Wednesday, 6 October 2010 10:45:35 UTC