POV-Ray : Newsgroups : povray.newusers : media ?s Server Time
5 Sep 2024 12:14:50 EDT (-0400)
  media ?s (Message 11 to 20 of 21)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 1 Messages >>>
From: Tom Melly
Subject: Re: media ?s
Date: 31 May 2001 11:58:06
Message: <3b166a0e$3@news.povray.org>
"Ron Parker" <ron### [at] povrayorg> wrote in message
news:slr### [at] fwicom...

> It really can be argued both ways, but those who would argue that the density
> factor should scale with the container have a difficult question to answer:
> how should it scale when the container is scaled nonuniformly?

Ouch! Now my brain hurts. I think I pulled something...


Post a reply to this message

From: Warp
Subject: Re: media ?s
Date: 31 May 2001 11:58:44
Message: <3b166a34@news.povray.org>
Simon <sim### [at] surfeude> wrote:
: So if you want to get the same result after
: scaling you should do something like this :
: ...
: density{yourcolor*1/scalevalue}

  But this is exactly what I don't want to be forced to do.

-- 
#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: Warp
Subject: Re: media ?s
Date: 31 May 2001 12:02:24
Message: <3b166b10@news.povray.org>
Ron Parker <ron### [at] povrayorg> wrote:
: how should it scale when the container is scaled nonuniformly?

  It should scale so that if you, for example, scale the object to be
twice as wide on screen, render and then squeeze the image to half-size
in width (eg. just drop out every other column of pixels), the image should
be the same (perhaps not 100% identical, but by all practical means the same,
that is, minor differences in individual pixels not noticeable).

-- 
#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: Ron Parker
Subject: Re: media ?s
Date: 31 May 2001 12:14:17
Message: <slrn9hcrer.54p.ron.parker@fwi.com>
On 31 May 2001 12:02:24 -0400, Warp wrote:
>Ron Parker <ron### [at] povrayorg> wrote:
>: how should it scale when the container is scaled nonuniformly?
>
>  It should scale so that if you, for example, scale the object to be
>twice as wide on screen, render and then squeeze the image to half-size
>in width (eg. just drop out every other column of pixels), the image should
>be the same (perhaps not 100% identical, but by all practical means the same,
>that is, minor differences in individual pixels not noticeable).

Well, that's not strictly true unless you use an orthographic camera, so let's
assume that you meant to say "with an orthographic camera."

Even assuming that, we have a problem: if we take a sphere and scale it 
nonuniformly, perhaps by stretching it by a factor of 2 along the Y axis,
now we have to make the density factor depend on the direction of the 
ray we're measuring: a ray traveling parallel to the X axis should use 
the same density factor it would have without scaling, but a ray traveling 
parallel to the Y axis should use half the density factor.

Interestingly enough, that turns into an argument for the notion that POV
should scale the density factor with the object whenever it would scale 
the density pattern with the object, because while you could get the
current behavior by scaling the object before the interior statement in
a world where scale affected the factor, you can't get the behavior you 
described at all in the current model.

I think the change could be implemented, but I also think it would require
some pretty big changes in the media code.

-- 
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbt 1}hollow interior{media{emission T}}finish{
reflection.1}}#end Z(-x-x.2y)Z(-x-x.4x)camera{location z*-10rotate x*90}


Post a reply to this message

From: Chris Huff
Subject: Re: media ?s
Date: 31 May 2001 12:35:00
Message: <chrishuff-3CDEF0.11320131052001@povray.org>
In article <3b166b10@news.povray.org>, Warp <war### [at] tagpovrayorg> 
wrote:

>   It should scale so that if you, for example, scale the object to be
> twice as wide on screen...

What about scaling it to be half as deep? Or 10 times as long as it was?
If this is ever done, it should be as an option, probably with several 
methods...greatest/smallest scale component, average scale component, 
etc...otherwise, you will end up with some kind of direction-dependant 
density...a neat idea, but not a good behavior for transformations in my 
opinion.

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

<><


Post a reply to this message

From: Bob H 
Subject: Re: media ?s
Date: 31 May 2001 13:36:07
Message: <3b168107@news.povray.org>
Makes me conjure up a new keyword known as 'fixed', or 'static' or something
similar.
If you wanted to retain a unaffected media density when scaling then you'd
set it into a fixed unchanging state.  I hadn't thought of that nonuniform
scaling problem.  Maybe if it were at least either A: unaffected media or B:
affected by scaling, then that would suffice without need to complicate
things.
Kind of an addendum to what Ron was saying.

Bob H.


Post a reply to this message

