POV-Ray : Newsgroups : povray.general : Feature Request: Easy Iso Server Time
1 Nov 2024 10:18:26 EDT (-0400)
  Feature Request: Easy Iso (Message 1 to 10 of 14)  
Goto Latest 10 Messages Next 4 Messages >>>
From: Rune
Subject: Feature Request: Easy Iso
Date: 8 Aug 2000 16:46:05
Message: <3990718d@news.povray.org>
I think one powerful feature of isosurfaces are the ability to add actual
bumps etc. to an object instead of faking it with normals.

However, you need to know the function of the object. While this can be easy
with very simple objects, it can be very complicated with more complicated
objects.

I think it would be really handy if POV-Ray could automatically convert
regular objects into isosurface functions. Like this:

function {
   cone { x, 0.3, <1,2,0>, 0.2 translate z }
}

If it worked with CSG objects too, it would be *really* handy!

Another and completely different idea would be to add an "iso_normal"
feature to regular objects. Like this:

cone {
   x, 0.3, <1,2,0>, 0.2
   iso_normal { bumps 0.2 scale 0.3 turbulence 0.2 }
   translate z
}

Using an iso_normal would then convert the object to an iso_surface with a
function according to the mother object, and then it would also add the
iso_normal function to the object function.

These ideas are in no way complete, and I don't know if they are realistic
at all, but I still post them in the hope that they might be, or that they
maybe can inspire someone to make something else, that I hadn't thought of
myself. It doesn't hurt anyway...

Greetings,

Rune
--
\ Include files, tutorials, 3D images, raytracing jokes,
/ The POV Desktop Theme, and The POV-Ray Logo Contest can
\ all be found at http://rsj.mobilixnet.dk (updated July 23)
/ Also visit http://www.povrayusers.org


Post a reply to this message

From: Warp
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 05:26:13
Message: <399123b5@news.povray.org>
Rune <run### [at] inamecom> wrote:
: I think one powerful feature of isosurfaces are the ability to add actual
: bumps etc. to an object instead of faking it with normals.

  I wouldn't say that isosurfaces ADD bumps to ANY object. You can't add
bumps to a sphere using an isosurface. What you can do is make an isosurface
with the shape of a sphere and then modify the surface.

: However, you need to know the function of the object. While this can be easy
: with very simple objects, it can be very complicated with more complicated
: objects.

  There are named functions already (like "sphere", "torus" and so on). Of
course the list could be bigger.

: I think it would be really handy if POV-Ray could automatically convert
: regular objects into isosurface functions. Like this:

: function {
:    cone { x, 0.3, <1,2,0>, 0.2 translate z }
: }

  Yes, it could be handy, but how easy?
  How do you convert a julia_fractal to an isosurface? What about 'text'?
Bicubic patches? Meshes? Polygons?
  What about infinite surfaces like planes and polys? An isosurface can't be
infinite since it has to be contained by a finite object.

: If it worked with CSG objects too, it would be *really* handy!

  Most CSG is easy. However, I don't know how easy is to make a (true) union
of shapes with isosurfaces (the union has the peculiar feature that it has
inner surfaces which are not removed like in merge).

: Another and completely different idea would be to add an "iso_normal"
: feature to regular objects. Like this:

: cone {
:    x, 0.3, <1,2,0>, 0.2
:    iso_normal { bumps 0.2 scale 0.3 turbulence 0.2 }
:    translate z
: }

: Using an iso_normal would then convert the object to an iso_surface with a
: function according to the mother object, and then it would also add the
: iso_normal function to the object function.

  This can be hard for many objects, as described above. And there's also one
problem: How to calculate the contained_by object? Some objects do not have
even bounding boxes (not even finite ones, like polys, quartics or quadrics
with proper parameters).

  You ideas are very good, though.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Rune
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 06:31:49
Message: <39913315@news.povray.org>
"Warp" wrote:
> Rune wrote:
> : I think one powerful feature of isosurfaces are the ability
> : to add actual bumps etc. to an object instead of faking it
> : with normals.
>
>   I wouldn't say that isosurfaces ADD bumps to ANY object.
> You can't add bumps to a sphere using an isosurface. What you
> can do is make an isosurface with the shape of a sphere and
> then modify the surface.

I know that what you're saying is correct, but I already knew that; I just
formulated myself a little bit incorrect. Other people would probably know
what I meant.

I've noticed before that you take what other people say very very literally.
Since not everybody like to spend a lot of time constructing 100% correct
sentences, maybe it would be better with a little more "tolerance" when
interpreting sentences? :-)

>   There are named functions already (like "sphere", "torus"
> and so on). Of course the list could be bigger.

The sphere one is inconsistent with regular spheres because you can't set
the center point.
But more important, a lot of objects like cones, cylinders, boxes, are as
far as I know not build in. It would be nice to have as many as possible of
those supported, and if the syntax could be similar to the syntax of regular
shapes, then that would be preferred.

>   How do you convert a julia_fractal to an isosurface? What
> about 'text'? Bicubic patches? Meshes? Polygons?

It would still be nice if just some of the object types could be supported.

>   What about infinite surfaces like planes and polys? An
> isosurface can't be infinite since it has to be contained by
> a finite object.

