This is a file from the Wikimedia Commons

File:Mandelbox front 17072019.jpg

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Original file(7,000 × 7,000 pixels, file size: 45.43 MB, MIME type: image/jpeg)

Summary

Description
Deutsch: Die Standard-Mandelbox von vorne. Werte können in den Metadaten eingesehen werden. Skalierungswert beträgt 2.

Formel:

void MandelboxIteration(CVector4 &z, const sFractal *fractal, sExtendedAux &aux) {

 if (fractal->mandelbox.rotationsEnabled)
 {
   CVector4 zRot;
   // cast vector to array pointer for address taking of components in opencl
   double *zRotP = reinterpret_cast<double *>(&zRot);
   const double *colP = reinterpret_cast<const double *>(&fractal->mandelbox.color.factor);
   for (int dim = 0; dim < 3; dim++)
   {
     // handle each dimension x, y and z sequentially in pointer var dim
     double *rotDim = (dim == 0) ? &zRotP[0] : ((dim == 1) ? &zRotP[1] : &zRotP[2]);
     const double *colorFactor = (dim == 0) ? &colP[0] : ((dim == 1) ? &colP[1] : &colP[2]);
     zRot = fractal->mandelbox.rot[0][dim].RotateVector(z);
     if (*rotDim > fractal->mandelbox.foldingLimit)
     {
       *rotDim = fractal->mandelbox.foldingValue - *rotDim;
       z = fractal->mandelbox.rotinv[0][dim].RotateVector(zRot);
       aux.color += *colorFactor;
     }
     else
     {
       zRot = fractal->mandelbox.rot[1][dim].RotateVector(z);
       if (*rotDim < -fractal->mandelbox.foldingLimit)
       {
         *rotDim = -fractal->mandelbox.foldingValue - *rotDim;
         z = fractal->mandelbox.rotinv[1][dim].RotateVector(zRot);
         aux.color += *colorFactor;
       }
     }
   }
 }
 else
 {
   if (fabs(z.x) > fractal->mandelbox.foldingLimit)
   {
     z.x = sign(z.x) * fractal->mandelbox.foldingValue - z.x;
     aux.color += fractal->mandelbox.color.factor.x;
   }
   if (fabs(z.y) > fractal->mandelbox.foldingLimit)
   {
     z.y = sign(z.y) * fractal->mandelbox.foldingValue - z.y;
     aux.color += fractal->mandelbox.color.factor.y;
   }
   if (fabs(z.z) > fractal->mandelbox.foldingLimit)
   {
     z.z = sign(z.z) * fractal->mandelbox.foldingValue - z.z;
     aux.color += fractal->mandelbox.color.factor.z;
   }
 }
 const double r2 = z.Dot(z);
 z += fractal->mandelbox.offset;
 if (r2 < fractal->mandelbox.mR2)
 {
   z *= fractal->mandelbox.mboxFactor1;
   aux.DE *= fractal->mandelbox.mboxFactor1;
   aux.color += fractal->mandelbox.color.factorSp1;
 }
 else if (r2 < fractal->mandelbox.fR2)
 {
   const double tglad_factor2 = fractal->mandelbox.fR2 / r2;
   z *= tglad_factor2;
   aux.DE *= tglad_factor2;
   aux.color += fractal->mandelbox.color.factorSp2;
 }
 z -= fractal->mandelbox.offset;
 if (fractal->mandelbox.mainRotationEnabled) z = fractal->mandelbox.mainRot.RotateVector(z);
 z = z * fractal->mandelbox.scale;
aux.DE = aux.DE * fabs(fractal->mandelbox.scale) + 1.0;
}
English: The standard Mandelbox seen from the front. Values can be found in the Meta. Scale of Mandelbox is 2. Formula:

