[Radiance-general] Modeling... a bowl?

Greg Ward gregoryjward at gmail.com
Wed Jun 4 08:38:21 PDT 2008


Hi John,

Is there some reason to prefer gensurf to genrev in this instance?   
Genrev should produce a smaller (simpler) model, and allows for  
smoothing as well.  The following makes a pretty convincing hemisphere:

	genrev mat hemi 'cos(PI/2*t)' 'sin(PI/2*t)' 20 -s

using 20 primitives rather than 400.    Since the first function z(t)  
is decreasing with increasing t, the surface normal points inwards as  
requested.

It's also possible to use an antimatter volume to hide the bottom  
half of the sphere, and this is recommended if a perfect hemisphere  
is required.  However, there are drawbacks to this method, such as  
being unable to render from inside the excluded volume.  Here's an  
example of how this could be done:

sphere_mat bubble my_sphere
0
0
4 0 0 0 1

void antimatter anti_sphere_mat
2 void sphere_mat
0
0

!genbox anti_sphere_mat anti_vol 2 2 1 | xform -t -1 -1 -1

Best,
-Greg

> From: John Mardaljevic <jm at dmu.ac.uk>
> Date: June 4, 2008 6:35:57 AM PDT
>
> Nick,
>
> Use gensurf rather than genrev.  This command generates the bottom  
> half of a unit sphere centred on the origin (e.g. a hemispherical  
> 'bowl'):
>
> !gensurf mat hemi 'sin(PI*s)*cos(PI*t)' 'cos(PI*s)' '-sin(PI*s)*sin 
> (PI*t)' 20 20 -s
>
> Remove the -ve sign in the z expression to get the top half.  The - 
> s argument applies smoothing to the surface normal.
>
> -John

-----------------
> From: "Nick Calcagni" <nac342 at drexel.edu>
> Date: June 3, 2008 10:47:56 PM PDT
>
> This may be simple... because it seems like it should be, but I'm  
> quite hung up on how to do this. How would I go about modeling an  
> upside-down bowl? (Or an upper hemisphere, or a rounded lampshade,  
> whatever helps you picture it best). It seems like "genrev" would  
> be the way to do this, but I don't quite understand what z(t) and r 
> (t) do. If the input for a 2 foot wide hemisphere (surface normals  
> inward) isn't too complicated, perhaps someone could paste it here  
> and I could backwards-determine what the functions represent.
>
> Here's another question: can we simply make a "bubble" and cut it  
> in half? (discarding half of it, of course)
>
> Thanks!
> Nick Calcagni



More information about the Radiance-general mailing list