|
 |
Never mind that last one.
I flattened the spheres and then rotated them so that they were perpendicular to
the camera.
Try this and see if this gets you anywhere better.
#macro Reorient_Trans(Axis1, Axis2)
#local vX1 = vnormalize(Axis1);
#local vX2 = vnormalize(Axis2);
#local Y = vcross(vX1, vX2);
#if(vlength(Y) > 0)
#local vY = vnormalize(Y);
#local vZ1 = vnormalize(vcross(vX1, vY));
#local vZ2 = vnormalize(vcross(vX2, vY));
transform {
matrix < vX1.x, vY.x,vZ1.x, vX1.y,vY.y,vZ1.y, vX1.z,vY.z, vZ1.z, 0,0,0
>
matrix < vX2.x,vX2.y,vX2.z, vY.x,vY.y, vY.z, vZ2.x,vZ2.y,vZ2.z, 0,0,0
>
}
#else
#if (vlength(vX1-vX2)=0)
transform {}
#else
#local vZ = VPerp_To_Vector(vX2);
transform { Axis_Rotate_Trans(vZ,180) }
#end
#end
#end
#macro DoPoint(theposition,thecolour)
#local theradius = 0.2;
sphere{<0,0,0>, 0.2 //, 0.05
//disc{<0,0,0>, VP-theposition, 1
texture {
pigment {
onion
colour_map {
[0.00, rgb thecolour transmit 0]
[0.20, rgb thecolour transmit 0.95]
[1.00, rgb thecolour transmit 1]
}
}
finish { emission 1 diffuse 0 specular 0 }
}
scale <0.01, 1, 1>
Reorient_Trans(x, vnormalize(VP-theposition))
scale theradius
translate theposition
}
#end
Post a reply to this message
Attachments:
Download 'scene.png' (678 KB)
Preview of image 'scene.png'

|
 |