here’s sum light from turtle that i forgot to post on free friday 2/27

Written By :

Category :

Uncategorized

Posted On :

Share This :

here’s the code for this spirle thingey

its just sum light

here’s sumthing a lil better

it grows over time i forgot how to show u it dose that… heres the code

import turtle

import random

import time

import turtle

import math

import colorsys

# Setup screen

screen = turtle.Screen()

screen.bgcolor(“black”)

screen.setup(width=1000, height=1000)

screen.tracer(0)

t = turtle.Turtle()

t.hideturtle()

t.speed(0)

# Create turtle

burst = turtle.Turtle()

burst.speed(0)

burst.hideturtle()

def draw_ray(length, angle, color, width):

    burst.penup()

    burst.goto(0, 0)

    burst.setheading(angle)

    burst.pendown()

    burst.pensize(width)

    burst.pencolor(color)

    burst.forward(length)

def draw_polygon(x, y, sides, size, rot, color_idx):

    “””Draw a rotated polygon at given position”””

    t.penup()

    t.goto(x, y)

    t.setheading(rot)

    t.pendown()

    t.color(color[color_idx % 360])

    t.pensize(2)

    for _ in range(sides):

        t.forward(size)

        t.left(360 / sides)

    t.penup()

# Generate streaks

streaks = []

num_streaks = 220

angle_step = 360 / num_streaks

for i in range(num_streaks):

    base_angle = i * angle_step

    angle = base_angle + random.uniform(-0.8, 0.8)

    color = “#FFFFFF”

    length = random.uniform(80, 140)

    width = random.uniform(1.4, 2.2)

    growth = random.uniform(2.0, 4.0)  # slower growth

    streaks.append([length, angle, color, width, growth])

# Animation loop

frames = 150

for frame in range(frames):

    burst.clear()

    for streak in streaks:

        length, angle, color, width, growth = streak

        # Inner thin segment

        burst.penup()

        burst.goto(0, 0)

        burst.setheading(angle)

        burst.pendown()

        burst.pensize(max(1.0, width * 0.7))

        burst.pencolor(color)

        inner_len = min(55, length * 0.45)

        burst.forward(inner_len)

        # Outer thicker segment

        burst.pensize(width)

        burst.forward(max(0, length – inner_len))

        # Slower growth

        streak[0] += growth

    screen.update()

    time.sleep(0.08)  # slower frame rate

turtle.done()