POV-Ray : Newsgroups : povray.binaries.scene-files : Quantum Waves in Media : Re: Quantum Waves in Media Server Time
7 May 2024 00:22:22 EDT (-0400)
  Re: Quantum Waves in Media  
From: Jellby
Date: 13 Jan 2003 09:31:16
Message: <3e22cdb3@news.povray.org>
Jaap Frank wrote:

> For the probability distribution you use:
> 
>   #declare f_Den = function(x,y,z) { pow(f_Orb(x,y,z),2) }
> 
> I've found in the book where I found my wave-functions
> that it's better to multiply f_Den with 4*pi*R^2 for this is the surface
> of the sphere where you look for your probability.
>  ( R = sqrt(x*x+y*y+z*z), so you have to put it inside the declaration
>    for the f_Den function)
> I've seen pictures with and without this factor. It seems that it is not
> a big deal, but the probability distributions are not totaly the same.

Yes, I know, I didn't actually check it, just recalled the probability was 
the function squared and didn't remember the 4*pi*r*r factor, it's a 
mistake on my part :)

> Then you do this:
>   ......
>   #declare Norm = n_Ang*n_Rad;
>   #declare f_Orb = function(x,y,z) { f_Ang(x,y,z)*f_Rad(x,y,z) }
>   #declare f_Den = function(x,y,z) { pow(f_Orb(x,y,z),2) }
> 
>   #declare Orb_pos = function(x,y,z) { value/Norm - f_Orb(x,y,z) }
>   #declare Orb_neg = function(x,y,z) { value/Norm + f_Orb(x,y,z) }
> 
>   #declare Orb = function(x,y,z) { value/Norm - abs(f_Orb(x,y,z)) }
>   #declare Den = function(x,y,z) { value/(Norm*Norm) - f_Den(x,y,z) }
> 
> It seems to me that you divide everything by Norm, but then your
> dimensions are not correct anymore. You now have f_Orb(x,y,z) / Norm.
> And why do you subtract the orbital from value?
> Norm is part of the wave function and you use it separately.
> I can't follow this. Can you explain?

I can explain, but I don't know if it has any sense. Since I was using the 
functions for isosurfaces, I wanted to see the surface where Norm*f_Orb = 
value, which is the same as f_Orb = value/Norm and the same as 
value/Norm-f_Orb = 0 (in this way, so that the zones with higher values are 
*inside* the isosurface. For the negative part, I wanted Norm*f_Orb = 
-value. It seemed it rendered faster in this way.

>> P.P.S. Can an isosurface be declared and then the function be altered?
> 
> The function that you use inside the isosurface have to be declared
> before, else you get an error. But maybe you mean something else?

I meant something like:

#declare foo = isosurface { blah, blah texture { cool_texture } }

isosurface {
  foo
  function { this(x,y,z) }
}
isosurface {
  foo
  function { that(x,y,z) }
}

I think I tried it and it didn't work

-- 

Linux User #289967 (counter.li.org)
PGP Pub Key ID: 0x01A95F99 (pgp.escomplinux.org)


Post a reply to this message

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