POV-Ray : Newsgroups : povray.newusers : Make it shorter. : Re: Make it shorter. Server Time
30 Jul 2024 08:27:49 EDT (-0400)
  Re: Make it shorter.  
From: Tor Olav Kristensen
Date: 11 Aug 2004 15:22:58
Message: <411a7212@news.povray.org>
Oleguer Vilella wrote:

> Hello,
> 
> I have to make shorter this membrane I don't know how can I do it. I also
> make an angle like a bridge I trayed with sine and cosine but, logically,
> it's doesn't work like I need. The code is:
...
> Please if someone can help me, replay in the group.
> I wait your ideas.

Oleguer, I don't understand what you are trying to achieve.

Maybe that is because I am not able to understand your
spanish(?) comments and because I know little about lipids
and membranes.

(Babelfish at http://www.infonegocio.com/oleguervm could
not help me much either ):

Please try to explain more. Do you have links to any images
that shows similar shapes to those that you are trying to
make ?


In order to make it easier for others in these news groups
to help, you should try to make your code more structured
and readable. I have done this with your code -> See below.


Remember that the sin() and cos() functions in POV-Ray
expects their arguments to be in radians, not degrees.


Tor Olav


// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#version 3.6;

#include "colors.inc"
#include "textures.inc"

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#macro Make_Stuff(Stuff, How_Many)

   #local Ample = -12;
   #while (Ample < How_Many)
     object {
       Stuff
       rotate <0, 0*Ample, 0>
       translate <3*Ample, 0*cos(Ample/8), 0>
     }
     #local Ample = Ample + 1;
   #end // while

#end // macro Make_Stuff


#macro Make_Many(Stuff, How_Many)

   #local Fons = 0;
   #while (Fons < How_Many)
     object {
       Stuff
       translate <0, 0*sin(Fons/8), 3*Fons>
     }
     #local Fons = Fons + 1;
   #end // while

#end // macro Make_Many

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare Finish =
   finish {
     ambient 0.2
     diffuse 0.8
     phong 1
   }

#declare RedTexture =
   texture {
     pigment { color Red }
     finish { Finish }
   }

#declare WhiteTexture =
   texture {
     pigment { color White }
     finish { Finish }
   }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare Blob =
   blob {
     threshold 0.1
     sphere {
       <0, 0, 0>, 2, 1
       texture { RedTexture }
       scale 0.8
     }
     cylinder {
       <0.8, 0, 0>, <0.8, -5, 0>, 0.5, 1
       texture { WhiteTexture }
       scale 0.8
     }
     cylinder {
       <-0.8, 0, 0>, <-0.8, -5, 0>, 0.5, 1
       texture { WhiteTexture }
       scale 0.8
     }
   }


#declare Lipid =
   union {
     object {
       Blob
//      rotate <0, 0, 0>
//      translate <0, 14, 1>
     }
     object {
       Blob
       rotate <190, 0, 0>
       translate <0, -8, -1>
     }
     translate <90, 0, 0>
     scale 0 // Does not make sense. Read the warnings POV-Ray outputs.
     scale <0, -0.78, 0>
   }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare Layer = union { Make_Stuff(Lipid, 100) }

union { Make_Many(Layer, 50) }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

background { color White }

camera {
   location <170, -11, -110>
   look_at <180, -15, -16>
}

light_source {
   <170, -30, -100>
   color White
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7


Post a reply to this message

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