POV-Ray : Newsgroups : povray.binaries.images : How to avoid moiré effects? Server Time
16 Aug 2024 16:22:18 EDT (-0400)
  How to avoid moiré effects? (Message 1 to 7 of 7)  
From: Yadgar
Subject: How to avoid moiré effects?
Date: 20 Jan 2002 16:48:56
Message: <3C4B4A8A.76D0344C@ndh.net>
Hi Tracers!

Today, I fiddled around with exponential scaling of simple pigment
pattern, for example checker.
I made a checker pattern with rgb <1, 0, 0> and rgb <0, 0.5, 1> and made
an animation, during which it is scaled exponentially down to 1/10^11. I
hoped, that sooner or later, the two colors would blend into a
homogenous average color, such as rgb <0.5, 0.25, 0.5>. But instead, I
got strange interference patterns, sometimes single frames with
stretched patterns at much too large scale showed up.

Then I tried AA, non-recursive, first at 0.3, than at 0 threshold - the
whole thing became fuzzier, but there are still those strange dropout
frames. Now I do it at threshold 0, still method 1, but with depth 9 -
calculation takes ages, and it's simply not proceeded far enough yet to
estimate the results. Is there any way to make any pigment pattern at
very small scales blend into one single color?

See you in Khyberspace -
http://www.geocities.com/electricafghan/index-e.html
Afghanistan Chronicle: http://www.ndh.net/home/bleimann/index-e.htm

Yadgar

Now playing: Don't Go (Yes)


Post a reply to this message

From: Slime
Subject:
Date: 20 Jan 2002 18:12:57
Message: <3c4b4ef9$1@news.povray.org>
> Is there any way to make any pigment pattern at
> very small scales blend into one single color?


Not really without high AA or an #if() block to switch the pigment when it
gets real small.

Depth 9 is really big. Try 4 or 5.

- Slime
[ http://www.slimeland.com/ ]
[ http://www.slimeland.com/images/ ]


Post a reply to this message

From: Hugo
Subject:
Date: 20 Jan 2002 18:20:10
Message: <3c4b50aa@news.povray.org>
> interference patterns
> Is there any way to make any pigment pattern at
> very small scales blend into one single color?

This is something I have been thinking a lot about! It's often a problem,
for example with water in the horisont or carpets on a floor and I know, AA
can't solve it.. I think a small focal blur of everything will work (haven't
tried yet) because it jitters the details rather than AA that does more like
the opposite.


lenses aren't so good, they give either a kind of focal blur or the perfect
AA when they merge all light particles.. Well.. it's my theory.

Hugo


Post a reply to this message

From: Peter Popov
Subject:
Date: 20 Jan 2002 18:27:59
Message: <sdkm4uspgu5aii9ust2c708fc6emkspuj6@4ax.com>
On Sun, 20 Jan 2002 23:54:02 +0100, Yadgar <j.b### [at] ndhnet> wrote:

>Is there any way to make any pigment pattern at
>very small scales blend into one single color?

Instead of AA, try focal blur. It will shoot samples just as long as
it needs them (statistically), and others (not me) have shown this
method to work well.


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: John VanSickle
Subject:
Date: 21 Jan 2002 09:32:40
Message: <3C4C27AA.DC89505D@hotmail.com>
Yadgar wrote:
> 
> Hi Tracers!
> 
> Today, I fiddled around with exponential scaling of simple pigment
> pattern, for example checker.
> I made a checker pattern with rgb <1, 0, 0> and rgb <0, 0.5, 1> and made
> an animation, during which it is scaled exponentially down to 1/10^11. I
> hoped, that sooner or later, the two colors would blend into a
> homogenous average color, such as rgb <0.5, 0.25, 0.5>. But instead, I
> got strange interference patterns, sometimes single frames with
> stretched patterns at much too large scale showed up.
> 
> Then I tried AA, non-recursive, first at 0.3, than at 0 threshold - the
> whole thing became fuzzier, but there are still those strange dropout
> frames. Now I do it at threshold 0, still method 1, but with depth 9 -
> calculation takes ages, and it's simply not proceeded far enough yet to
> estimate the results. Is there any way to make any pigment pattern at
> very small scales blend into one single color?

You can build some anti-aliasing into the pigment.  You have to know how
much area is spanned by each pixel.  Then you build several pigments,
each one moved around slightly, and average them together.  Apply this
to your surface.

I've done this in a couple of my IRTC entries.  In "Robotany" the little
placards in the background are pre-blurred for far-away shots.  In
"Revenge of the Greb" I blurred a brick pattern so that the rays would
hit the mortar in a reliable way.

Here is some sample code here:

#local Brick=
  pigment {
    bozo color_map { [0 rgb .6] [1 rgb .5] }
    scale 30
    warp { repeat y*20 offset z*15 }
  }

#local pigT111=pigment { brick
  pigment { rgb <.95,.85,.75> } , pigment { Brick }
  brick_size <30,20,15>
  mortar 1  
  transform FlipXZ
}

#ifdef(BrickBlur)
#local sD=vlength(BrickBlur-pCamL)/sCamZ/240;
#local pigT111=pigment { average
  pigment_map {
#local iI=-7; #while(iI<8)
#local iJ=-7; #while(iJ<8)
  [1 pigT111 translate <0,iI,iJ>/16*sD ]
#local iJ=iJ+2; #end
#local iI=iI+2; #end
  }
}  

#end

