Simulating Perforated Metal

Hi everyone!

I'm trying to simulate perforated metal and would
like to know if anyone knows of any examples where
this has been done. (or if this has been discussed
in a previous digest)

I suppose one way to do it would be to have a metal
plane and array a series of antimatter spheres which
would subtract holes in the metal. Seems like this
would work, but is perhaps not the most efficient way
to do this.

Thanks in advance for any help.

Mark de la Fuente

dela wrote:

Hi everyone!

I'm trying to simulate perforated metal and would
like to know if anyone knows of any examples where
this has been done. (or if this has been discussed
in a previous digest)

Hi Mark,

good question:
I may take this nicely timed opportunity to announce that there's a
search engine running at http://www.radiance-online.org now.
Conveniently, it includes radsite.lbl.gov, so a check for "perforated"
gives a 1997 entry with some hints on using trans for this.

I suppose one way to do it would be to have a metal
plane and array a series of antimatter spheres which
would subtract holes in the metal. Seems like this
would work, but is perhaps not the most efficient way
to do this.

Could be done that way, but uses a lot of space and is prone to aliasing
effects. Only recommended if your viewpoint is the same order of
magnitude as the hole pattern. Further away, use trans to model the
average transmittance. If both is needed on one surface, you may want to
use mixfunc to blend between the two by view distance.

-Peter

···

--
pab-opto, Freiburg, Germany, www.pab-opto.de

dela wrote:

Hi everyone!

I'm trying to simulate perforated metal and would
like to know if anyone knows of any examples where
this has been done. (or if this has been discussed
in a previous digest)

Use this:

···

----------------------------------------------------------
{
  perforate.cal
    Perforation function for approximately horizontal sufaces,
  for use in a mixfunc. Foreground is solid, background the holes.
  Set background to empty for a true perforation, or to a different
  material for polka dots.

  Relative hole size is determined by A1.
    Size of single circle is 1 - scale as required (eg. 0.05m).

  x_hole cuts holes in x-direction (through the y-z plane)
  y_hole cuts holes in y-direction (through the x-z plane)
  z_hole cuts holes in z-direction (through the x-y plane)

    Georg Mischler 30. 04. 1993
}

`xn = mod(Px, 1) - 0.5;
`yn = mod(Py, 1) - 0.5;
`zn = mod(Pz, 1) - 0.5;

`outofcirc(x, y, r) = if(sqrt(x*x + y*y) - r, 1, 0);

z_hole = `outofcirc(`xn, `yn, A1);
x_hole = `outofcirc(`yn, `zn, A1);
y_hole = `outofcirc(`zn, `xn, A1);

{ end of perforate.cal }
----------------------------------------------------------

Then define a mixfunc as follows (for horizontal sheets):

  void mixfunc z_perforation
  6 some_material void z_hole perforate.cal -s 0.05
  0
  1 0.4

where "some_material" is whatever you want your metal to
look like.

Have fun!

-schorsch

--
Georg Mischler -- simulations developer -- schorsch at schorsch.com
+schorsch.com+ -- lighting design tools -- http://www.schorsch.com/