# fractal images ################################################################################ import fractal pixels = fractal.mandelbrot(448, 256) print(pixels) import bmp bmp.write_grayscale('mandel.bmp', pixels) ################################################################################
import fractal pixels = fractal.mandelbrot(448, 256) import reprlib print(reprlib.repr(pixels)) import bmp bmp.write_grayscale("mandel.bmp", pixels) print(bmp.dimensions("mandel.bmp")) # (448, 256)
def main(): """ Test whether points immediately above and below the point (0.5, 0.5) lie above, on, or below the line through (12.0, 12.0) and (24.0, 24.0). """ px = 0.5 pys = [0.49999999999999, 0.49999999999999006, 0.4999999999999901, 0.4999999999999902, 0.49999999999999023, 0.4999999999999903, 0.49999999999999034, 0.4999999999999904, 0.49999999999999045, 0.4999999999999905, 0.49999999999999056, 0.4999999999999906, 0.4999999999999907, 0.49999999999999073, 0.4999999999999908, 0.49999999999999084, 0.4999999999999909, 0.49999999999999095, 0.499999999999991, 0.49999999999999106, 0.4999999999999911, 0.4999999999999912, 0.49999999999999123, 0.4999999999999913, 0.49999999999999134, 0.4999999999999914, 0.49999999999999145, 0.4999999999999915, 0.49999999999999156, 0.4999999999999916, 0.4999999999999917, 0.49999999999999173, 0.4999999999999918, 0.49999999999999184, 0.4999999999999919, 0.49999999999999195, 0.499999999999992, 0.49999999999999206, 0.4999999999999921, 0.4999999999999922, 0.49999999999999223, 0.4999999999999923, 0.49999999999999234, 0.4999999999999924, 0.49999999999999245, 0.4999999999999925, 0.49999999999999256, 0.4999999999999926, 0.4999999999999927, 0.49999999999999273, 0.4999999999999928, 0.49999999999999284, 0.4999999999999929, 0.49999999999999295, 0.499999999999993, 0.49999999999999306, 0.4999999999999931, 0.49999999999999317, 0.4999999999999932, 0.4999999999999933, 0.49999999999999334, 0.4999999999999934, 0.49999999999999345, 0.4999999999999935, 0.49999999999999356, 0.4999999999999936, 0.49999999999999367, 0.4999999999999937, 0.4999999999999938, 0.49999999999999384, 0.4999999999999939, 0.49999999999999395, 0.499999999999994, 0.49999999999999406, 0.4999999999999941, 0.49999999999999417, 0.4999999999999942, 0.4999999999999943, 0.49999999999999434, 0.4999999999999944, 0.49999999999999445, 0.4999999999999945, 0.49999999999999456, 0.4999999999999946, 0.49999999999999467, 0.4999999999999947, 0.4999999999999948, 0.49999999999999484, 0.4999999999999949, 0.49999999999999495, 0.499999999999995, 0.49999999999999506, 0.4999999999999951, 0.49999999999999517, 0.4999999999999952, 0.4999999999999953, 0.49999999999999534, 0.4999999999999954, 0.49999999999999545, 0.4999999999999955, 0.49999999999999556, 0.4999999999999956, 0.49999999999999567, 0.4999999999999957, 0.4999999999999958, 0.49999999999999584, 0.4999999999999959, 0.49999999999999595, 0.499999999999996, 0.49999999999999606, 0.4999999999999961, 0.49999999999999617, 0.4999999999999962, 0.4999999999999963, 0.49999999999999634, 0.4999999999999964, 0.49999999999999645, 0.4999999999999965, 0.49999999999999656, 0.4999999999999966, 0.49999999999999667, 0.4999999999999967, 0.4999999999999968, 0.49999999999999684, 0.4999999999999969, 0.49999999999999695, 0.499999999999997, 0.49999999999999706, 0.4999999999999971, 0.49999999999999717, 0.4999999999999972, 0.4999999999999973, 0.49999999999999734, 0.4999999999999974, 0.49999999999999745, 0.4999999999999975, 0.49999999999999756, 0.4999999999999976, 0.49999999999999767, 0.4999999999999977, 0.4999999999999978, 0.49999999999999784, 0.4999999999999979, 0.49999999999999795, 0.499999999999998, 0.49999999999999806, 0.4999999999999981, 0.49999999999999817, 0.4999999999999982, 0.4999999999999983, 0.49999999999999833, 0.4999999999999984, 0.49999999999999845, 0.4999999999999985, 0.49999999999999856, 0.4999999999999986, 0.49999999999999867, 0.4999999999999987, 0.4999999999999988, 0.49999999999999883, 0.4999999999999989, 0.49999999999999895, 0.499999999999999, 0.49999999999999906, 0.4999999999999991, 0.49999999999999917, 0.4999999999999992, 0.4999999999999993, 0.49999999999999933, 0.4999999999999994, 0.49999999999999944, 0.4999999999999995, 0.49999999999999956, 0.4999999999999996, 0.49999999999999967, 0.4999999999999997, 0.4999999999999998, 0.49999999999999983, 0.4999999999999999, 0.49999999999999994, # The previous representable float less than 0.5 0.5, 0.5000000000000001, # The next representable float greater than 0.5 0.5000000000000002, 0.5000000000000003, 0.5000000000000004, 0.5000000000000006, 0.5000000000000007, 0.5000000000000008, 0.5000000000000009, 0.500000000000001, 0.5000000000000011, 0.5000000000000012, 0.5000000000000013, 0.5000000000000014, 0.5000000000000016, 0.5000000000000017, 0.5000000000000018, 0.5000000000000019, 0.500000000000002, 0.5000000000000021, 0.5000000000000022, 0.5000000000000023, 0.5000000000000024, 0.5000000000000026, 0.5000000000000027, 0.5000000000000028, 0.5000000000000029, 0.500000000000003, 0.5000000000000031, 0.5000000000000032, 0.5000000000000033, 0.5000000000000034, 0.5000000000000036, 0.5000000000000037, 0.5000000000000038, 0.5000000000000039, 0.500000000000004, 0.5000000000000041, 0.5000000000000042, 0.5000000000000043, 0.5000000000000044, 0.5000000000000046, 0.5000000000000047, 0.5000000000000048, 0.5000000000000049, 0.500000000000005, 0.5000000000000051, 0.5000000000000052, 0.5000000000000053, 0.5000000000000054, 0.5000000000000056, 0.5000000000000057, 0.5000000000000058, 0.5000000000000059, 0.500000000000006, 0.5000000000000061, 0.5000000000000062, 0.5000000000000063, 0.5000000000000064, 0.5000000000000066, 0.5000000000000067, 0.5000000000000068, 0.5000000000000069, 0.500000000000007, 0.5000000000000071, 0.5000000000000072, 0.5000000000000073, 0.5000000000000074, 0.5000000000000075, 0.5000000000000077, 0.5000000000000078, 0.5000000000000079, 0.500000000000008, 0.5000000000000081, 0.5000000000000082, 0.5000000000000083, 0.5000000000000084, 0.5000000000000085, 0.5000000000000087, 0.5000000000000088, 0.5000000000000089, 0.500000000000009, 0.5000000000000091, 0.5000000000000092, 0.5000000000000093, 0.5000000000000094, 0.5000000000000095, 0.5000000000000097, 0.5000000000000098, 0.5000000000000099, 0.50000000000001] q = (12.0, 12.0) r = (24.0, 24.0) color = {-1: 0, 0: 127, +1:255} pixels = [[color[orientation((px, py), q, r)] for px in pys] for py in reversed(pys)] bmp.write_grayscale('above_below_rational.bmp', pixels)
import bmp import fractal pixels = fractal.mandelbrot(448, 256) bmp.write_grayscale('../../tmp/mandel.bmp', pixels)