But the function itself can. Then the user can decide for himself which
container object to use.

>   Most CSG is easy. However, I don't know how easy is to
> make a (true) union of shapes with isosurfaces (the union
> has the peculiar feature that it has inner surfaces which
> are not removed like in merge).

It would still be nice if just some of the CSG operations were supported.
And it wouldn't bother me personally if union worked like merge. In regular
CSG I think the only advantage union has over merge, is that it is faster
(for objects that are not transparent).

Greetings,

Rune
--
\ Include files, tutorials, 3D images, raytracing jokes,
/ The POV Desktop Theme, and The POV-Ray Logo Contest can
\ all be found at http://rsj.mobilixnet.dk (updated July 23)
/ Also visit http://www.povrayusers.org


Post a reply to this message

From: Warp
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 09:54:41
Message: <399162a1@news.povray.org>
Rune <run### [at] inamecom> wrote:
: I've noticed before that you take what other people say very very literally.

  I'm sorry. I'm too perfectionist.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Nick Portelli
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 19:27:43
Message: <3991EAB3.767C640E@pilot.msu.edu>
Ha thats funny since it does not sound quite perfect to me. 

Warp wrote:
> 
> Rune <run### [at] inamecom> wrote:
> : I've noticed before that you take what other people say very very literally.
> 
>   I'm sorry. I'm too perfectionist.
> 
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Chris Huff
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 21:21:27
Message: <chrishuff-E88127.20223009082000@news.povray.org>
In article <399162a1@news.povray.org>, Warp <war### [at] tagpovrayorg> 
wrote:

>   I'm sorry. I'm too perfectionist.

That is usually "too much of a perfectionist", or "too perfectionistic".

Sorry, couldn't resist. :-)

-- 
Christopher James Huff - Personal e-mail: chr### [at] maccom
TAG(Technical Assistance Group) e-mail: chr### [at] tagpovrayorg
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/


Post a reply to this message

From: Pabs
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 22:07:03
Message: <39920E80.B2D662D0@hotmail.com>
Warp wrote:
<snip>

>   How do you convert a julia_fractal to an isosurface? What about 'text'?

"object" pattern ? - probably would only work for solid objects

> Bicubic patches? Meshes? Polygons?
>   What about infinite surfaces like planes and polys? An isosurface can't be
> infinite since it has to be contained by a finite object.

These may not work

>   You ideas are very good, though.

I agree

--
Bye
Pabs


Post a reply to this message

From: Chris Huff
Subject: Re: Feature Request: Easy Iso
Date: 9 Aug 2000 22:51:12
Message: <chrishuff-F2A71D.21521609082000@news.povray.org>
In article <39920E80.B2D662D0@hotmail.com>, Pabs <pab### [at] hotmailcom> 
wrote:

> "object" pattern ? - probably would only work for solid objects'

The object pattern will only work for objects that are solid, and it 
isn't very friendly with the isosurface solving method. It is a "block 
pattern", and has only one of two states...basically meaning it has an 
infinite max_gradient. The isosurface algorithm can't easily cope with 
this.


> > Bicubic patches? Meshes? Polygons?
> >   What about infinite surfaces like planes and polys? An isosurface 
> >   can't be
> > infinite since it has to be contained by a finite object.
> 
> These may not work

Bicubic patches might be approximated with a function of some sort, 
though you might have to clip the resulting surface yourself. Polygons 
wouldn't be possible, but prisms would be. Plane, quadratic, poly, 
quartic, etc would work fine, they would just be clipped to the 
contained_by object. Meshes...I don't think there is an easy way to 
support meshes. Maybe if you used a sort of proximity pattern(optimized 
for meshes, of course)...


> >   You ideas are very good, though.
> 
> I agree

As do I...many of the object *could* have built in functions.
As for the existing built in functions, I really hope their syntax is 
changed if they are included. It is really non-standard, non-POV, and 
inconsistent.(Parameters in a vector?!? Function names in a string? 
Results affected by the size of the bounding box? Etc...)

-- 
Christopher James Huff - Personal e-mail: chr### [at] maccom
TAG(Technical Assistance Group) e-mail: chr### [at] tagpovrayorg
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/


Post a reply to this message

From: Ron Parker
Subject: Re: Feature Request: Easy Iso
Date: 10 Aug 2000 12:35:05
Message: <slrn8p5n4f.ht.ron.parker@fwi.com>
On Wed, 09 Aug 2000 21:52:16 -0500, Chris Huff wrote:
>
>As do I...many of the object *could* have built in functions.
>As for the existing built in functions, I really hope their syntax is 
>changed if they are included. It is really non-standard, non-POV, and 
>inconsistent.(Parameters in a vector?!? Function names in a string? 
>Results affected by the size of the bounding box? Etc..

I'm pretty sure they'll either be changed or removed.

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: Pabs
Subject: Re: Feature Request: Easy Iso
Date: 10 Aug 2000 21:47:40
Message: <39935B79.F23DA32@hotmail.com>
Ron Parker wrote:

>  removed.

???????????? Why
IMVHO I don't think they should be removed esp the superellipsoid type
one.
--
Bye
Pabs


Post a reply to this message

Goto Latest 10 Messages Next 4 Messages >>>

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