Graphic problem
Donats dos nombres complexos i , sigui . Donat un complex , considereu la seqüència infinita Per definició, el conjunt de Mandelbrot està compost pels valors de tals que la seva seqüència infinita està afitada en valor absolut. Per exemple, amb obtenim , la qual està afitada. En canvi, amb obtenim , la qual tendeix a infinit. Per tant, pertany al conjunt però 1 no.
Sigui , i sigui . En general, donat un , no és senzill determinar si pertany al conjunt. Però se sap que cap tal que hi pertany. Així que aquí usarem una aproximació molt usual: Per a cada punt en qüestió, anirem comprovant que , que , que , com a molt vegades. Si, en algun moment, la condició no es compleix, sabrem segur que el nombre no pertany al conjunt. Altrament, si la condició es compleix vegades, suposarem que sí que hi pertany. Com mes gran sigui , menys errors cometrà el programa, però a canvi més temps trigarà.
Feu un programa que dibuixi una zona del conjunt de Mandelbrot amb dos colors: un per als punts de dins del conjunt i l’altre per als de fora del conjunt.
L’entrada consisteix en dos noms de colors i , seguits de sis enters , , , , , i . Suposeu , , , i .
Genereu una imatge . El paràmetre indica l’escalat de la imatge: Les a considerar són , i , i de forma similar amb les . (Com a mostra, el primer exemple d’entrada té les entre i , i les entre i , ambdues dimensions amb increments de .) Per a cada punt , comenceu en . Si es compleix la condició mencionada anteriorment vegades, llavors cal pintar el punt de color ; altrament de color .
Recordeu que .
Recordeu que .
Els càlculs per fer aquest dibuixos són costosos. Per això els paràmetres dels jocs de proves són moderadament grossos. Proveu d’executar el vostre programa amb més punts de resolució i una més grossa per obtenir imatges més precises.
Input
Blue Orange -150 70 -100 100 100 160
Output
(221×201)
Input
Magenta Cyan -1200 -800 180 320 1000 100
Output
(401×141)
Input
Red Beige -250 200 -300 300 100 2
Output
(451×601)
Input
DeepPink Yellow 100 400 -700 -400 1000 60
Output
(301×301)