POV-Ray : Newsgroups : povray.newusers : DNA creation help? : Re: DNA creation help? Server Time
30 Jul 2024 08:26:51 EDT (-0400)
  Re: DNA creation help?  
From: Bob Hughes
Date: 20 Feb 2006 23:58:38
Message: <43fa9dfe$1@news.povray.org>
"Paul P." <nomail@nomail> wrote in message 
news:web.43fa7c9689e84e742c710c840@news.povray.org...
> "Shurakai" <nomail@nomail> wrote:
>> "Akuma" <afr### [at] hotmailcom> wrote:
>> > I've been trying to create a strand of DNA using an isosurface. 
>> > However, I
>> > keep having trouble creating the double helix using the function 
>> > f_helix1
>> > found in functions.inc
>
> I had been thinking about creating a DNA backbone with POVray
8<---snip---8<
> There is one MAJOR problem. This makes a left-handed helix. DNA should be
> right-handed. Does anyone know how to change this?

The period (second number after x,y,z) can be negative to turn it the other 
direction. Could also use just one f_helix1 by specifying 2 as the first 
number to double the strand. And... if 2 is used for the 3rd to last number 
(said to be the type) then that will make it square for a ribbon-like 
appearance when using a 45 degree rotation as the last parameter, should 
look much like many illustrations show it.

Bob H

I just put the following example together, starting with yours, to look like 
the one I found at
http://marsprogram.jpl.nasa.gov/express/newsroom/pressreleases/20030501a_image02.html
A little more internet searching doesn't help me fix this up any better so 
I'll leave that all up to you.

Beware, this wasn't based on anything real and the rods (or whatever they 
are called officially!) are only a hack to fit the ribbons.

#declare DH = union {
isosurface {
function {  f_helix1 ( x, y/2, z, 2, -1, 0.25, 2, 2, 2, 45) }
        max_gradient 2
        contained_by {sphere {1, 20} }
        pigment {rgb <1,1,1>}
           }
#local I=-0.9;
#while (I<=1)
union {
cylinder {-x*2,-x/5,0.25 pigment {rgb <1,1,0>}}
cylinder {x/5,x*2,0.25 pigment {rgb <0,1,0>}}
rotate 90*y rotate -I*1.6*360*y
translate I*20*y
}
#local I=I+0.05;
#end
}

object {
DH
}


Post a reply to this message

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