From: Rune
Subject: Re: media ?s
Date: 31 May 2001 15:36:32
Message: <3b169d40@news.povray.org>
"Warp" wrote:
> Simon wrote:
> : So if you want to get the same result after
> : scaling you should do something like this :
> : ...
> : density{yourcolor*1/scalevalue}
>
>   But this is exactly what I don't want to be forced to do.

I too have been annoyed by the current behavior, but when thinking about it
I think it's more logical this way after all.

Think about object attenuation. Using fade_power and fade_distance we can
simulate attenuation. It is a property of the material the object is made
of. If we scale the object twice as big, then, like in real life, the
attenuation is stronger because the light travels through more of it. That
is logical.

Why should media be any different? Media is also a property of the material,
and in reality it would be stronger when it is larger. Just take any colored
liquid as an example.

IMHO the current behavior should be continued.

But the current method does have problems too, so a switch to change between
behaviors would be even better...

Rune
--
3D images and anims, include files, tutorials and more:
Rune's World:    http://rsj.mobilixnet.dk (updated May 10)
POV-Ray Users:   http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Webring: http://webring.povray.co.uk


Post a reply to this message

From: Bob H 
Subject: Re: media ?s
Date: 31 May 2001 15:56:43
Message: <3b16a1fb@news.povray.org>
"Rune" <run### [at] mobilixnetdk> wrote in message
news:3b169d40@news.povray.org...
>
> Think about object attenuation. Using fade_power and fade_distance we can
> simulate attenuation. It is a property of the material the object is made
> of. If we scale the object twice as big, then, like in real life, the
> attenuation is stronger because the light travels through more of it. That
> is logical.

I know, but...

> Why should media be any different? Media is also a property of the
material,
> and in reality it would be stronger when it is larger. Just take any
colored
> liquid as an example.

Yes, but not in the sense that were that object a drinking glass with some
attenuation and you simply rescaled for one reason or another you wouldn't
want it attenuating light more or less than originally when it's resized
only to fit another scene.

> But the current method does have problems too, so a switch to change
between
> behaviors would be even better...

No arguments from me.

Bob H.


Post a reply to this message

From: Margus Ramst
Subject: Re: media ?s
Date: 2 Jun 2001 18:06:58
Message: <3b196382$1@news.povray.org>
"Ron Parker" <ron### [at] povrayorg> wrote:

> It really can be argued both ways, but those who would argue that the
> density factor should scale with the container have a difficult question
> to answer: how should it scale when the container is scaled nonuniformly?
> 
> 
> 
If you think of media as tiny emitting/absorbing/reflecting particles in the
container's volume (which is what it is supposed to model) there are only
two possible ways to handle scaling the container AFAICS.

The current method is to keep constant the "number of particles" per unit of
volume. Thus if you scale the container, the total number of media particles
in the container changes and thus the apparent opacity changes. Frankly, I
think this is perfecly logical and in no way inferior to the alternative.

The other possible approach, the one which people seem to be talking about
here, is to keep constant the "number of media particles" in the container,
irrespective of scaling. Obviously this only gives the result people expect
if the container is scaled uniformly. Anyway, the correct conversion should
be something like:

Mult=sqrt(3)/vlength(Scale)

where Scale is the scaling vector of the container, and Mult is the
multiplier to be applied to the media density in the scaled container.

Since it only keeps the apparent opacity if the scaling is uniform, I'm not
sure it would be such a good default. People would then probably expect the
opacity to always stay the same, and it would be even harder to explain to
them why this is not the case with non-uniform scaling.

-- 
Margus Ramst

Personal e-mail: mar### [at] peakeduee
TAG (Team Assistance Group) e-mail: mar### [at] tagpovrayorg
Home page http://www.hot.ee/margusrt


Post a reply to this message

From: Margus Ramst
Subject: Re: media ?s
Date: 2 Jun 2001 18:21:47
Message: <3b1966fb$1@news.povray.org>
"Ron Parker" <ron### [at] povrayorg> wrote:

> 
> Interestingly enough, that turns into an argument for the notion that POV
> should scale the density factor with the object whenever it would scale
> the density pattern with the object, because while you could get the
> current behavior by scaling the object before the interior statement in a
> world where scale affected the factor, you can't get the behavior you
> described at all in the current model.
> 
> I think the change could be implemented, but I also think it would require
> some pretty big changes in the media code.
> 

Hmm...
That would mean anisotropic absorption/emission, right?
It would be an interesting option to have, certainly. But frankly I'm not
sure if I'd want it as the default behaviour.

-- 
Margus Ramst

Personal e-mail: mar### [at] peakeduee
TAG (Team Assistance Group) e-mail: mar### [at] tagpovrayorg
Home page http://www.hot.ee/margusrt


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 1 Messages >>>

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