POV-Ray : Newsgroups : povray.binaries.images : pattern blend Server Time
26 Sep 2024 23:51:57 EDT (-0400)
  pattern blend (Message 61 to 66 of 66)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: clipka
Subject: Re: pattern blend
Date: 12 Mar 2018 19:33:08
Message: <5aa70e34$1@news.povray.org>
Am 12.03.2018 um 22:49 schrieb Cousin Ricky:

> In my defense, I did not choose to be an American; the Danish sold my
> island from under me 46 years before I was born.
> 
> Although, when I took an online test to see where I should move in the
> extremely unlikely event that Donald Trump should become president, they
> said Germany would be the best match for me.  Personally, I say make
> Trump's immigration policy retroactive 2 generations and send /him/ back
> to Germany.

If you ever get your hands on a time machine, be careful - that plan
might backfire. According to German Wikipedia, during WW2 one of The
Don's uncles, John G. Trump, was instrumental in providing the US
military with the latest and greatest Radar equipment, and had also
contributed to the Manhattan Project (albeit involuntarily, by building
a high voltage generator in Philadelphia that was subsequently seized
for the project).

Also, by The Don's standards, there are two types of immigrants:
Norwegians and Bad Hombres. Back in 1885, Germans would certainly have
been considered the Norwegian type.


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: pattern blend
Date: 16 Mar 2018 23:35:00
Message: <web.5aac8b2f8351d7b0de6196580@news.povray.org>
"Norbert Kern" <nor### [at] t-onlinede> wrote:
> Stephen <mca### [at] aolcom> wrote:
>
> > Has anyone tried to produce a solarisation effect?
>
> Hi,
> with a simple approach I got this image - here is the code
> ...

Hi Norbert

Your post inspired me to try to achieve image solarisation with the
new user defined pattern in v3.8:

http://wiki.povray.org/content/Reference:User_Defined_Pattern

BTW: Nice tricks to scale the camera vectors by the image dimensions
and to make a V-function with the max function !

Here's the results from my experiment:

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
// Tor Olav Kristensen
// http://subcube.com
// Solarizing an image
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#version 3.8;

// For this image made by Gilles Tran:
// http://hof.povray.org/images/glasses.jpg
#declare GuessedGamma = 2.2;

global_settings { assumed_gamma GuessedGamma }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
// Render with same image dimensions as the original image for best
// result. Anti-aliasing can be used. E.g.: +w1024 +h768 +a0.1 +FJ

#declare PigmentFn =
    function {
        pigment {
            image_map {
                jpeg "glasses.jpg"  // 1024 x 768 pixels
                gamma GuessedGamma
                interpolate 2
            }
        }
    }
;

// Frequency = 0.5 and Inverted = true
// - will give original image (approximately)
#declare Frequency = 1.0; // Try 0.5, 1.0, 1.5, 2.0, ...
#declare Inverted = false;

#declare Fn = function(x) { Frequency*mod(x, 1/Frequency) }
#declare VeeFn = function(x) { 2*max(Fn(x), 1 - Fn(x)) - 1 }
#declare InvertedVeeFn = function(x) { 1 - VeeFn(x) };

#if (Inverted)
    #declare SolarizeFn = InvertedVeeFn ;
#else
    #declare SolarizeFn = VeeFn;
#end // if

