POV-Ray : Newsgroups : povray.beta-test : SUGGESTION: Hollow 0.05 : Re: SUGGESTION: Hollow 0.05 Server Time 5 Dec 2021 21:09:27 EST (-0500)
 Re: SUGGESTION: Hollow 0.05
 From: Bald Eagle Date: 1 Dec 2017 08:00:01 Message:
```
{
"@context": "https://schema.org",
"@type": "DiscussionForumPosting",
"@id": "#web.5a2151de627182d0c437ac910%40news.povray.org",
"dateCreated": "2017-12-01T13:00:01+00:00",
"datePublished": "2017-12-01T13:00:01+00:00",
"author": {
"@type": "Person",
"name": "Bald Eagle"
}
}
This is something that really highlights the do-it-yourself (DIY) nature of
making scenes with POV-Ray - especially the hand-coded SDL type.

When confronted with a scenario such as Sven's, the instinctual, naive approach
is to simply subtract a slightly scaled down version of the larger object.
The problem is that it's usually a complex shape - so --- exactly where is the
"center"?
The second problem is that the offset-curve has to be offset in all directions -
which reveals the true complexity of performing such an operation, and why a
simple scaling is a naive approach, doomed to certain failure.
Translate it one way, and "this" overlaps.  Translate it another way, and "that"
overlaps.   It's a no-win situation.

What would be required with some CSG objects composed of primitives would be to
define a second set of primitives that are scaled relative to their own
"centers", and then subtract a union of these from the union of the original
primitives.
This of course does not guarantee success - as there is still the "convex"
problem.
Picture an intersecting sphere and cylinder, rather like a "Q" (It intersects on
the typeface of my keyboard).
You could get a hollow cylinder following the above plan, but as soon as you
subtracted the scaled-down sphere, you'd truncate the portion of the cylinder
inside the sphere.
```