POV-Ray : Newsgroups : povray.general : a function Server Time
19 Nov 2024 03:35:54 EST (-0500)
  a function (Message 1 to 10 of 16)  
Goto Latest 10 Messages Next 6 Messages >>>
From: ingo
Subject: a function
Date: 25 May 2002 18:08:09
Message: <Xns921A1E5B5AEEseed7@povray.org>
Just a nice function to play with, vary the floats A-L.

---%<------%<---
#version 3.5;
global_settings {assumed_gamma 1.0}
camera {location <0,0,-25> look_at 0}

#declare A =1;
#declare B =1;
#declare C =1;
#declare D =1;
#declare E =1;
#declare F =1;

#declare I =1;
#declare J =1;
#declare K =1;
#declare L =1;

plane {
  -z, 0
  pigment { 
    function {E*sin(A*sin(I*x) + B*cos(J*y))
              + F*cos(C*cos(K*x) + D*sin(L*y))}
    //sine_wave
  }
  finish {ambient 1}
}
---%<------%<---

Found the function here:
http://glinda.lrsm.upenn.edu/~weeks/ideas/tplot.html

There is more interesting stuff on the site, for example:
http://glinda.lrsm.upenn.edu/~weeks/lcca1.html
Would it be possible to make a POV-Ray pattern like that?

And this as an inspiration for Ron:
http://glinda.lrsm.upenn.edu/~weeks/software/quasic.html

Ingo


Post a reply to this message

From: Dennis Miller
Subject: Re: a function
Date: 25 May 2002 19:25:30
Message: <3cf01d6a$1@news.povray.org>
That's very handy. How would you add some color to that?
D.

"ingo" <ing### [at] homenl> wrote in message
news:Xns### [at] povrayorg...
> Just a nice function to play with, vary the floats A-L.
>
> ---%<------%<---
> #version 3.5;
> global_settings {assumed_gamma 1.0}
> camera {location <0,0,-25> look_at 0}
>
> #declare A =1;
> #declare B =1;
> #declare C =1;
> #declare D =1;
> #declare E =1;
> #declare F =1;
>
> #declare I =1;
> #declare J =1;
> #declare K =1;
> #declare L =1;
>
> plane {
>   -z, 0
>   pigment {
>     function {E*sin(A*sin(I*x) + B*cos(J*y))
>               + F*cos(C*cos(K*x) + D*sin(L*y))}
>     //sine_wave
>   }
>   finish {ambient 1}
> }
> ---%<------%<---
>
> Found the function here:
> http://glinda.lrsm.upenn.edu/~weeks/ideas/tplot.html
>
> There is more interesting stuff on the site, for example:
> http://glinda.lrsm.upenn.edu/~weeks/lcca1.html
> Would it be possible to make a POV-Ray pattern like that?
>
> And this as an inspiration for Ron:
> http://glinda.lrsm.upenn.edu/~weeks/software/quasic.html
>
> Ingo


Post a reply to this message

From: ingo
Subject: Re: a function
Date: 26 May 2002 03:47:46
Message: <Xns921A642B04E46seed7@povray.org>
in news:3cf01d6a$1@news.povray.org Dennis Miller wrote:

> That's very handy. How would you add some color to that?
> D.

>>   pigment {
>>     function {E*sin(A*sin(I*x) + B*cos(J*y))
>>               + F*cos(C*cos(K*x) + D*sin(L*y))}

       color_map {
         [0, rgb <1,0,1>]
         [0.5, rgb <0,1,0>]
         [1, rgb <0,0,1>]
       }

>>     //sine_wave
>>   }

Ingo


Post a reply to this message

From: Dennis Miller
Subject: Re: a function
Date: 26 May 2002 12:04:54
Message: <3cf107a6$1@news.povray.org>
Thanks very nice (that was easy!). Now for a harder question - is there any
way to change a 2D function such as this into a 3D function? I got some very
nice images by animating the function (changing float values over time), but
I would really like to add a third dimension to the scene; would you have
any suggestions on that?
Thanks again for your help. I'll post a few of my favorites to pbi shortly..
D.

