POV-Ray : Newsgroups : povray.newusers : Helixes Server Time
11 Oct 2026 08:40:43 EDT (-0400)
  Helixes (Message 1 to 13 of 13)  
From: Oleguer Vilella
Subject: Helixes
Date: 6 Feb 2005 11:53:14
Message: <42064b7a@news.povray.org>
Hi all,

I will post an object on povray.binaries.images
I'm traying to make this object using POV-Ray. I was traying doing it like 
an helix with some different functions, the problem is that I don't know how 
can I do the extensions.
A code to do this kind of helix can be this:
======================================
 #declare R1=0.1; //Menor radio de la hélice.
#declare R2=0.3; //Mayor radio de la hélice.
#declare R3=2.;  //Mayor radio del toro.
#declare Strands=2; //Doble hélice.

#declare Turns=8.5*Strands; //Número de vueltas de la hélice. Turns*Strand 
devería crear discontinuidad.

#declare DNA=function { f_helix1 (x-R3, y, z, Strands, Turns, R1, R2, 1, 1, 
0) }

isosurface {
function { DNA (f_r(x, z, y), f_th (x, z, y), z) }
max_gradient 1.3
contained_by { sphere { 0, 3 } }
scale 1.5
translate x*5
rotate x*25
pigment { rgb 1 }
}
======================================
Am I wrong?

I was also thinking about splines, but I think that easiest way to do it is 
using a function.

Thanks in advance,
Oleguer


Post a reply to this message

From: St 
Subject: Re: Helixes
Date: 6 Feb 2005 13:49:54
Message: <420666d2@news.povray.org>
"Oleguer Vilella" <ole### [at] infonegociocom> wrote in message 
news:42064b7a@news.povray.org...

  Well, the way I see it, is if you don't want a gap in the coil, (as in 
your image), then you could *fake* it with stacked/angled torii, and then 
use sphere_sweeps for the ends? (I have no experience of sphere_sweeps 
though...)

   Looks interesting. Celtic?

     ~Steve~


> Oleguer
>


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Helixes
Date: 6 Feb 2005 15:14:43
Message: <42067ab3@news.povray.org>
Well, I want to make an object like the object that I've posted.
A torii to make this kind of helix? A torii is a torus?
A sphere_sweep is like a spline. I've still never trayed.

What do you with Celtic?

Thanks,
Oleguer



"St." <dot### [at] dotcom> escribió en el mensaje news:420666d2@news.povray.org...
>
> "Oleguer Vilella" <ole### [at] infonegociocom> wrote in message 
> news:42064b7a@news.povray.org...
>
>  Well, the way I see it, is if you don't want a gap in the coil, (as in 
> your image), then you could *fake* it with stacked/angled torii, and then 
> use sphere_sweeps for the ends? (I have no experience of sphere_sweeps 
> though...)
>
>   Looks interesting. Celtic?
>
>     ~Steve~
>
>
>> Oleguer
>>
>


Post a reply to this message

From: Stephen McAvoy
Subject: Re: Helixes
Date: 6 Feb 2005 15:46:51
Message: <rh0d0113nhkkei9t0jdlc35qhk0rqrssko@4ax.com>
On Sun, 6 Feb 2005 20:12:53 +0100, "Oleguer Vilella"
<ole### [at] infonegociocom> wrote:

>What do you with Celtic?
A race of people that live in North West Spain, South West France,
Ireland, Scotland and Wales.

Regards
        Stephen


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Helixes
Date: 6 Feb 2005 15:50:15
Message: <42068307@news.povray.org>
Ah, all right. Understood now.

That's a kind of protein.

Regards,
Oleguer



"Stephen McAvoy" <mca### [at] aolcom> escribió en el mensaje 
news:rh0d0113nhkkei9t0jdlc35qhk0rqrssko@4ax.com...
> On Sun, 6 Feb 2005 20:12:53 +0100, "Oleguer Vilella"
> <ole### [at] infonegociocom> wrote:
>
>>What do you with Celtic?
> A race of people that live in North West Spain, South West France,
> Ireland, Scotland and Wales.
>
> Regards
>        Stephen


