POV-Ray : Newsgroups : povray.advanced-users : Making Patterns with functions : Re: Making Patterns with functions Server Time
31 Aug 2024 22:16:19 EDT (-0400)
  Re: Making Patterns with functions  
From: jr
Date: 25 Aug 2024 12:20:00
Message: <web.66cb586ad81b8479f5bfc9b06cde94f1@news.povray.org>
hi,

"Bald Eagle" <cre### [at] netscapenet> wrote:
> ...
> Wheee!   Nice job.  :)

start on.  :-)


> Can you adjust the symmetry?  Have 6-fold, or 7?
> After playing with this stuff a bit, it seems like that whole sin*cos xy yz zx
> thing has a lot of potential as a base pattern to do all sorts of interesting
> things with.  Even just the threshold can change the apparent look quite a bit.

yes, I just discovered that replacing "tau" with "pi * scale_factor" and using
slightly different factors, things get real .. interesting.

re your question, I answer with an Obama quote: "Yes, we can" :-)  below is
excerpted from my WIP code:

/* added bailout & max_trace */
global_settings {adc_bailout (1/254) assumed_gamma 1 max_trace_level 255}

/* #mirrors */
#declare n_ = 3;

#declare angle_ = 360 / n_;

/* epsilon */
#declare eps_ = 1e-3;

/* length of tube */
#declare len_ = 10;

/* prism with hole */
#declare pi_ = <.99,0,0>;
#declare po_ = <1.01,0,0>;

#declare pts_ = array [n_][2];

#for (i_, 0, n_-1)
  #local ta_ = vrotate(po_, <0,(angle_*i_),0>);
  #local tb_ = vrotate(pi_, <0,(angle_*i_),0>);
  #local pts_[i_][0] = <ta_.x,ta_.z>;
  #local pts_[i_][1] = <tb_.x,tb_.z>;
#end

/* rotate to centre on -z */
prism {
  linear_spline eps_, len_, 2*(1+n_),
  #for (i_,n_-1,0,-1) pts_[i_][0], #end pts_[n_-1][0],
  #for (i_,0,n_-1) pts_[i_][1], #end pts_[0][1]
  open
  sturm on
  no_shadow
  finish {ambient 0 reflection {1} specular 0}
  rotate <270,0,0>
}


regards, jr.


Post a reply to this message

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