"ingo" <ing### [at] homenl> wrote in message
news:Xns### [at] povrayorg...
> in news:3cf01d6a$1@news.povray.org Dennis Miller wrote:
>
> > That's very handy. How would you add some color to that?
> > D.
>
> >>   pigment {
> >>     function {E*sin(A*sin(I*x) + B*cos(J*y))
> >>               + F*cos(C*cos(K*x) + D*sin(L*y))}
>
>        color_map {
>          [0, rgb <1,0,1>]
>          [0.5, rgb <0,1,0>]
>          [1, rgb <0,0,1>]
>        }
>
> >>     //sine_wave
> >>   }
>
> Ingo


Post a reply to this message

From: Slime
Subject: Re: a function
Date: 26 May 2002 15:39:17
Message: <3cf139e5$1@news.povray.org>
> Thanks very nice (that was easy!). Now for a harder question - is there
any
> way to change a 2D function such as this into a 3D function?

This will probably do something like that:

function {
   J*sin(A*sin(M*x) + B*cos(N*y) - C*sin(O*z))
+ K*cos(D*cos(P*x) + E*sin(Q*y) - F*cos(R*z))
- L*sin(-G*sin(S*x) - H*cos(T*y) + I*sin(U*z))
}

But I sorta made it up as I went along. Variables are from A to U. This
really might not create as interesting patterns as the 2D one does, because
it's not as symmetrical of a function.

 - Slime
[ http://www.slimeland.com/ ]


Post a reply to this message

From: Dennis Miller
Subject: Re: a function
Date: 26 May 2002 16:04:40
Message: <3cf13fd8$1@news.povray.org>
Thanks. I tried that and it looks interesting, but I am trying to "extrude"
the pattern on the surface of the plane into the -z axis. In other words, I
would like the pattern to rise out of the plane into z space (i.e., into the
viewer's face) during an animation (make sense?) Which of the parameters
would expect to do that, or does this make no sense?
d.


"Slime" <slm### [at] slimelandcom> wrote in message
news:3cf139e5$1@news.povray.org...
> > Thanks very nice (that was easy!). Now for a harder question - is there
> any
> > way to change a 2D function such as this into a 3D function?
>
> This will probably do something like that:
>
> function {
>    J*sin(A*sin(M*x) + B*cos(N*y) - C*sin(O*z))
> + K*cos(D*cos(P*x) + E*sin(Q*y) - F*cos(R*z))
> - L*sin(-G*sin(S*x) - H*cos(T*y) + I*sin(U*z))
> }
>
> But I sorta made it up as I went along. Variables are from A to U. This
> really might not create as interesting patterns as the 2D one does,
because
> it's not as symmetrical of a function.
>
>  - Slime
> [ http://www.slimeland.com/ ]
>
>


Post a reply to this message

From:
Subject: Re: a function
Date: 26 May 2002 17:12:44
Message: <3cf14fcc@news.povray.org>
"Dennis Miller" <dhm### [at] attbicom> wrote in message
news:3cf13fd8$1@news.povray.org...
> Thanks. I tried that and it looks interesting, but I am trying to
"extrude"
> the pattern on the surface of the plane into the -z axis. In other words,
I
> would like the pattern to rise out of the plane into z space (i.e., into
the
> viewer's face) during an animation (make sense?) Which of the parameters
> would expect to do that, or does this make no sense?

What about a heightfield?


Post a reply to this message

From: Dennis Miller
Subject: Re: a function
Date: 26 May 2002 17:47:52
Message: <3cf15808$1@news.povray.org>
Please see pbi for the code and the current version of the image. I would
love to know if you have any suggestions.
Thanks,
D.


message news:3cf14fcc@news.povray.org...
> "Dennis Miller" <dhm### [at] attbicom> wrote in message
> news:3cf13fd8$1@news.povray.org...
> > Thanks. I tried that and it looks interesting, but I am trying to
> "extrude"
> > the pattern on the surface of the plane into the -z axis. In other
words,
> I
> > would like the pattern to rise out of the plane into z space (i.e., into
> the
> > viewer's face) during an animation (make sense?) Which of the parameters
> > would expect to do that, or does this make no sense?
>
> What about a heightfield?
>
>


Post a reply to this message

From: Michael Andrews
Subject: Re: a function
Date: 27 May 2002 09:05:52
Message: <3CF23169.FF4E9361@reading.ac.uk>
Hi Ingo,

ingo wrote:
> 
> There is more interesting stuff on the site, for example:
> http://glinda.lrsm.upenn.edu/~weeks/lcca1.html
> Would it be possible to make a POV-Ray pattern like that?
> 
> Ingo

Well, this one is easy :-)

// -- start --
#include "functions.inc"

global_settings { assumed_gamma 1.0 max_trace_level 5 }

background { color rgb 0.6*<4/7,5.5/7,1>^4 }

#declare camPos = <0.2, 7.5, -17.5>*15;
#declare camLookAt = <0,0,0>;
#declare camAngle = 30;

camera {
	up <0, 1, 0>
	right x*image_width/image_height
	location  camPos
	look_at   camLookAt
	angle     camAngle
}

#declare fn_Rad = function { pigment { radial colour_map{[0 rgb 0][1 rgb
1]}} }
#declare fn_Cusp = function {
fn_Rad(f_snoise3d(x/4,0,z/4),0,f_snoise3d(x/4,100,z/4)).x }