Post a reply to this message

From: Marc Jacquier
Subject: Re: Helixes
Date: 6 Feb 2005 15:59:22
Message: <4206852a@news.povray.org>
"Stephen McAvoy" <mca### [at] aolcom> a écrit dans le message de
news:rh0d0113nhkkei9t0jdlc35qhk0rqrssko@4ax.com...
> On Sun, 6 Feb 2005 20:12:53 +0100, "Oleguer Vilella"
> <ole### [at] infonegociocom> wrote:
>
> >What do you with Celtic?
> A race of people that live in North West Spain, South West France,

North West of France my friend :)  south west is Basque

> Ireland, Scotland and Wales.
>
> Regards
>         Stephen

BTW it is a population, an ethnic group, it was an antic civilization if you
want but there is only one human race: human :)

Marc


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Helixes
Date: 6 Feb 2005 16:47:48
Message: <42069084@news.povray.org>
BTW is an ethnic group? Well I've known new things about population. All is 
interesting.

Any ideas about my question?

Thanks,
Oleguer



"Marc Jacquier" <jac### [at] wanadoofr> escribió en el mensaje 
news:4206852a@news.povray.org...
>
> "Stephen McAvoy" <mca### [at] aolcom> a écrit dans le message de
> news:rh0d0113nhkkei9t0jdlc35qhk0rqrssko@4ax.com...
>> On Sun, 6 Feb 2005 20:12:53 +0100, "Oleguer Vilella"
>> <ole### [at] infonegociocom> wrote:
>>
>> >What do you with Celtic?
>> A race of people that live in North West Spain, South West France,
>
> North West of France my friend :)  south west is Basque
>
>> Ireland, Scotland and Wales.
>>
>> Regards
>>         Stephen
>
> BTW it is a population, an ethnic group, it was an antic civilization if 
> you
> want but there is only one human race: human :)
>
> Marc
>
>


Post a reply to this message

From: Stephen McAvoy
Subject: Re: Helixes
Date: 7 Feb 2005 00:28:26
Message: <6tud015nskiuf47vqfor414scd09sh6cpi@4ax.com>
On Sun, 6 Feb 2005 22:00:04 +0100, "Marc Jacquier"
<jac### [at] wanadoofr> wrote:

>North West of France my friend :)  south west is Basque

Opps! I put all my kelts in one Basque-et :-)


Regards
        Stephen


Post a reply to this message

From: Stephen McAvoy
Subject: Re: Helixes
Date: 7 Feb 2005 00:54:50
Message: <9l0e019j6td8vnhg9t65223v7aknvk5tpn@4ax.com>
On Sun, 6 Feb 2005 21:46:02 +0100, "Oleguer Vilella"
<ole### [at] infonegociocom> wrote:

>Any ideas about my question?

Here is a macro given to me by Frank Sputnik some time ago. It is set
up for Moray so I have included the camera and lights. (Moray uses an
alternative coordinate system)
To increase the gap make SpringHeight > 2;

camera {  //  Camera Camera01
  location  <    -11.670,      -2.337,       3.715>
  sky       <    0.00000,     0.00000,     1.00000> // Use right
handed-system 
  up        <        0.0,         0.0,         1.0> // Where Z is up
  right     <    1.35783,         0.0,         0.0> // Right Vector is
adjusted to compensate for spherical (Moray) vs. planar (POV-Ray)
aspect ratio
  angle         39.60000    // Vertical      29.700
  look_at   <     -0.009,      -2.008,      -0.258>
}


light_source {   // Light001
  <0.0, 0.0, 0.0>
  color rgb <1.000, 1.000, 1.000>
  photons {
  }
  translate  <-14.750343, -4.685895, 19.073553>
}

