Upload files to "/"

This commit is contained in:
Martin Dvořák 2026-04-28 23:37:16 +02:00
commit 92dbdefd2f
4 changed files with 818 additions and 0 deletions

60
chatgptjob.py Normal file
View file

@ -0,0 +1,60 @@
import pygame, colorsys
import numpy as np
from numba import jit
# Set the width and height of the window
width, height = 1100, 800
# Define the region of the complex plane to visualize
xmin, xmax = -2, 1
ymin, ymax = -1, 1
# Set the maximum number of iterations for the Mandelbrot calculation
max_iterations = 100
# Initialize Pygame
pygame.init()
# Create a window
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Mandelbrot Set")
@jit(nopython=True)
def mandelbrot(c):
z = 0
for i in range(max_iterations):
z = z**2 + c
if abs(z) > 2:
return i
return max_iterations
# Function to convert iterations to a smooth gradient in the HSV color space
def smooth_color(iterations):
if iterations == max_iterations:
return 0, 0, 0 # Black for points in the set
hue = 0.7 + iterations / max_iterations
saturation = 1.0
value = iterations / max_iterations
return [int(c * 255) for c in colorsys.hsv_to_rgb(hue, saturation, value)]
# Function to update the display
def update_display():
for x in range(width):
for y in range(height):
c = complex(xmin + (x / width) * (xmax - xmin), ymin + (y / height) * (ymax - ymin))
iterations = mandelbrot(c)
color = smooth_color(iterations)
screen.set_at((x, y), color)
pygame.display.flip()
# Run the Pygame event loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
update_display()
# Quit Pygame
pygame.quit()