import math from PIL import Image, ImageDraw, ImageFilter SIZE = 1024 CENTER = SIZE / 2.0 # 1. Background: Deep mystical space bg = Image.new('RGBA', (SIZE, SIZE), (3, 5, 16, 255)) bdraw = ImageDraw.Draw(bg) # Starfield import random random.seed(1337) for _ in range(400): x = random.randint(0, SIZE) y = random.randint(0, SIZE) b = random.randint(140, 255) r = random.choice([1, 1, 2, 2, 3]) bdraw.ellipse([x, y, x + r, y + r], fill=(b, b, 255, b)) # Soft cosmic nebulae neb = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0)) ndraw = ImageDraw.Draw(neb) ndraw.ellipse([150, 120, 880, 850], fill=(15, 60, 130, 85)) ndraw.ellipse([250, 250, 780, 780], fill=(70, 25, 120, 60)) neb = neb.filter(ImageFilter.GaussianBlur(90)) bg = Image.alpha_composite(bg, neb) # 2. STRICT 13-POINTED STAR GEOMETRY (ТРИДЕКАГРАММА) N_POINTS = 13 R_TIP = SIZE * 0.46 R_INNER = SIZE * 0.285 R_MEDALLION = SIZE * 0.265 R_CORE = SIZE * 0.095 start_angle = -math.pi / 2.0 # 12 o'clock (верхний луч строго вверх) tips = [] valleys = [] for i in range(N_POINTS): ang_tip = start_angle + i * (2.0 * math.pi / N_POINTS) ang_val = ang_tip + (math.pi / N_POINTS) tips.append((CENTER + R_TIP * math.cos(ang_tip), CENTER + R_TIP * math.sin(ang_tip))) valleys.append((CENTER + R_INNER * math.cos(ang_val), CENTER + R_INNER * math.sin(ang_val))) star_layer = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0)) sdraw = ImageDraw.Draw(star_layer) # Draw 13 volumetric faceted crystal rays in cyan-platinum starlight for i in range(N_POINTS): p_tip = tips[i] p_val_left = valleys[(i - 1) % N_POINTS] p_val_right = valleys[i] # Left facet (deep crystalline cyan) sdraw.polygon([CENTER, CENTER, p_val_left[0], p_val_left[1], p_tip[0], p_tip[1]], fill=(30, 120, 210, 220)) # Right facet (bright electric platinum) sdraw.polygon([CENTER, CENTER, p_tip[0], p_tip[1], p_val_right[0], p_val_right[1]], fill=(160, 235, 255, 245)) # Ridge highlight sdraw.line([CENTER, CENTER, p_tip[0], p_tip[1]], fill=(255, 255, 255, 255), width=3) # Edge rim sdraw.line([p_val_left[0], p_val_left[1], p_tip[0], p_tip[1]], fill=(220, 250, 255, 220), width=2) sdraw.line([p_tip[0], p_tip[1], p_val_right[0], p_val_right[1]], fill=(220, 250, 255, 220), width=2) # Outer glow aura around star tips aura = star_layer.filter(ImageFilter.GaussianBlur(16)) bg = Image.alpha_composite(bg, aura) bg = Image.alpha_composite(bg, star_layer) # 3. Inner Circular Medallion (Obsidian deep space mirror) med_layer = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0)) mdraw = ImageDraw.Draw(med_layer) mdraw.ellipse([CENTER - R_MEDALLION, CENTER - R_MEDALLION, CENTER + R_MEDALLION, CENTER + R_MEDALLION], fill=(6, 10, 26, 250), outline=(130, 240, 255, 255), width=7) mdraw.ellipse([CENTER - R_MEDALLION + 7, CENTER - R_MEDALLION + 7, CENTER + R_MEDALLION - 7, CENTER + R_MEDALLION - 7], outline=(40, 130, 220, 180), width=2) # 4. CHROME TRISKELION IN THE CENTER (3 nines sharing 1 center circle) # Single central circle: mdraw.ellipse([CENTER - R_CORE, CENTER - R_CORE, CENTER + R_CORE, CENTER + R_CORE], fill=(3, 6, 18, 255), outline=(255, 255, 255, 255), width=6) mdraw.ellipse([CENTER - R_CORE + 4, CENTER - R_CORE + 4, CENTER + R_CORE - 4, CENTER + R_CORE - 4], outline=(70, 210, 255, 220), width=3) # 3 Chrome pinwheel curved blades for k in range(3): rot = start_angle + k * (2.0 * math.pi / 3.0) blade_outer = [] blade_inner = [] steps = 45 for s in range(steps + 1): t = s / float(steps) cr = R_CORE + t * (R_MEDALLION - R_CORE - 10) ca = rot + t * 1.35 bx = CENTER + cr * math.cos(ca) by = CENTER + cr * math.sin(ca) blade_outer.append((bx, by)) thickness = (1.0 - t * 0.8) * 22 inner_r = max(R_CORE, cr - thickness) ix = CENTER + inner_r * math.cos(ca + 0.08) iy = CENTER + inner_r * math.sin(ca + 0.08) blade_inner.append((ix, iy)) blade_poly = blade_outer + blade_inner[::-1] mdraw.polygon(blade_poly, fill=(50, 185, 255, 220)) for p in range(len(blade_outer) - 1): mdraw.line([blade_outer[p], blade_outer[p+1]], fill=(255, 255, 255, 255), width=3) # Also create the Warm Solar Starlight version # Composite layers comp = Image.alpha_composite(bg, med_layer) bloom = comp.filter(ImageFilter.GaussianBlur(10)) final_cyan = Image.blend(comp, bloom, 0.22) out_cyan = '/home/alexives/.gemini/antigravity-ide/brain/4ff924d9-3d7f-4202-9066-3ac5c3088b8e/star_exact_13_cyan_light.png' final_cyan.save(out_cyan, 'PNG') # Create White Diamond Starlight version: import numpy as np arr = np.array(final_cyan, dtype=np.float32) r, g, b, a = arr[:, :, 0], arr[:, :, 1], arr[:, :, 2], arr[:, :, 3] lum = 0.299 * r + 0.587 * g + 0.114 * b is_fg = lum > 35 # Map to pure radiant white-platinum with subtle warm champagne highlight r_w = np.where(is_fg, np.clip(lum * 1.15 + 15, 0, 255), r) g_w = np.where(is_fg, np.clip(lum * 1.12 + 10, 0, 255), g) b_w = np.where(is_fg, np.clip(lum * 1.18 + 25, 0, 255), b) out_w = np.stack([r_w, g_w, b_w, a], axis=-1).astype(np.uint8) img_white = Image.fromarray(out_w) out_white = '/home/alexives/.gemini/antigravity-ide/brain/4ff924d9-3d7f-4202-9066-3ac5c3088b8e/star_exact_13_diamond_white.png' img_white.save(out_white, 'PNG') print("Generated exactly 13-pointed star (cyan and diamond white)")