// Spring
#declare SpringHeight = 2;
#declare SpringMajorRadius = 1;
#declare SpringMinorRadius = .1;
#declare SpringRevolutions = 10;
#declare SpringSegments = 1000;

union
{
  #declare Ind = 0;
  #while(Ind <= SpringSegments)
    #declare Pos2 =
      vrotate(<SpringMajorRadius, SpringHeight*Ind/SpringSegments, 0>,
              y*360*SpringRevolutions*Ind/SpringSegments);
    #if(Ind > 0)
      cylinder { Pos1, Pos2, SpringMinorRadius }
      sphere { Pos2, SpringMinorRadius }
    #end
    #declare Pos1 = Pos2;
    #declare Ind = Ind+1;
  #end

  pigment { rgb 1 } finish { specular .5 }
  translate -y*4
}



Regards
        Stephen


Post a reply to this message

From: Marc Jacquier
Subject: Re: Helixes
Date: 7 Feb 2005 02:59:11
Message: <42071fcf$1@news.povray.org>
"Oleguer Vilella" <ole### [at] infonegociocom> a écrit dans le message de
news:42069084@news.povray.org...
> BTW is an ethnic group? Well I've known new things about population. All
is
> interesting.
>
> Any ideas about my question?
>
Sorry for that off topic drift  and I had no answer to your question.

Marc


Post a reply to this message

From: Mike Williams
Subject: Re: Helixes
Date: 7 Feb 2005 05:26:44
Message: <raOiKCA+H0BCFweI@econym.demon.co.uk>
Wasn't it Oleguer Vilella who wrote:
>Hi all,
>
>I will post an object on povray.binaries.images
>I'm traying to make this object using POV-Ray. I was traying doing it like 
>an helix with some different functions, the problem is that I don't know how 
>can I do the extensions.

I usually suggest isosurfaces for just about everything, but in this
case a sphere_sweep is probably easier. Here's some code to get you
started.

The UNIT is one helical strand with an extension. The path follows a
helix shape until N=P2, then starts to do other things. Four copies of
the UNIT are used to create a double strand helix with extensions at
each end.

I start the sphere_sweep at N-1, to make it much easier to join the four
UNITs correctly. Since the sphere_sweep starts at the second point, it's
tricky to get them to match in the middle if the second point is N=1;

Try different values of A, B, C, D, E and F.

You could also turn the UNIT into a macro, and produce four units with
different parameter settings, so that you get differently shaped
extensions.

#version 3.6;
global_settings {assumed_gamma 1.0}
camera {location  <0,0,-10> look_at <0,0,0> angle 35}
background {rgb 1}
light_source {<-30, 100, -30> color rgb 1}

// ----------------------------------------

#declare Points=30; // total number of control points
#declare P2=22;     // control point where extension starts

#declare R1=0.1;  // minor radius
#declare R2=0.3;  // major radius
#declare A=25.0;  // controls turniness
#declare B=1.5;   // controls height
#declare C=0.4;   // controls sideways spread of the extensions
#declare D=2.0;   // controls the stretch of the extensions
#declare E=0.2;   // controls waviness of extensions
#declare F=1.5;   // controls frequency of wave extensions

#declare UNIT=
sphere_sweep {
  cubic_spline
  Points,
  #declare N=-1;
  #while (N<Points-1)
    #if (N<P2)
      #declare X=R2*sin(A*N/Points);
      #declare Y=B*N/Points;
      #declare Z=R2*cos(A*N/Points);
    #else
      #declare X=R2*(1+(N-P2)*C)*sin(A*N/Points);
      #declare Y=B*N/Points + sin(F*A*(N-P2)/Points)*E 
               + B*D*(N-P2)/Points;
      #declare Z=R2*(1+(N-P2)*C)*cos(A*N/Points);
    #end
    <X,Y,Z>,R1
    #declare N=N+1;
  #end
  pigment {rgb 1}
  no_shadow
}  

