POV-Ray : Newsgroups : povray.binaries.images : Isosurface from magnitude of complex function with domain coloring : Re: Isosurface from magnitude of complex function with domain coloring Server Time19 Jun 2024 19:54:36 EDT (-0400)
 Re: Isosurface from magnitude of complex function with domain coloring
 From: Tor Olav Kristensen Date: 25 Dec 2021 19:10:00 Message:
```
{
"@context": "https://schema.org",
"@type": "DiscussionForumPosting",
"@id": "#web.61c7b24d6041c670bbb338f289db30a9%40news.povray.org",
"headline": "Re: Isosurface from magnitude of complex function with domain coloring",
"dateCreated": "2021-12-26T00:10:00+00:00",
"datePublished": "2021-12-26T00:10:00+00:00",
"author": {
"@type": "Person",
"name": "Tor Olav Kristensen"
}
}
"BayashiPascal" <bai### [at] gmailcom> wrote:
>...
> Very nice.
>
> The "multi-layered" aspect of the result is intriguing me. Does it come from a
> property of the function you've choosen, or from the way you choose to visualise
> it ?

Thank you Pascal

The layered appearance is just a result from the coloring.
Here's how I did it:

#declare H_Fn =
function(re, im) {
degrees(mod(2*pi + ArgumentFn(re, im), 2*pi))
}
;
#declare S = 1.0;
#declare A = 0.6; // 0 < A < 1
#declare L_Fn =
function(re, im) {
mod(10*(1 - pow(A, MagnitudeFn(re, im))), 1)/2
}
;
isosurface {
function { y - MagnitudeFn(x, z) }

...

FunctionsPigmentRGB(
function { Rd_Fn(H_Fn(x, z), S, L_Fn(x, z)) },
function { Gn_Fn(H_Fn(x, z), S, L_Fn(x, z)) },
function { Bu_Fn(H_Fn(x, z), S, L_Fn(x, z)) }
)
}

In the attached image L_Fn() was changed to this:

#declare A = 0.2; // 0 < A < 1
#declare L_Fn =
function(re, im) {
(1 - pow(A, MagnitudeFn(re, im)))
}
;

--
Tor Olav
http://subcube.com
https://github.com/t-o-k
```

Attachments: