Title: Pottery - Morphing 3D Fractals in Ray Tracing Post by: Alon Nahary on December 08, 2016, 09:58:21 PM Rendered by my Julia3D software, ray tracing mode, one minutes a frame.
https://www.youtube.com/watch?v=I8lT5wL80cg Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: Alon Nahary on December 11, 2016, 08:45:25 AM More from this clip:
Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: Alon Nahary on December 11, 2016, 08:46:04 AM More from this clip:
Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: Alon Nahary on December 11, 2016, 08:46:33 AM More from this clip:
Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: Alon Nahary on December 11, 2016, 08:47:52 AM More from this clip:
Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: slon_ru on December 11, 2016, 03:49:08 PM Cool! :beer:
Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: DarkBeam on December 12, 2016, 09:21:54 AM This looks like an unseen formula. Mind to share it? :beer:
Title: Re: Pottery - Morphing 3D Fractals in Ray Tracing Post by: Alon Nahary on December 12, 2016, 09:52:53 AM Most of what I try is original. I write a method like this one, then I random C values to see if I get anything special. I throw away most of what I find, but this one I kept. Here is this code, returning true or false if a 3D location is in or out of the set: m_qC is the C with random values from -1 to 1 //////////////////////////////////////////////////////////////////////////////////////////////// bool get3DJuliaColorAlg41(double *start) { CVector3 z(start[1], start[0], start[2]); for (int i = 0; i < 30; i++) { double a = z.x*z.x - z.y*z.y - z.z*z.z; double b = 2 * z.x*z.z; double c = 2 * z.x*z.y; double newx = a + z.x * m_qC.x; double newy = b + z.y * m_qC.y; double newz = c + z.z * m_qC.z; if ((newx*newx + newy*newy + newz*newz) > 8) return false; z.x = newx; z.y = newy; z.z = newz; } return true; } |