114 lines
1.7 KiB
POVRay
114 lines
1.7 KiB
POVRay
#macro rounded_box(C1, C2, R)
|
|
merge {
|
|
box {
|
|
C1 + <R, R, 0>
|
|
C2 - <R, R, 0>
|
|
}
|
|
box {
|
|
C1 + <R, 0, R>
|
|
C2 - <R, 0, R>
|
|
}
|
|
box {
|
|
C1 + <0, R, R>
|
|
C2 - <0, R, R>
|
|
}
|
|
|
|
cylinder {
|
|
<C1.x + R, C1.y + R, C1.z + R>
|
|
<C1.x + R, C1.y + R, C2.z - R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C1.x + R, C2.y - R, C1.z + R>
|
|
<C1.x + R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C2.x - R, C1.y + R, C1.z + R>
|
|
<C2.x - R, C1.y + R, C2.z - R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C2.x - R, C2.y - R, C1.z + R>
|
|
<C2.x - R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
|
|
cylinder {
|
|
<C1.x + R, C1.y + R, C1.z + R>
|
|
<C1.x + R, C2.y - R, C1.z + R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C1.x + R, C1.y + R, C2.z - R>
|
|
<C1.x + R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C2.x - R, C1.y + R, C1.z + R>
|
|
<C2.x - R, C2.y - R, C1.z + R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C2.x - R, C1.y + R, C2.z - R>
|
|
<C2.x - R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
|
|
cylinder {
|
|
<C1.x + R, C1.y + R, C1.z + R>
|
|
<C2.x - R, C1.y + R, C1.z + R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C1.x + R, C1.y + R, C2.z - R>
|
|
<C2.x - R, C1.y + R, C2.z - R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C1.x + R, C2.y - R, C1.z + R>
|
|
<C2.x - R, C2.y - R, C1.z + R>
|
|
R
|
|
}
|
|
cylinder {
|
|
<C1.x + R, C2.y - R, C2.z - R>
|
|
<C2.x - R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
|
|
sphere {
|
|
<C1.x + R, C1.y + R, C1.z + R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C1.x + R, C1.y + R, C2.z - R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C1.x + R, C2.y - R, C1.z + R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C1.x + R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C2.x - R, C1.y + R, C1.z + R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C2.x - R, C1.y + R, C2.z - R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C2.x - R, C2.y - R, C1.z + R>
|
|
R
|
|
}
|
|
sphere {
|
|
<C2.x - R, C2.y - R, C2.z - R>
|
|
R
|
|
}
|
|
}
|
|
#end
|
|
|