POV-Ray : Newsgroups : povray.unofficial.patches : Non-Linear transformations Server Time
2 Sep 2024 16:16:06 EDT (-0400)
  Non-Linear transformations (Message 1 to 10 of 15)  
Goto Latest 10 Messages Next 5 Messages >>>
From: David Heys
Subject: Non-Linear transformations
Date: 15 Aug 1999 19:30:31
Message: <37B74D36.3BC3F906@hotmail.com>
hmm.. odd thought. You know what would be interesting to have in POV? A
scale_map function definable in the X, Y, or Z direction, that you could
use on objects from spheres, to CSG's, to isosurfaces. I'm talking about
being able to do this without having to revert to converting to meshes
of triangles.

ie:

sphere {0,1
 pigment {rgb <1,0,0>}
 finish {specular 0.3 roughness 0.03}
 scale_map y {
  [0.0 <1.00, 1.00>]
  [0.3 <3.50, 0.75>]
  [0.7 <0.50, 2.12>]
  [1.0 <1.00, 1.00>]
 }
}

David


Post a reply to this message

From: SamuelT 
Subject: Re: Non-Linear transformations
Date: 15 Aug 1999 22:45:36
Message: <37B77C29.C93DB408@aol.com>
Oh! Are you talking about something that would allow you to scale say, just
the top portion of a sphere and not the bottom?

Samuel Benge

David Heys wrote:

> hmm.. odd thought. You know what would be interesting to have in POV? A
> scale_map function definable in the X, Y, or Z direction, that you could
> use on objects from spheres, to CSG's, to isosurfaces. I'm talking about
> being able to do this without having to revert to converting to meshes
> of triangles.
>
> ie:
>
> sphere {0,1
>  pigment {rgb <1,0,0>}
>  finish {specular 0.3 roughness 0.03}
>  scale_map y {
>   [0.0 <1.00, 1.00>]
>   [0.3 <3.50, 0.75>]
>   [0.7 <0.50, 2.12>]
>   [1.0 <1.00, 1.00>]
>  }
> }
>
> David


Post a reply to this message


Attachments:
Download 'us-ascii' (1 KB)

From: David Heys
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 01:13:17
Message: <37B79D8B.5D429E@hotmail.com>
SamuelT. wrote:

> Oh! Are you talking about something that would allow you to scale say, just
> the top portion of a sphere and not the bottom?

Yea, but moreso for more complex transformations. I know that a lot can be done
with CSG, but I was thinking of something more along the lines of the
following:

http://www.sinbad.net/~autumn/images/odd_sphere.jpg

This was done in Rhino and exported to POV. The rough equivilant in POV (if we
had this feature) would be:

sphere {0,18
 scale_map y{
  [0.0   <1.0,       1.0>]
  [2/36  <5.5/8,     6.5/8>]
  [7/36  <5.5/14,    7/14>]
  [14/36 <14.5/17.5, 13/17.5>]
  [18/36 <16.5/18,   19.5/18>]
  [22/36 <15.5/17.5, 23/17.5>]
  [29/36 <8/14,      12/14>]
  [34/36 <6/8,       7/8>]
  [1.0   <1.0,       1.0>]
 }
}

David


Post a reply to this message

From: Ken
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 02:10:36
Message: <37B7AB57.4E218127@pacbell.net>
David Heys wrote:
> 
> SamuelT. wrote:
> 
> > Oh! Are you talking about something that would allow you to scale say, just
> > the top portion of a sphere and not the bottom?
> 
> Yea, but moreso for more complex transformations. I know that a lot can be done
> with CSG, but I was thinking of something more along the lines of the
> following:
> 
> http://www.sinbad.net/~autumn/images/odd_sphere.jpg

That's why we got's blobs :)

-- 
Ken Tyler

See my 700+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html


Post a reply to this message

From: Nieminen Mika
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 03:59:37
Message: <37b7c4e9@news.povray.org>
Non-linear transformations are not possible in raytracing.

  Ok, that's not quite right. There are two ways to do non-linear
transformations:
  1) Instead of calculating just one straight line from the camera and
for an intersection point to the light sources, split the ray into many
little pieces and calculate them separately. You can then vary each sub-line
a little from the previous.
  2) Transform the object non-linearly.

  The first method would be prohibitively slow. If you, for example,
subdivide the ray in 100 segments, that's the same as having 99 transparent
planes in front of the camera and max_trace_level set to 100. And this not
only for the camera rays, but also for shadow rays! (And virtually every
ray traced; reflection, refraction, radiosity...) Just imagine that your
shadow calculations would be 100 times slower than now (currently only
1 ray is needed for shadows, even if there are semitransparent objects in
the way).
  The second method is not possible for mathematical objects. It is possible
for meshes since you always can change the coordinates of the vertices, but
for mathematical objects it simply is not possible (or too difficult to be
achieved).
  If you want mesh-based objects, you can always model them with a modeller.
Then you can apply any transformation you want to them.

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


Post a reply to this message

From: Chris Huff
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 08:50:59
Message: <37B8095C.508289EA@compuserve.com>
You can do non-linear transformations for textures, they are called
warps in POV. Like the black hole warp, turbulence, etc.


Post a reply to this message

From: Nieminen Mika
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 11:35:57
Message: <37b82fdd@news.povray.org>
Chris Huff <Chr### [at] compuservecom> wrote:
: You can do non-linear transformations for textures, they are called
: warps in POV. Like the black hole warp, turbulence, etc.

  That's not the same thing. The texture calculations are not raytracing.
You don't trace rays to calculate the texture. You just have a function.
You give that function a 3D-coordinate and it returns a color value. No
raytracing done. For example, a gradient x texture would something like
f(x,y,z) = x
  You can invent more complicated functions for more complicated textures.

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


Post a reply to this message

From: David Heys
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 11:57:19
Message: <37B8347D.345FD1BD@hotmail.com>
Ken wrote:

> That's why we got's blobs :)

<grin> Maybe I should have used a box or a complex CSG as an example then. :{)

David


Post a reply to this message

From: David Heys
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 12:03:32
Message: <37B835F0.B55F1747@hotmail.com>
Nieminen Mika wrote:

>   Non-linear transformations are not possible in raytracing.

<snip>

> .....(it) is not possible for mathematical objects. It is possible
> for meshes since you always can change the coordinates of the vertices, but
> for mathematical objects it simply is not possible (or too difficult to be
> achieved).
>   If you want mesh-based objects, you can always model them with a modeller.
> Then you can apply any transformation you want to them.

<smile> Ahh well. I never said it "could" happen. Just said it'd be nice to
have. :{)

I guess I'll just add this to my 'Beam me up Scotty!" list of things I'd love to
see in RL but just aren't feasible... for now...

David


Post a reply to this message

From: Chris Huff
Subject: Re: Non-Linear transformations
Date: 16 Aug 1999 12:27:31
Message: <37B83C1A.F1B95887@compuserve.com>
Yes, that was the point I was trying(and failing miserably) to make. Oh,
well, I guess I just have to learn to explain things more in my
messages. :-)


Post a reply to this message

Goto Latest 10 Messages Next 5 Messages >>>

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