POV-Ray : Newsgroups : povray.pov4.discussion.general : Suggest v4.0 sor{} fixes / changes. (yuqk R20 v0.6.14.0) : Re: Suggest v4.0 sor{} fixes / changes. (yuqk R20 v0.6.14.0) Server Time
3 Oct 2025 01:44:03 EDT (-0400)
  Re: Suggest v4.0 sor{} fixes / changes. (yuqk R20 v0.6.14.0)  
From: Bald Eagle
Date: 22 Sep 2025 15:30:00
Message: <web.68d1a2aa736a03269fb38a9f25979125@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:

> thanks.  I'd better wait for the next yuqk release, I don't think I'm ready for
> an answer to "three less ?" </grin>

https://wiki.povray.org/content/Reference:Surface_of_Revolution
"If there are n points we will have n-3 segments."


> I like the "can fill with" definition, feels "intuitive".

I hate it.   Because it is so very, very misleading.
Primarily because we can use SOLID objects as containers for media but still use
them in CSG.

So you're using language to describe something that can simultaneously have two
fundamentally different attributes.

There needs to be a checklist.
There also likely needs to be a reclassification of primitives.

Just going off the top of my head:
We have surfaces - and some may have an inside/outside whereas others may simply
have a normal vector/direction.
We have some objects that _can_ be closed (parametric) but might not be.  It
would great if the closed shape could be solid, but I'm not sure if there's a
way to always reliably determine if the parametric equations form a closed
shape.
As Jerome Grimbert quite properly pointed out when I was working on calculating
surface normals - the Mobius strip really throws a wrench into the works.

Then we have things that in my opinion ought to be fully solid, but for various
code limitations and unimplemented algorithms/features - aren't fully solid.
They're mostly solid.   This might be the case with sor {}
The point being, that we ought to have an explicit means of documenting in what
cases the object acts as a solid, and in what cases it doesn't (and why).
Because there's no reason the sor {} shouldn't be fully solid - since I can't at
the moment envision a case where the un-open sor would have to be hollow.

I think that the lathe - with the ability to intersect itself - might be tricky,
and should properly use the same crossing-number as the polygon to determine if
that section is inside or outside.

> > With respect to Bill W's suggestion that the sor acronym assignment
> > /alignment be changed to "solid of revolution", it just hits me as
> > wrong.
>
> sorry, still "no good".  I'd hoped for something along the lines "reading the
> code at ...", that is for some "evidence-based" words.

If it looks solid, and acts solid, then I would imagine that we could agree that
it was solid.  If we need to specify "open" to make it (non-keyword) hollow,
then what was it before we changed it to hollow?

> and agree that sweeping (whole) objects sounds like a cool/fun thing; does the
> required "infrastructure" exist already (in part, at least) ?

In a sense, yes.   The lathe sweeps a spline, or, if you consider the closed
spline a polygon - a 2D shape, then we already have that.   Anything that
projects outside of the 2D plane of the spline's control polygon is redundant
(it gets embedded inside the swept volume) and doesn't appear (assuming it's
smaller than the projected cross section).

If we're talking about "actually" revolving the whole solid object around an
axis and getting the swept volume as an object - I suppose one could project the
3D object onto a plane and get the maximal cross-sectional representation to
sweep (or just scale the object very small in one dimension), and it would have
flat start and end "caps".
If you wanted the 3D shape to define the ends of the swept volume, you could
instantiate the object at the start and end points to make the object bulge out
the ends.

Presumably we could write a simple macro to take that scaled object and
instantiate it around a circle using a loop in a union {}, and connect 2
instances of the 3D object.   Just like many people do with a union of spheres
and cylinders to make a substitute sphere-sweep.

There's likely a clever (and slightly painful) way to do it with an isosurface
and the object pattern.

Lots of interesting things to think about and experiment with.

- bw


Post a reply to this message

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