POV-Ray : Newsgroups : povray.unofficial.patches : Tessellation Server Time
1 Nov 2024 01:26:08 EDT (-0400)
  Tessellation (Message 1 to 10 of 16)  
Goto Latest 10 Messages Next 6 Messages >>>
From: Nekar Xenos
Subject: Tessellation
Date: 10 Oct 2001 09:31:16
Message: <3bc44da4@news.povray.org>
I just want to make sure I understand all this tessellation stuff. If Warps
tessellation patch is fixed, does this mean I could use it to generate code from
blobs and primitives,etc that will be able to be exported to other 3d apps?

--
- Nekar


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.282 / Virus Database: 150 - Release Date: 2001/09/25


Post a reply to this message

From: Christoph Hormann
Subject: Re: Tessellation
Date: 10 Oct 2001 09:59:44
Message: <3BC4544D.F0DE453F@gmx.de>
Nekar Xenos wrote:
> 
> I just want to make sure I understand all this tessellation stuff. If Warps
> tessellation patch is fixed, does this mean I could use it to generate code from
> blobs and primitives,etc that will be able to be exported to other 3d apps?
> 

Yes, apart from some things:

- it's fairly slow (but faster than when done in SDL)
- the resulting meshes are not perfect, not even very 'good'.  This means
that tesselating a cube for example will either result in an ugly and
completely different shape or require quite a lot of triangles.  This is
far away from the 'ideal' tesselation with 12 triangles.
- it will require a lot more memory than the original povray scene.  Since
the tessellation patch uses simple tetrahedron marching and does not vary
the accuracy of tessellation according to distance from viewpoint or
curvature of surface, this will be quite problematic.
- infinite shapes can't be tesselated.

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Warp
Subject: Re: Tessellation
Date: 10 Oct 2001 10:36:33
Message: <3bc45cf1@news.povray.org>
Christoph Hormann <chr### [at] gmxde> wrote:
: - it will require a lot more memory than the original povray scene.  Since
: the tessellation patch uses simple tetrahedron marching and does not vary
: the accuracy of tessellation according to distance from viewpoint or
: curvature of surface, this will be quite problematic.

  I once tried to implement a "supersampling" algorithm to the tesselation
process: If the normal vectors at the intersection points are too far apart,
then the tetrahedron is subdvided into 4 smaller tetrahedrons (by taking one
extra point at the middle of the original tetrahedron). This recursive
subdivision is done up to a certain number of times.

  In theory this would have created more triangles where the surface has more
curvature and less triangles where there's less curvature.
  The result was, however, very discouraging: Yes, more triangles where
created in more curved places, but instead of getting rid of the sawed look,
it just made it more dense. That is, it didn't smooth out the edge but instead
made just a denser saw-tooth shape.
  It *might* of course be, that I made some mistake, but I didn't find any
when I looked at it... Who knows.

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

From: Christoph Hormann
Subject: Re: Tessellation
Date: 10 Oct 2001 10:59:49
Message: <3BC46265.7C7AD739@gmx.de>
> 
>   I once tried to implement a "supersampling" algorithm to the tesselation
> process: If the normal vectors at the intersection points are too far apart,
> then the tetrahedron is subdvided into 4 smaller tetrahedrons (by taking one
> extra point at the middle of the original tetrahedron). This recursive
> subdivision is done up to a certain number of times.
> 
>   In theory this would have created more triangles where the surface has more
> curvature and less triangles where there's less curvature.
>   The result was, however, very discouraging: Yes, more triangles where
> created in more curved places, but instead of getting rid of the sawed look,
> it just made it more dense. That is, it didn't smooth out the edge but instead
> made just a denser saw-tooth shape.
>   It *might* of course be, that I made some mistake, but I didn't find any
> when I looked at it... Who knows.

I think curvature dependant tessellation is usually implemented with other
algorithms that successively build the surface from a starting point.  

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Nicolas Calimet
Subject: Re: Tessellation
Date: 10 Oct 2001 14:13:27
Message: <3BC48FC5.2DCC805@free.fr>
Christoph Hormann wrote:
> 
> I think curvature dependant tessellation is usually implemented with other
> algorithms that successively build the surface from a starting point.

	Just a little thought, because I do not have any good knowledge about
