- From: Anthony Grasso <anthony.grasso@cisra.canon.com.au>
- Date: Fri, 04 Dec 2009 18:10:21 +1100
- To: "Dr. Olaf Hoffmann" <Dr.O.Hoffmann@gmx.de>
- CC: www-svg@w3.org
Hi Dr. Olaf, Your recent email [1] and Steve's email has prompted me to respond to your original comments. See me responses inline below. Cheers, Anthony [1] http://lists.w3.org/Archives/Public/www-svg/2009Nov/0082.html Dr. Olaf Hoffmann wrote: > Hello SVG WG, > > currently this is not an extension of the transform > list of SVG, it is simply incompatible. > > In detail: > > For the rotate type in this draft it is specified: > 'rotate(<rotate-angle> <nx> <ny> <nz> [<cx> <cy> <cz>])' > with ci indicating the rotation center and ni indicating > the vector for the rotation > > However, even if it is assumed, that current viewers simply > ignore list items, if there are more than defined for > SVG1.1 and SVGT1.2, the result will be quite different > from that of a 'SVG Transforms 1.0' viewer, because > for SVG1.1 and SVGT1.2 we have: > > rotate(<rotate-angle> [<cx> <cy>]) > > what corresponds here to > > rotate(<rotate-angle> 0 0 1 [<cx> <cy> 0]) > or > rotateZ(<rotate-angle> [<cx> <cy>]) > Yes. Personally I think this should be changed. > > The other question is, what an arbitrary viewer > really does, if matrix, translate, rotate, scale > appear with a different number of list items. > Maybe it is in general a better idea, to use > completely new types like m3D, t3D, s3D, r3D, > rX3D, rY3D, rZ3D to avoid confusion. With this > there is a good chance that several viewers > will simply ignore the transform attribute > following SVGT 1.2, if they do not have it > implemented. > The original proposal was to use different names and as you can probably tell I think the wider community would probably prefer different names as well. > Else the other way round an 'SVG Transforms 1.0' > gets problems with the old notation for matrix > too, because, within this draft one has to > provide a list of 12 numbers, in SVG1.1 and > SVG1.2 only 6 numbers. > > Maybe it would be helpful to > provide a feature string for 3D transformations, > then authors can use a switch to provide some > useful content for all viewers. > This is probably something worth discussing. This would be more of a band-aid solution and be somewhat inelegant compared to adding new names for the 3D transforms. > > > The matrix in 1.2.3 represents only a rotation > with cx=cy=cz=0 ?! -> should be noted. Ok. Can do. > Currently the 1.2.3 is referenced to represent > the complete 3D rotation in the first sentence > of the rotate defintion. > I assume that the rotation vector points from > [cx cy cz] to [nx ny nz] and that the direction > of the rotation can be determined by the > right-hand-grip-rule, correct? > If this is true, SVG Transforms 1.0 seems to > use a right handed systems, with the z-axis > pointing into the direction roughly from the > eye of the user into the screen (perpendicular > to the screen) Your assumption is correct. SVG Transforms 1.0 does use the right handed system with positive z pointing perpendicular towards the screen. The reasons is the vanilla 2D rotate value specifies an anti-clockwise rotation. Additionally, I feel it is easier from an authoring point of view to have the perspective point appear to be behind the screen (thus giving positive z in the direction towards the monitor). Given that you've made a comment on this, is there anything you feel should be fixed or clarified? > Note that SVG filters use a positive z-axis > pointing from the screen to the eye of the > user, see for example the definition of > 'fePointLight' and 'feSpotLight' - this does not > fit together, has to be checked and in case > that this observation is true fixed to avoid > inconsistencies. > > The conflict with filters is something that the SVG Working Group should probably discuss to see if anything can be done about it. Thank you for pointing this out. > > > It is further noted for translation: > 'If <ty> and <tz> are not provided, it is assumed to be zero.' > It think, this should be something like: > 'If <ty> or <tz> are not provided, > the missing items are assumed to be zero.' > > Correspondingly for scaling: > 'If <sy> and <sz> are not provided, it is assumed to be equal to <sx>.' > -> > 'If <sy> or <sz> are not provided, > the missing items are assumed to be equal to <sx>.' > The wording sounds fine to me. > > > Best wishes > > Olaf > > >
Received on Friday, 4 December 2009 07:11:27 UTC