144 lines
5.9 KiB
Python
144 lines
5.9 KiB
Python
import math
|
|
import numpy as np
|
|
from PIL import Image, ImageDraw, ImageFilter
|
|
|
|
SIZE = 1024
|
|
CENTER = SIZE / 2.0
|
|
|
|
# 1. Background: Deep mystical midnight obsidian space
|
|
bg = Image.new('RGBA', (SIZE, SIZE), (3, 5, 15, 255))
|
|
bdraw = ImageDraw.Draw(bg)
|
|
|
|
# Subtle star dust
|
|
np.random.seed(999)
|
|
for _ in range(450):
|
|
x = np.random.randint(0, SIZE)
|
|
y = np.random.randint(0, SIZE)
|
|
br = np.random.randint(140, 255)
|
|
sz = np.random.choice([1, 1, 2, 2, 3], p=[0.65, 0.25, 0.07, 0.02, 0.01])
|
|
bdraw.ellipse([x, y, x + sz, y + sz], fill=(br, br, 255, int(br * 0.9)))
|
|
|
|
# Cosmic radial depth
|
|
neb = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0))
|
|
ndraw = ImageDraw.Draw(neb)
|
|
ndraw.ellipse([180, 150, 840, 810], fill=(22, 18, 48, 90))
|
|
ndraw.ellipse([260, 260, 760, 760], fill=(45, 30, 20, 70))
|
|
neb = neb.filter(ImageFilter.GaussianBlur(90))
|
|
bg = Image.alpha_composite(bg, neb)
|
|
|
|
# 2. EXACT 13-POINTED STAR (ТРИДЕКАГРАММА) - УТОНЧЕННЫЕ ЗОЛОТЫЕ ЛИНИИ
|
|
N_POINTS = 13
|
|
R_TIP = SIZE * 0.465
|
|
R_INNER = SIZE * 0.295
|
|
R_MEDALLION = SIZE * 0.27
|
|
R_CORE = SIZE * 0.095
|
|
|
|
start_angle = -math.pi / 2.0 # Верхний луч ровно на 12 часов
|
|
|
|
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)
|
|
|
|
# Semi-translucent dark smoked backing for rays so lines pop
|
|
for i in range(N_POINTS):
|
|
p_tip = tips[i]
|
|
p_val_left = valleys[(i - 1) % N_POINTS]
|
|
p_val_right = valleys[i]
|
|
sdraw.polygon([CENTER, CENTER, p_val_left[0], p_val_left[1], p_tip[0], p_tip[1]], fill=(25, 20, 12, 140))
|
|
sdraw.polygon([CENTER, CENTER, p_tip[0], p_tip[1], p_val_right[0], p_val_right[1]], fill=(38, 30, 15, 170))
|
|
|
|
# Sacred geometry inner chords connecting the 13 star points (fine gold filigree)
|
|
for i in range(N_POINTS):
|
|
# Connect tip to 4th neighbor (classic tridecagram chord {13/4})
|
|
p1 = tips[i]
|
|
p2 = tips[(i + 4) % N_POINTS]
|
|
sdraw.line([p1[0], p1[1], p2[0], p2[1]], fill=(255, 225, 130, 45), width=1)
|
|
|
|
# Fine golden contour lines with glow
|
|
GOLD_BRIGHT = (255, 248, 190, 255)
|
|
GOLD_MAIN = (255, 215, 90, 240)
|
|
GOLD_AURA = (218, 165, 32, 120)
|
|
|
|
for i in range(N_POINTS):
|
|
p_tip = tips[i]
|
|
p_val_left = valleys[(i - 1) % N_POINTS]
|
|
p_val_right = valleys[i]
|
|
|
|
# Outer ray contour lines
|
|
sdraw.line([p_val_left[0], p_val_left[1], p_tip[0], p_tip[1]], fill=GOLD_MAIN, width=2)
|
|
sdraw.line([p_tip[0], p_tip[1], p_val_right[0], p_val_right[1]], fill=GOLD_MAIN, width=2)
|
|
|
|
# Delicate center ridge line to tip
|
|
sdraw.line([CENTER, CENTER, p_tip[0], p_tip[1]], fill=GOLD_BRIGHT, width=2)
|
|
|
|
# 3. Inner Medallion (тонкие концентрические золотые кольца)
|
|
med_layer = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0))
|
|
mdraw = ImageDraw.Draw(med_layer)
|
|
|
|
# Dark obsidian core
|
|
mdraw.ellipse([CENTER - R_MEDALLION, CENTER - R_MEDALLION, CENTER + R_MEDALLION, CENTER + R_MEDALLION], fill=(8, 9, 20, 245))
|
|
|
|
# Fine concentric golden rings
|
|
mdraw.ellipse([CENTER - R_MEDALLION, CENTER - R_MEDALLION, CENTER + R_MEDALLION, CENTER + R_MEDALLION], outline=GOLD_MAIN, width=3)
|
|
mdraw.ellipse([CENTER - R_MEDALLION + 5, CENTER - R_MEDALLION + 5, CENTER + R_MEDALLION - 5, CENTER + R_MEDALLION - 5], outline=GOLD_BRIGHT, width=1)
|
|
mdraw.ellipse([CENTER - R_MEDALLION + 10, CENTER - R_MEDALLION + 10, CENTER + R_MEDALLION - 10, CENTER + R_MEDALLION - 10], outline=(255, 200, 70, 90), width=1)
|
|
|
|
# 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=(4, 6, 16, 255), outline=GOLD_BRIGHT, width=3)
|
|
mdraw.ellipse([CENTER - R_CORE + 4, CENTER - R_CORE + 4, CENTER + R_CORE - 4, CENTER + R_CORE - 4], outline=GOLD_MAIN, width=1)
|
|
|
|
# 3 delicate spiral tails of 9s peeling off tangentially
|
|
for k in range(3):
|
|
rot = start_angle + k * (2.0 * math.pi / 3.0)
|
|
blade_pts = []
|
|
steps = 60
|
|
for s in range(steps + 1):
|
|
t = s / float(steps)
|
|
# Radius expands gracefully
|
|
cr = R_CORE + t * (R_MEDALLION - R_CORE - 14)
|
|
# Angle sweeps around like Chrome pinwheel
|
|
ca = rot + t * 1.38
|
|
|
|
bx = CENTER + cr * math.cos(ca)
|
|
by = CENTER + cr * math.sin(ca)
|
|
blade_pts.append((bx, by))
|
|
|
|
# Draw glowing golden multi-pass line
|
|
# Outer subtle aura
|
|
for idx in range(len(blade_pts) - 1):
|
|
mdraw.line([blade_pts[idx], blade_pts[idx+1]], fill=(255, 200, 50, 70), width=7)
|
|
# Mid gold line
|
|
for idx in range(len(blade_pts) - 1):
|
|
mdraw.line([blade_pts[idx], blade_pts[idx+1]], fill=GOLD_MAIN, width=3)
|
|
# Core luminous white-gold photon filament
|
|
for idx in range(len(blade_pts) - 1):
|
|
mdraw.line([blade_pts[idx], blade_pts[idx+1]], fill=GOLD_BRIGHT, width=1)
|
|
|
|
# Accentuate the outer tip of each nine with a radiant spark
|
|
tip_pt = blade_pts[-1]
|
|
mdraw.ellipse([tip_pt[0]-4, tip_pt[1]-4, tip_pt[0]+4, tip_pt[1]+4], fill=GOLD_BRIGHT)
|
|
|
|
# Center brilliant photon spark in the core
|
|
mdraw.ellipse([CENTER - 3, CENTER - 3, CENTER + 3, CENTER + 3], fill=(255, 255, 255, 240))
|
|
|
|
# 5. Composite and add optical bloom
|
|
comp = Image.alpha_composite(bg, star_layer)
|
|
comp = Image.alpha_composite(comp, med_layer)
|
|
|
|
# Soft optical golden bloom
|
|
bloom = comp.filter(ImageFilter.GaussianBlur(10))
|
|
final_img = Image.blend(comp, bloom, 0.26)
|
|
|
|
out_file = '/home/alexives/.gemini/antigravity-ide/brain/4ff924d9-3d7f-4202-9066-3ac5c3088b8e/star_exact_13_fine_gold_light.png'
|
|
final_img.save(out_file, 'PNG')
|
|
print("Successfully rendered FINE GOLD 13-pointed star to", out_file)
|