box {
    <0, 0, 0>, <1, 1, 1>
    texture {
        pigment {
            user_defined {
                function { SolarizeFn(PigmentFn(x, y, z).red  ) },
                function { SolarizeFn(PigmentFn(x, y, z).green) },
                function { SolarizeFn(PigmentFn(x, y, z).blue ) }
            }
        }
        finish {
            diffuse 0
            emission color rgb <1, 1, 1>
        }
    }
    translate -<1, 1, 0>/2
    scale <image_width, image_height, 1>
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

camera {
    orthographic
    right image_width*x
    up image_height*y
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7


Post a reply to this message


Attachments:
Download 'solarized glasses.jpg' (77 KB)

Preview of image 'solarized glasses.jpg'
solarized  glasses.jpg


 

From: Tor Olav Kristensen
Subject: Re: pattern blend
Date: 17 Mar 2018 00:30:00
Message: <web.5aac991a8351d7b0de6196580@news.povray.org>
"Tor Olav Kristensen" <tor### [at] TOBEREMOVEDgmailcom> wrote:
> ...
> // Render with same image dimensions as the original image for best
> // result. Anti-aliasing can be used. E.g.: +w1024 +h768 +a0.1 +FJ
> ...

I just did some layer arithmetic in Gimp with the original image in the bottom
layer and my rendered image in the top layer - and found that Norbert is
probably right: It's best to not use any anti-aliasing for this.

--
Tor Olav
http://subcube.com


Post a reply to this message

From: Norbert Kern
Subject: Re: pattern blend
Date: 17 Mar 2018 10:30:01
Message: <web.5aad26338351d7b09cfcc7a00@news.povray.org>
"Tor Olav Kristensen" <tor### [at] TOBEREMOVEDgmailcom> wrote:
>
> Hi Norbert
>
> Your post inspired me to try to achieve image solarisation with the
> new user defined pattern in v3.8:
>
> http://wiki.povray.org/content/Reference:User_Defined_Pattern


Hi Tor,

very well done.
I've to look more in user defined pattern - definitively.

Norbert


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: pattern blend
Date: 3 Apr 2018 12:20:01
Message: <web.5ac3a9038351d7b05bf3e3600@news.povray.org>
"Norbert Kern" <nor### [at] t-onlinede> wrote:
> "Tor Olav Kristensen" <tor### [at] TOBEREMOVEDgmailcom> wrote:
> >
> > Hi Norbert
> >
> > Your post inspired me to try to achieve image solarisation with the
> > new user defined pattern in v3.8:
> >
> > http://wiki.povray.org/content/Reference:User_Defined_Pattern
>
>
> Hi Tor,
>
> very well done.
> I've to look more in user defined pattern - definitively.

Thank you Norbert

For those of you that hasn't started to experiment with v3.8 yet,
here is some code that can be used with v3.7 to achieve the same:

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
// Tor Olav Kristensen
// http://subcube.com
// Solarizing an image
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#version 3.7;

// For this image made by Gilles Tran:
// http://hof.povray.org/images/glasses.jpg
#declare GuessedGamma = 2.2;

global_settings { assumed_gamma GuessedGamma }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
// Render with same image dimensions as the original image for best
// result. E.g.: +w1024 +h768 +FJ

#declare PigmentFn =
    function {
        pigment {
            image_map {
                jpeg "glasses.jpg"  // 1024 x 768 pixels
                gamma GuessedGamma
                interpolate 2
            }
        }
    }
;

// Frequency = 0.5 and Inverted = true
// - will give original image (approximately)
#declare Frequency = 1.0; // Try 0.5, 1.0, 1.5, 2.0, ...
#declare Inverted = false;

#declare Fn = function(x) { Frequency*mod(x, 1/Frequency) };
#declare VeeFn = function(x) { 2*max(Fn(x), 1 - Fn(x)) - 1 };
#declare InvertedVeeFn = function(x) { 1 - VeeFn(x) };

#if (Inverted)
    #declare SolarizeFn = InvertedVeeFn ;
#else
    #declare SolarizeFn = VeeFn;
#end // if

#declare PigmentR =
    pigment {
        function { SolarizeFn(PigmentFn(x, y, z).red  ) }
        color_map {
            [ 0 color red   0 ]
            [ 1 color red   3 ]
        }
    }
;

#declare PigmentG =
    pigment {
        function { SolarizeFn(PigmentFn(x, y, z).green) }
        color_map {
            [ 0 color green 0 ]
            [ 1 color green 3 ]
        }
    }
;

#declare PigmentB =
    pigment {
        function { SolarizeFn(PigmentFn(x, y, z).blue ) }
        color_map {
            [ 0 color blue  0 ]
            [ 1 color blue  3 ]
        }
    }
;

box {
    <0, 0, 0>, <1, 1, 1>
    texture {
        pigment {
            average
            pigment_map {
                [ PigmentR ]
                [ PigmentG ]
                [ PigmentB ]
            }
        }
        finish {
            diffuse 0
            emission color rgb <1, 1, 1>
        }
    }
    translate -<1, 1, 0>/2
    scale <image_width, image_height, 1>
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

camera {
    orthographic
    right image_width*x
    up image_height*y
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7


Post a reply to this message

From: And
Subject: Re: pattern blend
Date: 4 Oct 2021 11:55:00
Message: <web.615b22ba8351d7b09cd6027caa81652d@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
>
>
> > Very interesting! May I use your p_modify versions for my video
> > experiments on YouTube
> > (https://www.youtube.com/channel/UCFgDHkMGDuOkiSnc6w6eUWg)? To those who
> > modificated it, I ask the same question...
> >
>
> I am working on some general changes of the code, which I shall post
> later. You have my full permission, but And is the real owner/originator.
>
> --
> Thomas


I'm sorry, actually, I saw this method on a website. here:
http://runevision.com/3d/povgoodies/
: Pattern Control Trick

Once I decide to use it. I will find out how it composite. I'm not worried about
the copyright because I think it is just a composite of two original function
provided by POV-Ray.


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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