| 1 |
{ RCSid $Id$ }
|
| 2 |
{
|
| 3 |
Unit cylinder functions (centered on Z-axis)
|
| 4 |
for testing
|
| 5 |
}
|
| 6 |
posAngle(a):if(a,a,a+2*PI);
|
| 7 |
|
| 8 |
Cx = posAngle(atan2(Py,Px));
|
| 9 |
Cy = Pz;
|
| 10 |
Rx(n) = n/(2*PI) * Cx;
|
| 11 |
Ry(n) = n/(2*PI) * Cy;
|
| 12 |
Sx(n) = .5*(Rx(n) - Ry(n));
|
| 13 |
Sy(n) = .5*(Rx(n) + Ry(n));
|
| 14 |
|
| 15 |
{ Checkerboard pattern }
|
| 16 |
Check(n) = xor(frac(Rx(n))-.5, frac(Ry(n))-.5);
|
| 17 |
|
| 18 |
{ Pyramid texture }
|
| 19 |
Pyramid_dxy(n) = if(frac(Rx(2*n))-.5, .2, -.2);
|
| 20 |
Pyramid_dx(n) = -Py*Pyramid_dxy(n);
|
| 21 |
Pyramid_dy(n) = Px*Pyramid_dxy(n);
|
| 22 |
Pyramid_dz(n) = if(frac(Ry(2*n))-.5, .2, -.2);
|