POV-Ray : Newsgroups : povray.general : ANNOUNCE: IsoWood Include 0.1 Server Time
9 Aug 2024 01:22:26 EDT (-0400)
  ANNOUNCE: IsoWood Include 0.1 (Message 1 to 10 of 13)  
Goto Latest 10 Messages Next 3 Messages >>>
From: Christoph Hormann
Subject: ANNOUNCE: IsoWood Include 0.1
Date: 21 Aug 2000 11:25:27
Message: <39A14A0F.A7A76A37@schunter.etc.tu-bs.de>
I just finished the first version of an include file for generating wood as
isosurfaces.  

Right now it only generates wooden planks and cylinders.  I also thought about
profile planks, but i did not yet have any success.  Anyone who managed using
object pattern for isosurfaces ? It's quite difficult and not very flexible
doing them with mere mathematics...

The files and description is available here:

http://www.schunter.etc.tu-bs.de/~chris/iso_wood.html

A sample picture is in p.b.i.

Have fun, comments and suggestions for improvements are welcome.

Christoph

--
Christoph Hormann <chr### [at] gmxde>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Chris Huff
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 21 Aug 2000 12:34:42
Message: <chrishuff-9936C5.11360221082000@news.povray.org>
In article <39A14A0F.A7A76A37@schunter.etc.tu-bs.de>, 
chr### [at] gmxde wrote:

> I just finished the first version of an include file for generating 
> wood as isosurfaces.  

And I was just about to start something like this...I was actually a 
matter of minutes away from beginning coding on the first scene file. 
Thanks for saving me the work. :-)


> Right now it only generates wooden planks and cylinders.  I also 
> thought about profile planks, but i did not yet have any success.  

Could you explain more about what you mean by "profile planks"?


> Anyone who managed using object pattern for isosurfaces ? It's quite 
> difficult and not very flexible doing them with mere mathematics...

The object pattern is not currently useable in isosurfaces, since it is 
a block pattern. This means it has an infinite gradient, and isn't very 
friendly to the isosurface solving method. I may attempt some kind of 
blur function for pigments, this might make it useable. An improved 
proximity pattern could also be useful.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Christoph Hormann
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 21 Aug 2000 14:00:42
Message: <39A16E72.BEA2DC81@schunter.etc.tu-bs.de>
Chris Huff wrote:
> 
> Could you explain more about what you mean by "profile planks"?
> 

I mean planks with more complicated shapes that can be put together to plate a
wall.  For example this shape:
     _________________
    /__               \_____
    ___|                 ___|
   |____________________|

> The object pattern is not currently useable in isosurfaces, since it is
> a block pattern. This means it has an infinite gradient, and isn't very
> friendly to the isosurface solving method. I may attempt some kind of
> blur function for pigments, this might make it useable. An improved
> proximity pattern could also be useful.
> 

I understand the problem, proximity pattern would probably be quite slow.  I
just thought it would be nice if you could define the shape with a linear
spline.  I will probably do it the hard way now :-) maybe with reading the
control points from an array.  

Christoph

--
Christoph Hormann <chr### [at] gmxde>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: ryan constantine
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 21 Aug 2000 15:32:47
Message: <39A1835C.C3CA9DEA@yahoo.com>
great idea!

Christoph Hormann wrote:
> 
> I just finished the first version of an include file for generating wood as
> isosurfaces.
> 
> Right now it only generates wooden planks and cylinders.  I also thought about
> profile planks, but i did not yet have any success.  Anyone who managed using
> object pattern for isosurfaces ? It's quite difficult and not very flexible
> doing them with mere mathematics...
> 
> The files and description is available here:
> 
> http://www.schunter.etc.tu-bs.de/~chris/iso_wood.html
> 
> A sample picture is in p.b.i.
> 
> Have fun, comments and suggestions for improvements are welcome.
> 
> Christoph
> 
> --
> Christoph Hormann <chr### [at] gmxde>
> Homepage: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: David Fontaine
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 21 Aug 2000 18:18:29
Message: <39A1A898.BB5D45AD@faricy.net>
Realistic wood in POV? You must be kidding! Sounds like a great util!
Perhaps, rather than having it generate the object, make a macro that defines a
wood function and pigment so the user can incorporate it into their own isourface
of whatever shape they want.

--
David Fontaine   <dav### [at] faricynet>   ICQ 55354965
Please visit my website:  http://davidf.faricy.net/


Post a reply to this message

From: Chris Huff
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 21 Aug 2000 18:49:12
Message: <chrishuff-C4299B.17503321082000@news.povray.org>
In article <39A16E72.BEA2DC81@schunter.etc.tu-bs.de>, 
chr### [at] gmxde wrote:

> I mean planks with more complicated shapes that can be put together 
> to plate a wall.  For example this shape:
...snip...

Ah, I see what you mean.


> I understand the problem, proximity pattern would probably be quite slow. 

