|
 |
"jr" <cre### [at] gmail com> wrote:
> if it helps, the early sources up to v3.62 are available via FTP:
> <ftp.povray.org/pub/povray/Old-Versions>
It did.
In version 3.1d, 1998, in file NORMAL.C, created 6/3/1998 at 7:05 pm,
static CONST
VECTOR Pyramid_Vect [4]= {{ 0.942809041,-0.333333333, 0.0},
{-0.471404521,-0.333333333, 0.816496581},
{-0.471404521,-0.333333333,-0.816496581},
{ 0.0 , 1.0 , 0.0}};
first appears, with no author cited except for "The POV Team".
No citation, no author, no comments, just magic numbers.
It is then implemented in the function
void Perturb_Normal(VECTOR Layer_Normal, TNORMAL *Tnormal, VECTOR EPoint)
with the following comment:
/* Note, even though DELTA and Pyramid_Vect are constants, we may later
make DELTA a user-defined parameter. Good optimising compilers
should merge the constants anyway. */
I was able to dig back in the literature to an article by Gallagher et al from
1962 concerning Finite Element Analysis (FEM) which is the earliest that I was
able to find documenting this method of calculating a gradient with sample
points arranged in a tetrahedron.
The method used in our source has a vector pointing in the cardinal y-direction,
which could possibly introduce bias that might not be present when using all
off-axis vectors.
- BE
Post a reply to this message
|
 |