|
|
> On 10/03/2010 04:42 AM, Brad wrote:
>> #declare shell = difference{
>> sphere{<0,0,0> 6}
>> sphere{<0,0,0> 5}}
>
> try assigning a pigment to the above and that might better visualize
> whats going on here ...
>
>> // and this is putting the spherical shell with holes in it with the filled
>> //holes
>>
>> union{
>> object{shell_with_cylindercutouts texture {pigment{color rgb<0,0,0>}}}
>> object{cutouts}}
>
> then comment out the union stuff and look at the "cutouts" only ... I
> didn't try it but I think having the "bunch_of_cyclinders" extend beyond
> the outer skin of the "shell" is the problem.
There is nothing wrong with the warning, and it don't point to the real
problem.
The extent of an object relative to another don't have any effect exept
preventing coincident surfaces artefacts.
Whenever you use a difference or intersections, the various surfaces
take the texture of the object that define THAT surface. The end of the
cutouts thake their colouration from the sphere and their sides from the
cylinders.
Here's the real problem:
You have the shell with the holes. The sides of the holes ARE coloured.
You have the cutouts. The sides of those are also coloured.
Then, you union both, reconstructing the original sphere.
The coloured parts are there but hiden inside the thickhess of the shell.
You need to make your pierced shell, then place coloured and transparent
pieces into the holes.
You can make some sets of cutouts and give each the desided colouration.
One red set, one green set and one blue set in your case.
A side note: Why not let POV-Ray compute the end points of your
cylinders? Just use a cylinder like this one:
cylinder{0, 10*x, 0.5}
Then, you rotate it to where you want it. This gives you a cleaner code.
Also, when you have very small values like 5.66549845232e-15, you can
replace them with 0 (zero), the difference is absolutely negligeable. In
fact, usualy, any value smaller than 1e-6 can be changed to zero.
Alain
Post a reply to this message
|
|