POV-Ray : Newsgroups : povray.binaries.scene-files : fast rounded box : fast rounded box Server Time
2 Sep 2024 02:16:46 EDT (-0400)
  fast rounded box  
From: JWV
Date: 18 May 2003 10:12:35
Message: <3ec794d3@news.povray.org>
macro to create fast rounded boxes. (1/3 of superelipsoid render time).

#macro RoundedBox(X, Y, Z, R)
/*
---------------JWV 2003---------------
|                                    |
|       X = size in x direction      |
|       Y = size in y direction      |
|       Z = size in z direction      |
|       R = radius of edges          |
|                                    |
--------------------------------------
*/

#union{
sphere{<-X/2+R, -Y/2+R, -Z/2+R>, R}
sphere{<X/2-R, -Y/2+R, -Z/2+R>, R}
sphere{<X/2-R, -Y/2+R, Z/2-R>, R}
sphere{<-X/2+R, -Y/2+R, Z/2-R>, R}

sphere{<-X/2+R, Y/2-R, -Z/2+R>, R}
sphere{<X/2-R, Y/2-R, -Z/2+R>, R}
sphere{<X/2-R, Y/2-R, Z/2-R>, R}
sphere{<-X/2+R, Y/2-R, Z/2-R>, R}

cylinder{<-X/2+R, -Y/2+R, -Z/2+R>, <X/2-R, -Y/2+R, -Z/2+R>,R}
cylinder{<-X/2+R, Y/2-R, -Z/2+R>, <X/2-R, Y/2-R, -Z/2+R>,R}
cylinder{<-X/2+R, -Y/2+R, Z/2-R>, <X/2-R, -Y/2+R, Z/2-R>,R}
cylinder{<-X/2+R, Y/2-R, Z/2-R>, <X/2-R, Y/2-R, Z/2-R>,R}

cylinder{<X/2-R, -Y/2+R, Z/2-R>, <X/2-R, -Y/2+R, -Z/2+R>,R}
cylinder{<-X/2+R, -Y/2+R, Z/2-R>, <-X/2+R, -Y/2+R, -Z/2+R>,R}
cylinder{<X/2-R, Y/2-R, Z/2-R>, <X/2-R, Y/2-R, -Z/2+R>,R}
cylinder{<-X/2+R, Y/2-R, Z/2-R>, <-X/2+R, Y/2-R, -Z/2+R>,R}

cylinder{<X/2-R, -Y/2+R, -Z/2+R>, <X/2-R, Y/2-R, -Z/2+R>,R}
cylinder{<-X/2+R, -Y/2+R, -Z/2+R>, <-X/2+R, Y/2-R, -Z/2+R>,R}
cylinder{<X/2-R, -Y/2+R, Z/2-R>, <X/2-R, Y/2-R, Z/2-R>,R}
cylinder{<-X/2+R, -Y/2+R, Z/2-R>, <-X/2+R, Y/2-R, Z/2-R>,R}

box{<-X/2, -Y/2+R, -Z/2+R>, <X/2, Y/2-R, Z/2-R>}
box{<-X/2+R, Y/2, -Z/2+R>, <X/2-R, -Y/2, Z/2-R>}
box{<-X/2+R, -Y/2+R, Z/2>, <X/2-R, Y/2-R, -Z/2>}

}
#end


JWV


Post a reply to this message

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