POV-Ray : Newsgroups : povray.newusers : Follow the inner contour in a merge Server Time
1 Nov 2024 11:17:03 EDT (-0400)
  Follow the inner contour in a merge (Message 1 to 5 of 5)  
From: Oleguer Vilella
Subject: Follow the inner contour in a merge
Date: 10 Aug 2005 04:29:18
Message: <42f9bade$1@news.povray.org>
Hi all,

First I'm going to put a small part of code:
======================================
merge{
sphere { <0, 0, 0>, 1
translate -0.5*x
scale <1.2, 0, 0>
}
sphere { <0, 0, 0>, 0.5
translate 0.7*x
scale <1.4, 0, 0>
}
======================================
After that I've the transformations, the colors and I've clipped_by with a 
plane { z, 0} and it's empty using hollow.

Now I want to put a thread following the inside part of the two spheres. The 
only way is creating a spline and using it like a function?

Thanks in advance,
Oleguer


Post a reply to this message

From: Warp
Subject: Re: Follow the inner contour in a merge
Date: 10 Aug 2005 05:57:18
Message: <42f9cf7e@news.povray.org>
Oleguer Vilella <ole### [at] infonegociocom> wrote:
> it's empty using hollow.

  No, you have a misconception here.

  'hollow' is related exclusively to media and fog. It has absolutely no
effect whatsoever in anything else than those two things.

  In other words, if you are not using media nor fog, 'hollow' is a no-op.

-- 

                                                          - Warp


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Follow the inner contour in a merge
Date: 10 Aug 2005 07:09:39
Message: <42f9e073$1@news.povray.org>
All right Warp. Thanks for your aclaration.

Regards,
Oleguer



news:42f9cf7e@news.povray.org...
> Oleguer Vilella <ole### [at] infonegociocom> wrote:
>> it's empty using hollow.
>
>  No, you have a misconception here.
>
>  'hollow' is related exclusively to media and fog. It has absolutely no
> effect whatsoever in anything else than those two things.
>
>  In other words, if you are not using media nor fog, 'hollow' is a no-op.
>
> -- 

>                                                          - Warp


Post a reply to this message

From: Mike Williams
Subject: Re: Follow the inner contour in a merge
Date: 10 Aug 2005 09:49:43
Message: <HXHSqAAbGg+CFwDH@econym.demon.co.uk>
Wasn't it Oleguer Vilella who wrote:
>Hi all,
>
>First I'm going to put a small part of code:
>======================================
>merge{
>sphere { <0, 0, 0>, 1
>translate -0.5*x
>scale <1.2, 0, 0>
>}
>sphere { <0, 0, 0>, 0.5
>translate 0.7*x
>scale <1.4, 0, 0>
>}
>======================================
>After that I've the transformations, the colors and I've clipped_by with a 
>plane { z, 0} and it's empty using hollow.
>
>Now I want to put a thread following the inside part of the two spheres. The 
>only way is creating a spline and using it like a function?

Have you considered using torus sections?

If you create a torus so that R1+R2 is equal to the radius of the
sphere, apply any required rotations, translate and scale exactly like
the spherical part that it's following, then difference the other sphere
and plane. Like this



global_settings {assumed_gamma 1.0}
camera {location  <5,0,4> look_at <0.3,0,0> angle 25}
background {rgb 1}
light_source {<-30, -30, 30> color rgb 1}
light_source {<0, 0, 30> color rgb 1}

// Main shape
merge{
  sphere { <0, 0, 0>, 1
   translate -0.5*x
   scale <1.2, 1, 1>
  }
  sphere { <0, 0, 0>, 0.5
   translate 0.7*x
   scale <1.4, 1, 1>
  }
 clipped_by {plane { z, 0}}
 pigment {rgb x}
} 
  
// Threads in the large part  
#declare N=0;
#declare S=seed(123);  
difference {
  union {
    #while (N<20)  
      torus {0.98,0.02
        rotate <rand(S),rand(S),rand(S)>*360
      }
      #declare N=N+1;
    #end
    translate -0.5*x
    scale <1.2, 1, 1>
  }  
  sphere { <0, 0, 0>, 0.5
   translate 0.7*x
   scale <1.4, 1, 1>
  }
  plane {z,0 inverse}      
  pigment {rgb 1}
}

// Threads in the small part  
#declare N=0;
difference {
  union {
    #while (N<10)  
      torus {0.48,0.02
        rotate <rand(S),rand(S),rand(S)>*360
      }
      #declare N=N+1;
    #end
    translate 0.7*x
    scale <1.4, 1, 1>
  }  
  sphere { <0, 0, 0>, 1
   translate -0.5*x
   scale <1.2, 1, 1>
  }
  plane {z,0 inverse}      
  pigment {rgb 1}
}


-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Follow the inner contour in a merge
Date: 11 Aug 2005 03:48:27
Message: <42fb02cb$1@news.povray.org>
Hi Mike,

No, I haven't thought it.

I did it using your suggestion, but I don't need the seed and the rand 
rotation because I just want a line folliwing the inner contour of the 
object.

So a torus with the radios equal to the radius sphere and applying the 
transformations, rotations and scale properly to fit it right.

Thanks for your answer.

Best regards,
Oleguer




news:HXHSqAAbGg+CFw### [at] econymdemoncouk...
> Wasn't it Oleguer Vilella who wrote:
>>Hi all,
>>
>>First I'm going to put a small part of code:
>>======================================
>>merge{
>>sphere { <0, 0, 0>, 1
>>translate -0.5*x
>>scale <1.2, 0, 0>
>>}
>>sphere { <0, 0, 0>, 0.5
>>translate 0.7*x
>>scale <1.4, 0, 0>
>>}
>>======================================
>>After that I've the transformations, the colors and I've clipped_by with a
>>plane { z, 0} and it's empty using hollow.
>>
>>Now I want to put a thread following the inside part of the two spheres. 
>>The
>>only way is creating a spline and using it like a function?
>
> Have you considered using torus sections?
>
> If you create a torus so that R1+R2 is equal to the radius of the
> sphere, apply any required rotations, translate and scale exactly like
> the spherical part that it's following, then difference the other sphere
> and plane. Like this
>
>
>
> global_settings {assumed_gamma 1.0}
> camera {location  <5,0,4> look_at <0.3,0,0> angle 25}
> background {rgb 1}
> light_source {<-30, -30, 30> color rgb 1}
> light_source {<0, 0, 30> color rgb 1}
>
> // Main shape
> merge{
>  sphere { <0, 0, 0>, 1
>   translate -0.5*x
>   scale <1.2, 1, 1>
>  }
>  sphere { <0, 0, 0>, 0.5
>   translate 0.7*x
>   scale <1.4, 1, 1>
>  }
> clipped_by {plane { z, 0}}
> pigment {rgb x}
> }
>
> // Threads in the large part
> #declare N=0;
> #declare S=seed(123);
> difference {
>  union {
>    #while (N<20)
>      torus {0.98,0.02
>        rotate <rand(S),rand(S),rand(S)>*360
>      }
>      #declare N=N+1;
>    #end
>    translate -0.5*x
>    scale <1.2, 1, 1>
>  }
>  sphere { <0, 0, 0>, 0.5
>   translate 0.7*x
>   scale <1.4, 1, 1>
>  }
>  plane {z,0 inverse}
>  pigment {rgb 1}
> }
>
> // Threads in the small part
> #declare N=0;
> difference {
>  union {
>    #while (N<10)
>      torus {0.48,0.02
>        rotate <rand(S),rand(S),rand(S)>*360
>      }
>      #declare N=N+1;
>    #end
>    translate 0.7*x
>    scale <1.4, 1, 1>
>  }
>  sphere { <0, 0, 0>, 1
>   translate -0.5*x
>   scale <1.2, 1, 1>
>  }
>  plane {z,0 inverse}
>  pigment {rgb 1}
> }
>
>
> -- 
> Mike Williams
> Gentleman of Leisure


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.