tesselation. How difficult would it be to implement a Delaunay-based method,
compared to the one Warp used in his patch ? I'm pretty sure there are several
fast or robust (both ?) implementations of Delaunay triangulation out there
(sometimes with availabe C code), but have no idea how it could be used in a
tesselation context. [Sorry I've lost my pointers about it]

	- NC


Post a reply to this message

From: Warp
Subject: Re: Tessellation
Date: 10 Oct 2001 15:00:28
Message: <3bc49acc@news.povray.org>
Nicolas Calimet <pov### [at] freefr> wrote:
: 	Just a little thought, because I do not have any good knowledge about
: tesselation. How difficult would it be to implement a Delaunay-based method,
: compared to the one Warp used in his patch ?

  I have been thinking about using the marching triangles algorithm in the
tesselation patch, as I think it gives much better results than marching
cubes/tetrahedrons. However, it requires me to study how it works and how
it is implemented...

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

From: Nicolas Calimet
Subject: Re: Tessellation
Date: 10 Oct 2001 16:46:11
Message: <3BC4B392.623DED52@free.fr>
>   I have been thinking about using the marching triangles algorithm in the
> tesselation patch, as I think it gives much better results than marching
> cubes/tetrahedrons.

	I guess the problem with "marching" algorithms is the fixed step
used to sample the space; even if you try using an adaptive method, as
supersampling. While Delaunay triangulation - if possibly implemented in
a tesselation procedure - would give triangles of different sizes according
to the local complexity of the scanned object (so leading to the curvature
dependant tessellation discussed earlier). Triangles are not required to have
vertices of the same size; complexes shapes give small, numerous triangles,
while relative flat shapes give just a few large triangles. This could in
principle give good results even for simple flat objects, e.g. cubes,
including at the edges.
	I guess Christoph Hormann was actually thinking about this kind
of method, since AFAIR it starts from a point and expands in any direction.

	By the way, I don't think it would be a good idea to change the
tessellation accuracy according to distance from viewpoint, simply in
order to save memory. Tesselation can be made just once, for instance
in an animation. And that's much better for exporting (probably one of
the main purpose actually).

	- NC


Post a reply to this message

From: Ron Parker
Subject: Re: Tessellation
Date: 10 Oct 2001 16:53:40
Message: <slrn9s9dam.a0h.ron.parker@fwi.com>
On Wed, 10 Oct 2001 22:46:10 +0200, Nicolas Calimet wrote:
>	I guess the problem with "marching" algorithms is the fixed step
>used to sample the space; even if you try using an adaptive method, as
>supersampling. While Delaunay triangulation - if possibly implemented in
>a tesselation procedure - would give triangles of different sizes according

I think you're thinking of something besides Delaunay triangulation.  That's
a purely 2d technique and has nothing to do with meshes.

-- 
#local R=rgb 99;#local P=R-R;#local F=pigment{gradient x}box{0,1pigment{gradient
y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red 99][.15P]}rotate z*45
translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale 1/3}[.5F
pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my opinions


Post a reply to this message

From: Massimiliano Cirri
Subject: Re: Tessellation
Date: 11 Oct 2001 09:26:29
Message: <3bc59e05$1@news.povray.org>
You all are talking about problems very well known to engineers. We use to
call this kind of operation as 'meshing an object'.
I'm looking for some papers I've read about the problem of meshing for
Computational Fluid Dinamics problems as soon as I can find them I will
publish them on my internet site and advise you all.

Massimiliano Cirri


_____________________________________________
Eng. Massimiliano Cirri
Ph.D. Student
Department of Energetics "Sergio Stecco"
e-mail: m.c### [at] ingunifiit
tel: +39 055 4796239
fax: +39 055 4796342
private fax: +39 02 700 544 824
_____________________________________________



"Ron Parker" <ron### [at] povrayorg> ha scritto nel messaggio
news:slr### [at] fwicom...
> On Wed, 10 Oct 2001 22:46:10 +0200, Nicolas Calimet wrote:
> > I guess the problem with "marching" algorithms is the fixed step
> >used to sample the space; even if you try using an adaptive method, as
> >supersampling. While Delaunay triangulation - if possibly implemented in
> >a tesselation procedure - would give triangles of different sizes
according
>
> I think you're thinking of something besides Delaunay triangulation.
That's
> a purely 2d technique and has nothing to do with meshes.
>
> --
> #local R=rgb 99;#local P=R-R;#local F=pigment{gradient
x}box{0,1pigment{gradient
> y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red
99][.15P]}rotate z*45
> translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale
1/3}[.5F
> pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my
opinions


Post a reply to this message

From: Nicolas Calimet
Subject: Re: Tessellation
Date: 11 Oct 2001 10:40:28
Message: <3BC5AF58.F7057D3E@free.fr>
> I think you're thinking of something besides Delaunay triangulation.  That's
> a purely 2d technique and has nothing to do with meshes.

	Mhhh, guess you're wrong, sorry.
	Delaunay triangulation is commonly used in 3D (and maybe more dim.)
to create meshes from different kind of data, e.g. a cloud of points. I had
got a lot of internet references when looking at a related problem (mesh
simplification) but unfortunately lost all while moving. Probably worth to
search again since there might have new stuffs appearing  :o)

	- NC


Post a reply to this message

Goto Latest 10 Messages Next 6 Messages >>>

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