Proximity currently is *very* slow for isosurfaces. I might be able to 
make a modification which allows separate proximity functions for 
specific shapes, though, so simple shapes like box, cone, sphere, etc. 
could be much faster. CSG's, text objects, and meshes will still use the 
current method though, at least at first.


>  I just thought it would be nice if you could define the shape with a 
> linear spline. 

How does a waveform modifier (like sine_wave, triangle_wave, etc.) which 
allows you to specify the mapping with a spline sound?

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Christoph Hormann
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 22 Aug 2000 04:51:32
Message: <39A23F41.9BF6C28@schunter.etc.tu-bs.de>
Chris Huff wrote:
> 
> >  I just thought it would be nice if you could define the shape with a
> > linear spline.
> 
> How does a waveform modifier (like sine_wave, triangle_wave, etc.) which
> allows you to specify the mapping with a spline sound?
> 

I'm not sure if i understand what you mean, but this would probably not help,
the spline is meant for defining the shape of the plank, so the only way that
would work would be using a radial pattern and giving the spline in polar
coordinates.

Christoph

--
Christoph Hormann <chr### [at] gmxde>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Chris Huff
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 22 Aug 2000 11:32:01
Message: <chrishuff-C473FE.10332122082000@news.povray.org>
In article <39A### [at] schunteretctu-bsde>, 
chr### [at] gmxde wrote:

> I'm not sure if i understand what you mean, but this would probably 
> not help, the spline is meant for defining the shape of the plank, so 
> the only way that would work would be using a radial pattern and 
> giving the spline in polar coordinates.

Sorry, I read "...proximity pattern would probably be quite slow. I just 
thought it would be nice if you could define the shape with a linear
spline." as defining the shape of the *function* with a linear spline. I 
understand what you mean now, but I don't see an easy way to do it...and 
prisms will probably be one of the objects which have to use the old 
proximity calculation.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Ron Parker
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 22 Aug 2000 12:55:14
Message: <slrn8q5crp.1bm.ron.parker@fwi.com>
On Tue, 22 Aug 2000 10:33:21 -0500, Chris Huff wrote:
>Sorry, I read "...proximity pattern would probably be quite slow. I just 
>thought it would be nice if you could define the shape with a linear
>spline." as defining the shape of the *function* with a linear spline. I 
>understand what you mean now, but I don't see an easy way to do it...and 
>prisms will probably be one of the objects which have to use the old 
>proximity calculation.

Even linear spline prisms?  Whyever for?  There's a simple procedure to
determine the distance of a point from an arbitrary polygon[1].  The 
proximity is then the minimum over all the edges and the two caps of the 
prism.

Beware, though: the proximity function may be continuous, but it is not
continuously differentiable, and that might matter to the isosurface 
solver.

[1] determine the closest point on the plane in which the polygon lies.
If it's inside the polygon, the distance is the distance to that point.
Otherwise, it's the minimum of the distances to the line segments[2]
that bound the polygon.

[2] determine the closest point on the line in which the segment lies.
If it's inside the segment, the distance is the distance to that point.
Otherwise, it's the smaller of the distances to the endpoints of the
line segments.[3]

[3] Though for efficiency's sake, you should only compute it for one 
of the endpoints.  The other endpoint is either the endpoint of another
line segment for which you must check endpoints, or it's the closest 
point on that other line segment, or that other line segment contains 
a closer point.[4]

[4] The same argument applies to the line segments themselves (they're 
shared between polygons) and in the case of a prism, it's easy to decide
which you should check for a given face.[5]  For a mesh, you will have to 
mark the ones you've already checked (don't forget to mark the boundaries
of polygons that contained their respective nearest points.)

[5] But watch the orientations.  Nothing sucks worse than checking the 
same endpoint twice while ignoring the other endpoint altogether.

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


Post a reply to this message

From: Chris Huff
Subject: Re: ANNOUNCE: IsoWood Include 0.1
Date: 22 Aug 2000 13:21:37
Message: <chrishuff-84E716.12230122082000@news.povray.org>
In article <slr### [at] fwicom>, ron### [at] povrayorg 
wrote:

> Even linear spline prisms?  Whyever for?  There's a simple procedure to
> determine the distance of a point from an arbitrary polygon[1].  The 
> proximity is then the minimum over all the edges and the two caps of the 
> prism.

Because I didn't know this algorithm. :-)
Hmm, does this take the caps into account? It looks like an infinitely 
long prism(or proximity to a polygon in a 2D plane).
When mesh proximity is implemented, it should be possible to do some 
shapes fairly accurately by simply tesselating them. Prisms should be 
fairly easy to tesselate...


> Beware, though: the proximity function may be continuous, but it is not
> continuously differentiable, and that might matter to the isosurface 
> solver.

It should still give better results than the raw object pattern in most 
cases, and better than a blurred object pattern(since the only way I can 
figure out to do the blur gives several "steps" of values).
BTW, what exactly do you mean by "continuously differentiable"? Do you 
mean that the function may be continuous but the derivative may not be? 
Where would the function "break"?

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

Goto Latest 10 Messages Next 3 Messages >>>

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