feat: complete academic symbol lexicon heal, 2-column Cooper extraction, and updated assets
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user