plane {
  y, 0
  pigment { function { fn_Cusp(x,y,z) }
    colour_map {[0 rgb x][1/3 rgb y][2/3 rgb z][1 rgb x]}
  }
  finish { ambient 1 diffuse 0 }
  rotate -90*x
  scale 5
}
// -- end --

Bye for now,
	Mike Andrews.


Post a reply to this message

From: Dennis Miller
Subject: Re: a function
Date: 27 May 2002 10:05:41
Message: <3cf23d35@news.povray.org>
That's really sharp. I am trying to turn that into a function for an
isosurface but am having some trouble. Might you assist?
Dennis


"Michael Andrews" <m.c### [at] readingacuk> wrote in message
news:3CF23169.FF4E9361@reading.ac.uk...
> Hi Ingo,
>
> ingo wrote:
> >
> > There is more interesting stuff on the site, for example:
> > http://glinda.lrsm.upenn.edu/~weeks/lcca1.html
> > Would it be possible to make a POV-Ray pattern like that?
> >
> > Ingo
>
> Well, this one is easy :-)
>
> // -- start --
> #include "functions.inc"
>
> global_settings { assumed_gamma 1.0 max_trace_level 5 }
>
> background { color rgb 0.6*<4/7,5.5/7,1>^4 }
>
> #declare camPos = <0.2, 7.5, -17.5>*15;
> #declare camLookAt = <0,0,0>;
> #declare camAngle = 30;
>
> camera {
> up <0, 1, 0>
> right x*image_width/image_height
> location  camPos
> look_at   camLookAt
> angle     camAngle
> }
>
> #declare fn_Rad = function { pigment { radial colour_map{[0 rgb 0][1 rgb
> 1]}} }
> #declare fn_Cusp = function {
> fn_Rad(f_snoise3d(x/4,0,z/4),0,f_snoise3d(x/4,100,z/4)).x }
>
> plane {
>   y, 0
>   pigment { function { fn_Cusp(x,y,z) }
>     colour_map {[0 rgb x][1/3 rgb y][2/3 rgb z][1 rgb x]}
>   }
>   finish { ambient 1 diffuse 0 }
>   rotate -90*x
>   scale 5
> }
> // -- end --
>
> Bye for now,
> Mike Andrews.


Post a reply to this message

Goto Latest 10 Messages Next 6 Messages >>>

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