De Wikipedia, la enciclopedia libre
Zoom_around_principal_Misiurewicz_point_for_periods_from_2_to_1024.gif (600 × 300 píxeles; tamaño de archivo: 1,92 MB; tipo MIME: image/gif, bucleado, 24 frames, 12s)
Este es un archivo de Wikimedia Commons, un depósito de contenido libre hospedado por la Fundación Wikimedia. Más abajo se reproduce su página de descripción con la información sobre su origen y licencia. |
Resumen
DescripciónZoom around principal Misiurewicz point for periods from 2 to 1024.gif |
English: Zoom around principal Misiurewicz point for periods from 2 to 1024. Last image is dense. |
Fecha | |
Fuente | own work with help and program by Claude Heiland-Allen |
Autor | Adam majewski |
Licencia
Yo, el titular de los derechos de autor de esta obra, la publico en los términos de la siguiente licencia:
Este archivo está disponible bajo la licencia Creative Commons Attribution-Share Alike 4.0 International.
- Eres libre:
- de compartir – de copiar, distribuir y transmitir el trabajo
- de remezclar – de adaptar el trabajo
- Bajo las siguientes condiciones:
- atribución – Debes otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si realizaste algún cambio. Puedes hacerlo de cualquier manera razonable pero no de manera que sugiera que el licenciante te respalda a ti o al uso que hagas del trabajo.
- compartir igual – En caso de mezclar, transformar o modificar este trabajo, deberás distribuir el trabajo resultante bajo la misma licencia o una compatible como el original.
c src code
Program is from mandelbrot-numerics library by Claude Heiland-Allen. I have made only slight changes.
/*
Program is based on m-render.c from mandelbrot-graphics.
from library
mandelbrot-graphics - CPU-based visualisation of the Mandelbrot set
http://code.mathr.co.uk/mandelbrot-graphics.git
by Claude Heiland-Allen
http://mathr.co.uk/blog/
It draws series of png images
-------------------------------------------------
to compile from program directory :
make prefix=${HOME}/opt install
to run :
dense-misiurewicz
*/
#include <complex.h>
#include <math.h>
#include <stdio.h>
#include <gmp.h>
#include <mandelbrot-symbolics.h>
#include <mandelbrot-numerics.h>
#include <mandelbrot-graphics.h>
int main(void)
{
const double twopi = 6.283185307179586;
int w = 2000; // width in pixels
int h = 1000; // height in pixels
double er = 600;
double maxiters = 1000000;
int sharpness = 4;
// image
m_image *image = m_image_new(w, h);
m_pixel_t black = m_pixel_rgba(0, 0, 0, 1);
m_pixel_t white = m_pixel_rgba(1, 1, 1, 1);
// angle
mpq_t angle;
mpq_init(angle);
m_binangle bangle;
m_binangle_init(&bangle);
// adjust font siz
double t = h/200.0;
int n = 24*t;
if (image)
{
cairo_surface_t *surface = m_image_surface(image);
cairo_t *cr = cairo_create(surface);
cairo_select_font_face(cr, "LMSans10", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size(cr, n);
cairo_set_source_rgba(cr, 1, 0, 0, 1);
m_d_colour_t *colour = m_d_colour_minimal(white, black, white);
if (colour) {
for (int period = 2; period < 20 ; period ++)
{
mpz_set_ui(bangle.pre.bits, 1); bangle.pre.length = period;
mpz_set_ui(bangle.per.bits, 2); bangle.per.length = period;
m_binangle_to_rational(angle, &bangle);
//
complex double ray = m_d_exray_in_do(angle, sharpness, 8 * sharpness * period);
//
complex double mc = 0;
m_d_misiurewicz(&mc, ray, period, 1, 64);
m_d_misiurewicz_naive(&mc, mc, period, 1, 64);
//
complex double bc = 0, bz = 0;
m_d_interior(&bz, &bc, 0, 0, cexp(I * twopi / period), 1, 64);
//
//zoom around Misiurewicz point with period arms ( branches)
double r = m_d_domain_size(bc, period)/period;
//double r = cabs(mc - bc)*n; // radius is proportional to distnace between bc and mc
m_d_transform *transform = m_d_transform_rectangular(w, h, mc, r);
if (transform)
{
m_d_render_scanline(image, transform, er, maxiters, colour);
m_image_dirty(image);
cairo_move_to(cr, 24, 100);
char text[100];
snprintf(text, 100, "%d", period);
cairo_show_text(cr, text);
cairo_fill(cr);
m_image_flush(image);
char filename[100];
snprintf(filename, 100, "%06d.png", period);
m_image_save_png(image, filename);
printf("file %s saved \n", filename);
printf("wake 1/%d \n",period );
printf("radius of the image = r = %.16f \n",r);
printf("center of the image = principal Misiurerwicz point = mc = (%.16f ; %.16f ) \n",creal(mc), cimag(mc));
printf("center of the main hyperbolic component period %d = bc = (%.16f ; %.16f ) \n\n\n", period, creal(bc), cimag(bc));
m_d_transform_delete(transform);
}
}
m_d_colour_delete(colour);
}
m_image_delete(image);
}
// clear
m_binangle_clear(&bangle);
mpq_clear(angle);
return 0;
}
Text output
file 000002.png saved wake 1/2 radius of the image = r = 0.7500000000000000 center of the image = principal Misiurerwicz point = mc = (-1.5436890126920764 ; -0.0000000000000000 ) center of the main hyperbolic component period 2 = bc = (-0.7500000000000000 ; 0.0000000000000001 ) file 000004.png saved wake 1/4 radius of the image = r = 0.0569462487293833 center of the image = principal Misiurerwicz point = mc = (0.3663629834227643 ; 0.5915337732614452 ) center of the main hyperbolic component period 4 = bc = (0.2500000000000001 ; 0.5000000000000000 ) file 000008.png saved wake 1/8 radius of the image = r = 0.0033606308526732 center of the image = principal Misiurerwicz point = mc = (0.3721377054495765 ; 0.0903982331581729 ) center of the main hyperbolic component period 8 = bc = (0.3535533905932737 ; 0.1035533905932737 ) file 000016.png saved wake 1/16 radius of the image = r = 0.0002001216417729 center of the image = principal Misiurerwicz point = mc = (0.2860166666955662 ; 0.0115374014484412 ) center of the main hyperbolic component period 16 = bc = (0.2851630709590065 ; 0.0145650208859080 ) file 000032.png saved wake 1/32 radius of the image = r = 0.0000122885843482 center of the image = principal Misiurerwicz point = mc = (0.2593909660798803 ; 0.0014649763808582 ) center of the main hyperbolic component period 32 = bc = (0.2594227570737935 ; 0.0018743029167917 ) file 000064.png saved wake 1/64 radius of the image = r = 0.0000007642718076 center of the image = principal Misiurerwicz point = mc = (0.2523827846949037 ; 0.0001854063637009 ) center of the main hyperbolic component period 64 = bc = (0.2523960432352909 ; 0.0002359896607482 ) file 000128.png saved wake 1/128 radius of the image = r = 0.0000000477067980 center of the image = principal Misiurerwicz point = mc = (0.2505993087411748 ; 0.0000233507494192 ) center of the main hyperbolic component period 128 = bc = (0.2506015464345370 ; 0.0000295520813189 ) file 000256.png saved wake 1/256 radius of the image = r = 0.0000000029807298 center of the image = principal Misiurerwicz point = mc = (0.2501502296489224 ; 0.0000029308049747 ) center of the main hyperbolic component period 256 = bc = (0.2501505452968090 ; 0.0000036956796016 ) file 000512.png saved wake 1/512 radius of the image = r = 0.0000000001862808 center of the image = principal Misiurerwicz point = mc = (0.2500376045594941 ; 0.0000003671300391 ) center of the main hyperbolic component period 512 = bc = (0.2500376462455212 ; 0.0000004620121319 ) file 001024.png saved wake 1/1024 radius of the image = r = 0.0000000000116423 center of the image = principal Misiurerwicz point = mc = (0.2500094068319678 ; 0.0000000459409548 ) center of the main hyperbolic component period 1024 = bc = (0.2500094121815144 ; 0.0000000577531473 ) file 000002.png saved wake 1/2 radius of the image = r = 0.7500000000000000 center of the image = principal Misiurerwicz point = mc = (-1.5436890126920764 ; -0.0000000000000000 ) center of the main hyperbolic component period 2 = bc = (-0.7500000000000000 ; 0.0000000000000001 ) file 000003.png saved wake 1/3 radius of the image = r = 0.1770486025604997 center of the image = principal Misiurerwicz point = mc = (-0.1010963638456221 ; 0.9562865108091415 ) center of the main hyperbolic component period 3 = bc = (-0.1249999999999998 ; 0.6495190528383290 ) file 000004.png saved wake 1/4 radius of the image = r = 0.0569462487293833 center of the image = principal Misiurerwicz point = mc = (0.3663629834227643 ; 0.5915337732614452 ) center of the main hyperbolic component period 4 = bc = (0.2500000000000001 ; 0.5000000000000000 ) file 000005.png saved wake 1/5 radius of the image = r = 0.0230422064419645 center of the image = principal Misiurerwicz point = mc = (0.4379242413594628 ; 0.3418920843381161 ) center of the main hyperbolic component period 5 = bc = (0.3567627457812106 ; 0.3285819450744585 ) file 000006.png saved wake 1/6 radius of the image = r = 0.0109290100721151 center of the image = principal Misiurerwicz point = mc = (0.4245127190500396 ; 0.2075302281667453 ) center of the main hyperbolic component period 6 = bc = (0.3750000000000000 ; 0.2165063509461096 ) file 000007.png saved wake 1/7 radius of the image = r = 0.0058087844772808 center of the image = principal Misiurerwicz point = mc = (0.3973918222965412 ; 0.1335112048718776 ) center of the main hyperbolic component period 7 = bc = (0.3673751344184454 ; 0.1471837631885590 ) file 000008.png saved wake 1/8 radius of the image = r = 0.0033606308526732 center of the image = principal Misiurerwicz point = mc = (0.3721377054495765 ; 0.0903982331581729 ) center of the main hyperbolic component period 8 = bc = (0.3535533905932737 ; 0.1035533905932737 ) file 000009.png saved wake 1/9 radius of the image = r = 0.0020754429851783 center of the image = principal Misiurerwicz point = mc = (0.3514237590525219 ; 0.0638665598132929 ) center of the main hyperbolic component period 9 = bc = (0.3396101771427564 ; 0.0751918665902176 ) file 000010.png saved wake 1/10 radius of the image = r = 0.0013496899305295 center of the image = principal Misiurerwicz point = mc = (0.3349575066515285 ; 0.0467326660620270 ) center of the main hyperbolic component period 10 = bc = (0.3272542485937369 ; 0.0561284970724482 ) file 000011.png saved wake 1/11 radius of the image = r = 0.0009151924674070 center of the image = principal Misiurerwicz point = mc = (0.3219113968472209 ; 0.0352044632944523 ) center of the main hyperbolic component period 11 = bc = (0.3167730131651190 ; 0.0429124098891692 ) file 000012.png saved wake 1/12 radius of the image = r = 0.0006423407598102 center of the image = principal Misiurerwicz point = mc = (0.3115076602815077 ; 0.0271737195013418 ) center of the main hyperbolic component period 12 = bc = (0.3080127018922193 ; 0.0334936490538903 ) file 000013.png saved wake 1/13 radius of the image = r = 0.0004640554576151 center of the image = principal Misiurerwicz point = mc = (0.3031279799097190 ; 0.0214116280389652 ) center of the main hyperbolic component period 13 = bc = (0.3007118261438160 ; 0.0266156195484702 ) file 000014.png saved wake 1/14 radius of the image = r = 0.0003435897586265 center of the image = principal Misiurerwicz point = mc = (0.2963044753497587 ; 0.0171713797070624 ) center of the main hyperbolic component period 14 = bc = (0.2946119834865262 ; 0.0214839989417716 ) file 000015.png saved wake 1/15 radius of the image = r = 0.0002598259430496 center of the image = principal Misiurerwicz point = mc = (0.2906877524310409 ; 0.0139821471065571 ) center of the main hyperbolic component period 15 = bc = (0.2894900772315859 ; 0.0175821151685515 ) file 000016.png saved wake 1/16 radius of the image = r = 0.0002001216417729 center of the image = principal Misiurerwicz point = mc = (0.2860166666955662 ; 0.0115374014484412 ) center of the main hyperbolic component period 16 = bc = (0.2851630709590065 ; 0.0145650208859080 ) file 000017.png saved wake 1/17 radius of the image = r = 0.0001566364753538 center of the image = principal Misiurerwicz point = mc = (0.2820946782489538 ; 0.0096318615895698 ) center of the main hyperbolic component period 17 = bc = (0.2814838853970131 ; 0.0121969221819372 ) file 000018.png saved wake 1/18 radius of the image = r = 0.0001243561754269 center of the image = principal Misiurerwicz point = mc = (0.2787724591293833 ; 0.0081245796484104 ) center of the main hyperbolic component period 18 = bc = (0.2783351996132097 ; 0.0103131692411995 ) file 000019.png saved wake 1/19 radius of the image = r = 0.0000999859575730 center of the image = principal Misiurerwicz point = mc = (0.2759353624416824 ; 0.0069166138017372 ) center of the main hyperbolic component period 19 = bc = (0.2756234935012189 ; 0.0087965564299248 )
Bash and Image Magic source code
#!/bin/bash
# script file for BASH
# which bash
# save this file as g.sh
# chmod +x g.sh
# ./g.sh
# for all ppm files in this directory
for file in *.png ; do
# b is name of file without extension
b=$(basename $file .png)
# convert from png to gif and add text ( level ) using ImageMagic
convert $file $b ${b}.gif
echo $file
done
# convert gif files to animated gif
convert -resize 600x300 -delay 50 -loop 0 *.gif b.gif
echo OK
Elementos representados en este archivo
representa a
Algún valor sin elemento de Wikidata
12 nov 2016
image/gif
Historial del archivo
Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.
Fecha y hora | Miniatura | Dimensiones | Usuario | Comentario | |
---|---|---|---|---|---|
actual | 18:11 12 nov 2016 | 600 × 300 (1,92 MB) | Soul windsurfer | User created page with UploadWizard |
Usos del archivo
La siguiente página usa este archivo:
Uso global del archivo
Las wikis siguientes utilizan este archivo:
- Uso en en.wikipedia.org
- Uso en en.wikibooks.org