- From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
- Date: Sun, 22 Apr 2012 16:06:19 +0100
- To: www-style@w3.org, public-fx@w3.org
Dirk Schulze: > > I agree that we could/should use formula descriptions of the calculation on > the "Mathematical description" section, just like SVG Transforms or SVG 1.1 > do it. Nevertheless, the calculation is described as prose text in detail > on "3D Transform Rendering" [1]. Please follow the description about the > "accumulated 3D transformation matrix". Of course it is not easy to > understand without knowledge of 3D. I have to rely on the expertise of my > editor colloquies on this topic as well sometimes. But I don't think that > it is in the scope of the specification to teach 3D. > Yes, these graphics in http://www.w3.org/TR/2012/WD-css3-transforms-20120403/#transform-3d-rendering implicate more or less some central projection. Interestingly the text talks mainly on matrix multiplication again. Once you managed to calculate the "accumulated 3D transformation matrix" you still need a (presumably simple) method/function together with this matrix to present the result on the screen. A matrix is no graphical presentation result. For example 3 you basically multiply the point (x,y,z) with a 3x3 matrix, you get a result (x',y',z') and you use (x',y') for the presentation. For 4x4 matrices you can multiply a point (x,y,z,p) with a 4x4 matrix and you get a result (x',y',z',p') and obviously you will not use only (x',y') for the presentation, if you want to get something like examples 4-7. Of course, this multiplication should be noted as well. The more important issue is, how to come from (x',y',z',p') to the correct position of the point on the screen (respectively the viewport, viewBox or canvas, however you might call it - the area you have to continue with 2D), this has only an X and Y axis, no Z and P, lets call the point (p_x, p_y). What you need to write down is a function f (for example 3 a simple 4x2 matrix is sufficient, for 4-7 maybe not): (p_x, p_y) = f(x',y',z',p') My assumption is, that this is a quite simple function, with most of the not completely trivial things you need already stored in p'. But it is not the task of the reader of such a draft or later recommendation to guess such a formula ;o) Olaf
Received on Sunday, 22 April 2012 15:06:50 UTC