POV-Ray : Newsgroups : povray.general : Creating 16-bit HFs from C++ : Re: Creating 16-bit HFs from C++ Server Time
2 Aug 2024 06:21:00 EDT (-0400)
  Re: Creating 16-bit HFs from C++  
From: Warp
Date: 1 Mar 2005 05:25:14
Message: <42244309@news.povray.org>
Peter Duthie <pd_### [at] warlordsofbeercom> wrote:
> I mean to the mesh.  In that the mesh consists of verticies, edges, 
> faces, uv_vectors, and normals.  Transforming the verticies will 
> generally transform the edges and faces with which they are associated 
> unless my understanding of meshes is fundamentally flawed.

  We are talking about non-linear transformation here.

  Moving the vertices around will only apply a linear transformation
to the edges and faces.
  Applying a true non-linear transformation to the mesh would bend the
edges of the triangles (and thus their surfaces). However, no renderer
I know of can do this (some renderers subdivide the triangles to get
more "bending", but it's still just an approximation, not a true
non-linear transformation).

  Usually a "non-linear" transformation of a mesh is performed by just
moving the vertices (and normals). The edges and faces keep straight
regardless (which means that only linear transformations are performed
to them in practice).

> I'd be interested in 
> knowing specifically what problems you can foresee with this sort of 
> mesh transformation so that I can try to come up with a solution.

  The problem is that the "non-linear" transformation of a mesh is only
as good as the size of its triangles.
  If you have for example a box consisting of two triangles per side,
twisting the box is basically impossible (without subdividing the
triangles).

-- 
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}//  - Warp -


Post a reply to this message

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