W3C home > Mailing lists > Public > www-svg@w3.org > July 2009

feDistantLight

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Fri, 31 Jul 2009 16:17:03 +0200
To: www-svg@w3.org
Message-Id: <200907311617.03855.Dr.O.Hoffmann@gmx.de>
Hello,

for light source 'feDistantLight'
http://www.w3.org/TR/SVG11/filters.html#feDistantLight
is specified:

'
azimuth = "<number>"
Direction angle for the light source on the XY plane, in degrees.
If the attribute is not specified, then the effect is as if a value of 0 were 
specified.
Animatable: yes.
elevation = "<number>"
Direction angle for the light source on the YZ plane, in degrees.
If the attribute is not specified, then the effect is as if a value of 0 were 
specified.
Animatable: yes.
'


Respectively in the 1.2 draft:
http://www.w3.org/TR/2007/WD-SVGFilter12-20070501/#feDistantLightElement

'
7.2 Light source 'feDistantLight'

Attribute definitions:
azimuth = "<number>"
Direction angle for the light source on the XY plane (clockwise), in degrees.

If the attribute is not specified, then the effect is as if a value of 0 were 
specified.

Animatable:yes.
elevation = "<number>"
Direction angle for the light source on the YZ plane, in degrees.

If the attribute is not specified, then the effect is as if a value of 0 were 
specified.

Animatable:yes.
'



I think, this specifies two directions, not just one
(typically implementations behave differently, more in the
usual/intuitive way having only one direction), 
therefore this needs some explanations:


Is it correct, that the azimuth = "0" is the direction of the x axis?
(I think yes, if elevation is 0)
Is it correct, that the elevation = "0" is the direction of the y axis?
(I think in general no and not in the z axis too, it is in y axis only if
azimuth is 90)
Is it correct, that the z direction points towards the person viewing the 
content as noted in (Filter 1.2) 7.3?
Does a positive elevation correspond to a light source in the
hemisphere with positive z or elevation = 90 means the 
light source is on the z-axis?

-> if azimuth is an angle in the XY plane and elevation an angle in the
YZ plane, how do they create a direction for the light source?
What is the direction in usual spherical coordinates (formula?
I think the azimuth is or can be the same as in spherical coordinates,
but the elevation seems to be not related to the polar angle).

-> note, that the formulas given in (Filter 1.2) 13 for an infinite light 
source fit to the geographic notation of spherical coordinates, in this
case is elevation = 90 - polar angle/degree 
But then normaly the elevation angle is not the
direction angle for the light source on the YZ plane.
The polar angle is the angle between the z-axis and the
the direction to the light source. The elevation angle is given
with the formula above or a little bit more complicated
description including projections.

-> using the same formulas, azimuth is not the
'Direction angle for the light source on the XY plane (clockwise), in 
degrees.'

Lets assume L is a unit vector (from the current point) to the light source 
and
P is (Lx, Ly, 0) the vector of the projection of L on the XY plane,
then azimuth is the angle between the x direction and P.
If Ly is zero and Lx is negative, the angle is 180 degrees, else
if Ly is not negative, the angle is not negative too,  else the angle is 
negative (optionally 360 degrees can be added to get a positive angle
again).

-> maybe useful to resort some sections for better understanding
and to refer for the definition of azimuth and elevation to some better
understandable formulas and to fix the wording.



Best wishes

Olaf
Received on Friday, 31 July 2009 14:21:39 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:42 GMT