object {UNIT}
object {UNIT rotate y*180}
object {UNIT rotate z*180}
object {UNIT rotate z*180 rotate y*180}


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Helixes
Date: 7 Feb 2005 10:57:53
Message: <42079001@news.povray.org>
No problem. All comments are wellcome.



"Marc Jacquier" <jac### [at] wanadoofr> escribió en el mensaje 
news:42071fcf$1@news.povray.org...
>
> "Oleguer Vilella" <ole### [at] infonegociocom> a écrit dans le message de
> news:42069084@news.povray.org...
>> BTW is an ethnic group? Well I've known new things about population. All
> is
>> interesting.
>>
>> Any ideas about my question?
>>
> Sorry for that off topic drift  and I had no answer to your question.
>
> Marc
>
>


Post a reply to this message

From: Oleguer Vilella
Subject: Re: Helixes
Date: 7 Feb 2005 10:59:12
Message: <42079050@news.povray.org>
Thanks Stephen and Mike and the other people.

Now I'm going to study your codes and I will tray them.
I will post questions later.

Thanks a lot,
Oleguer



"Mike Williams" <nos### [at] econymdemoncouk> escribió en el mensaje 
news:raOiKCA+H0B### [at] econymdemoncouk...
> Wasn't it Oleguer Vilella who wrote:
>>Hi all,
>>
>>I will post an object on povray.binaries.images
>>I'm traying to make this object using POV-Ray. I was traying doing it like
>>an helix with some different functions, the problem is that I don't know 
>>how
>>can I do the extensions.
>
> I usually suggest isosurfaces for just about everything, but in this
> case a sphere_sweep is probably easier. Here's some code to get you
> started.
>
> The UNIT is one helical strand with an extension. The path follows a
> helix shape until N=P2, then starts to do other things. Four copies of
> the UNIT are used to create a double strand helix with extensions at
> each end.
>
> I start the sphere_sweep at N-1, to make it much easier to join the four
> UNITs correctly. Since the sphere_sweep starts at the second point, it's
> tricky to get them to match in the middle if the second point is N=1;
>
> Try different values of A, B, C, D, E and F.
>
> You could also turn the UNIT into a macro, and produce four units with
> different parameter settings, so that you get differently shaped
> extensions.
>
> #version 3.6;
> global_settings {assumed_gamma 1.0}
> camera {location  <0,0,-10> look_at <0,0,0> angle 35}
> background {rgb 1}
> light_source {<-30, 100, -30> color rgb 1}
>
> // ----------------------------------------
>
> #declare Points=30; // total number of control points
> #declare P2=22;     // control point where extension starts
>
> #declare R1=0.1;  // minor radius
> #declare R2=0.3;  // major radius
> #declare A=25.0;  // controls turniness
> #declare B=1.5;   // controls height
> #declare C=0.4;   // controls sideways spread of the extensions
> #declare D=2.0;   // controls the stretch of the extensions
> #declare E=0.2;   // controls waviness of extensions
> #declare F=1.5;   // controls frequency of wave extensions
>
> #declare UNIT=
> sphere_sweep {
>  cubic_spline
>  Points,
>  #declare N=-1;
>  #while (N<Points-1)
>    #if (N<P2)
>      #declare X=R2*sin(A*N/Points);
>      #declare Y=B*N/Points;
>      #declare Z=R2*cos(A*N/Points);
>    #else
>      #declare X=R2*(1+(N-P2)*C)*sin(A*N/Points);
>      #declare Y=B*N/Points + sin(F*A*(N-P2)/Points)*E
>               + B*D*(N-P2)/Points;
>      #declare Z=R2*(1+(N-P2)*C)*cos(A*N/Points);
>    #end
>    <X,Y,Z>,R1
>    #declare N=N+1;
>  #end
>  pigment {rgb 1}
>  no_shadow
> }
>
> object {UNIT}
> object {UNIT rotate y*180}
> object {UNIT rotate z*180}
> object {UNIT rotate z*180 rotate y*180}
>
>


Post a reply to this message

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