In this code, BrickBlur is a spot on the wall that the camera is facing,
sCamZ is the length of the direction vector in the camera, 240 happens
to be the height of the image, and pCamL is the location of the camera.

If you were to use this code, the camera would be specified this way:

camera {
  direction z*sCamZ
  location pCamL
  look_at BrickBlur
}

Hope this helps.

> Now playing: Don't Go (Yes)

I've played that album continuously over the past three weeks!  It's
got some not-so-good tracks, but "Give Love Each Day" and "In the
Presence Of" are great tracks.

Regards,
John
-- 
ICQ: 46085459


Post a reply to this message

From: Yadgar
Subject: Re: How to avoid moiré effects?
Date: 21 Jan 2002 15:15:21
Message: <3C4C80F4.4EE4FFAD@ndh.net>
John VanSickle schrieb:

> Yadgar wrote:
> >
> > Hi Tracers!
> >
> > Today, I fiddled around with exponential scaling of simple pigment
> > pattern, for example checker.
> > I made a checker pattern with rgb <1, 0, 0> and rgb <0, 0.5, 1> and made
> > an animation, during which it is scaled exponentially down to 1/10^11. I
> > hoped, that sooner or later, the two colors would blend into a
> > homogenous average color, such as rgb <0.5, 0.25, 0.5>. But instead, I
> > got strange interference patterns, sometimes single frames with
> > stretched patterns at much too large scale showed up.
> >
> > Then I tried AA, non-recursive, first at 0.3, than at 0 threshold - the
> > whole thing became fuzzier, but there are still those strange dropout
> > frames. Now I do it at threshold 0, still method 1, but with depth 9 -
> > calculation takes ages, and it's simply not proceeded far enough yet to
> > estimate the results. Is there any way to make any pigment pattern at
> > very small scales blend into one single color?
>
> You can build some anti-aliasing into the pigment.  You have to know how
> much area is spanned by each pixel.  Then you build several pigments,
> each one moved around slightly, and average them together.  Apply this
> to your surface.
>
> I've done this in a couple of my IRTC entries.  In "Robotany" the little
> placards in the background are pre-blurred for far-away shots.  In
> "Revenge of the Greb" I blurred a brick pattern so that the rays would
> hit the mortar in a reliable way.
>
> Here is some sample code here:
>
> #local Brick=
>   pigment {
>     bozo color_map { [0 rgb .6] [1 rgb .5] }
>     scale 30
>     warp { repeat y*20 offset z*15 }
>   }
>
> #local pigT111=pigment { brick
>   pigment { rgb <.95,.85,.75> } , pigment { Brick }
>   brick_size <30,20,15>
>   mortar 1
>   transform FlipXZ
> }
>
> #ifdef(BrickBlur)
> #local sD=vlength(BrickBlur-pCamL)/sCamZ/240;
> #local pigT111=pigment { average
>   pigment_map {
> #local iI=-7; #while(iI<8)
> #local iJ=-7; #while(iJ<8)
>   [1 pigT111 translate <0,iI,iJ>/16*sD ]
> #local iJ=iJ+2; #end
> #local iI=iI+2; #end
>   }
> }
>
> #end
>
> In this code, BrickBlur is a spot on the wall that the camera is facing,
> sCamZ is the length of the direction vector in the camera, 240 happens
> to be the height of the image, and pCamL is the location of the camera.
>
> If you were to use this code, the camera would be specified this way:
>
> camera {
>   direction z*sCamZ
>   location pCamL
>   look_at BrickBlur
> }
>
> Hope this helps.
>
> > Now playing: Don't Go (Yes)
>
> I've played that album continuously over the past three weeks!  It's
> got some not-so-good tracks, but "Give Love Each Day" and "In the
> Presence Of" are great tracks.
>
> Regards,
> John
> --
> ICQ: 46085459

Hey, another Yes fan on this server! Really, this music is truly addictive...

can't count the hours I spent pixeling gigantic heightfields for my virtual
Afghanistan projects, with "The Ladder" or "Magnification" in the head-
phone...

But after getting to know the latest album by heart, I regret having bought

two titles you mentioned would have been an absolutely ecstatic experience to

me there, instead, they were just some new unknown pieces - and on stage, the

orchestra didn't come out as good as on CD.

And I remember that long ago, in early 2000, there was one guy here in the
newsgroup who rendered a stunning reproduction of Roger Dean's ABWH cover of
1989... I keep all pictures since 1999 on a CD (currently some 200 megs), but

I missed his name - and after a system crash, I only gradually recover my
original Netscape entry list of this group.

Your suggestions for anti-aliasing/blurring look intriguing... but up to
know, I hadn't found the time to try them, I hope I will do so in the coming
days! Do they also work with official PoV 3.1g or do have to tackle with
MegaPoV or 3.5?

See you in Khyberspace - http://www.geocities.com/electricafghan/index-e.html

Yadgar


Now playing: Pas de trois (Ashra - a German 70s electronic band which
influenced Ozric Tentacles very much)


Post a reply to this message

From: John VanSickle
Subject:
Date: 25 Jan 2002 14:49:32
Message: <3C51B7FC.2385B3E@hotmail.com>
Yadgar wrote:
> 
> Your suggestions for anti-aliasing/blurring look intriguing... but up
> to now, I hadn't found the time to try them, I hope I will do so in
> the coming days! Do they also work with official PoV 3.1g or do have
> to tackle with MegaPoV or 3.5?

The scene code was used with 3.1g.

-- 
ICQ: 46085459


Post a reply to this message

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