void MandelboxIteration(CVector4 &z, const sFractal *fractal, sExtendedAux &aux) {

 if (fractal->mandelbox.rotationsEnabled)
 {
   CVector4 zRot;
   // cast vector to array pointer for address taking of components in opencl
   double *zRotP = reinterpret_cast<double *>(&zRot);
   const double *colP = reinterpret_cast<const double *>(&fractal->mandelbox.color.factor);
   for (int dim = 0; dim < 3; dim++)
   {
     // handle each dimension x, y and z sequentially in pointer var dim
     double *rotDim = (dim == 0) ? &zRotP[0] : ((dim == 1) ? &zRotP[1] : &zRotP[2]);
     const double *colorFactor = (dim == 0) ? &colP[0] : ((dim == 1) ? &colP[1] : &colP[2]);
     zRot = fractal->mandelbox.rot[0][dim].RotateVector(z);
     if (*rotDim > fractal->mandelbox.foldingLimit)
     {
       *rotDim = fractal->mandelbox.foldingValue - *rotDim;
       z = fractal->mandelbox.rotinv[0][dim].RotateVector(zRot);
       aux.color += *colorFactor;
     }
     else
     {
       zRot = fractal->mandelbox.rot[1][dim].RotateVector(z);
       if (*rotDim < -fractal->mandelbox.foldingLimit)
       {
         *rotDim = -fractal->mandelbox.foldingValue - *rotDim;
         z = fractal->mandelbox.rotinv[1][dim].RotateVector(zRot);
         aux.color += *colorFactor;
       }
     }
   }
 }
 else
 {
   if (fabs(z.x) > fractal->mandelbox.foldingLimit)
   {
     z.x = sign(z.x) * fractal->mandelbox.foldingValue - z.x;
     aux.color += fractal->mandelbox.color.factor.x;
   }
   if (fabs(z.y) > fractal->mandelbox.foldingLimit)
   {
     z.y = sign(z.y) * fractal->mandelbox.foldingValue - z.y;
     aux.color += fractal->mandelbox.color.factor.y;
   }
   if (fabs(z.z) > fractal->mandelbox.foldingLimit)
   {
     z.z = sign(z.z) * fractal->mandelbox.foldingValue - z.z;
     aux.color += fractal->mandelbox.color.factor.z;
   }
 }
 const double r2 = z.Dot(z);
 z += fractal->mandelbox.offset;
 if (r2 < fractal->mandelbox.mR2)
 {
   z *= fractal->mandelbox.mboxFactor1;
   aux.DE *= fractal->mandelbox.mboxFactor1;
   aux.color += fractal->mandelbox.color.factorSp1;
 }
 else if (r2 < fractal->mandelbox.fR2)
 {
   const double tglad_factor2 = fractal->mandelbox.fR2 / r2;
   z *= tglad_factor2;
   aux.DE *= tglad_factor2;
   aux.color += fractal->mandelbox.color.factorSp2;
 }
 z -= fractal->mandelbox.offset;
 if (fractal->mandelbox.mainRotationEnabled) z = fractal->mandelbox.mainRot.RotateVector(z);
 z = z * fractal->mandelbox.scale;
aux.DE = aux.DE * fabs(fractal->mandelbox.scale) + 1.0;
}
Date
Source Own work
Author PantheraLeo1359531

CGI.

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

This image has been assessed using the Quality image guidelines and is considered a Quality image.

العربية  جازايرية  беларуская  беларуская (тарашкевіца)  български  বাংলা  català  čeština  Cymraeg  Deutsch  Schweizer Hochdeutsch  Zazaki  Ελληνικά  English  Esperanto  español  eesti  euskara  فارسی  suomi  français  galego  עברית  हिन्दी  hrvatski  magyar  հայերեն  Bahasa Indonesia  italiano  日本語  Jawa  ქართული  한국어  kurdî  Lëtzebuergesch  lietuvių  македонски  മലയാളം  मराठी  Bahasa Melayu  Nederlands  Norfuk / Pitkern  polski  português  português do Brasil  rumantsch  română  русский  sicilianu  slovenčina  slovenščina  shqip  српски / srpski  svenska  தமிழ்  తెలుగు  ไทย  Tagalog  Türkçe  toki pona  українська  vèneto  Tiếng Việt  中文  中文(简体)  中文(繁體)  +/−

Captions

Created with mandelbulber2.

Items portrayed in this file

depicts

17 July 2019

image/jpeg

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current13:56, 24 July 2019Thumbnail for version as of 13:56, 24 July 20197,000 × 7,000 (45.43 MB)PantheraLeo1359531Downsized to 6000px (Mandelbox area) and added a new area around Mandelbox.
20:36, 17 July 2019Thumbnail for version as of 20:36, 17 July 201910,000 × 10,000 (80.77 MB)PantheraLeo1359531User created page with UploadWizard

The following page uses this file:

Metadata