Friday, 2 October 2026

๐ŸŒ€ Python Turtle The Twisted Rainbow Illusion

 



Code:

import turtle import math import time screen = turtle.Screen() screen.setup(700, 700) screen.bgcolor("#000000") t = turtle.Turtle() t.hideturtle() t.speed(0) t.width(1) colors = [ "#ff1744", "#ffea00", "#00ff9d", "#00e5ff", "#2979ff", "#d500f9" ] # Draw many twisted ellipses for i in range(75): t.color(colors[i % len(colors)]) points = 120 phase = i * 0.055 for j in range(points + 1): a = math.radians(j * 360 / points) # Twisted oval x = 260 * math.cos(a) y = 125 * math.sin(a + phase) # Slight rotation rot = math.radians(i * 2.2) X = x * math.cos(rot) - y * math.sin(rot) Y = x * math.sin(rot) + y * math.cos(rot) if j == 0: t.penup() t.goto(X, Y) t.pendown() else: t.goto(X, Y) screen.update() time.sleep(0.035) # Dark center t.penup() t.goto(0, -55) t.dot(105, "#000000") screen.update() time.sleep(1) turtle.done()





















Explanation:

1. Import Libraries
import turtle
import math
import time
turtle → Used for drawing.
math → Used for trigonometric calculations.
time → Controls animation speed.

2. Create the Screen
screen = turtle.Screen()
screen.setup(700, 700)
screen.bgcolor("#000000")
Creates a 700 × 700 canvas.
Sets a black background.

3. Configure the Turtle
t = turtle.Turtle()
t.hideturtle()
t.speed(0)
t.width(1)
Creates the turtle.
Hides the cursor.
Sets maximum drawing speed.
Uses a thin line.

4. Define Neon Colors
colors = [
    "#ff1744", "#ffea00",
    "#00ff9d", "#00e5ff",
    "#2979ff", "#d500f9"
]
Stores six bright neon colors.
Colors are reused for different ellipses.

5. Create Multiple Ellipses
for i in range(75):
Creates 75 twisted ellipse layers.

6. Select the Color
t.color(colors[i % len(colors)])
Cycles through the neon colors.
Each ellipse gets a different color.

7. Set Curve Parameters
points = 120
phase = i * 0.055
Uses 120 points for a smooth ellipse.
phase changes the shape of every layer slightly.

8. Generate Ellipse Points
for j in range(points + 1):
Loops through all points of the ellipse.
+1 helps close the curve.

9. Calculate the Angle
a = math.radians(j * 360 / points)
Divides the full 360° circle into 120 sections.
Converts the angle to radians.

10. Calculate the Oval Coordinates
x = 260 * math.cos(a)
y = 125 * math.sin(a + phase)
Calculates the X coordinate using cosine.
Calculates the Y coordinate using sine.
Different X/Y sizes create an oval.
phase creates the twisting effect.

11. Calculate Rotation
rot = math.radians(i * 2.2)
Rotates each ellipse slightly.
Every new layer gets an additional 2.2° rotation.
12. Rotate the X Coordinate
X = x * math.cos(rot) - y * math.sin(rot)
Applies a rotation transformation to the X position.

13. Rotate the Y Coordinate
Y = x * math.sin(rot) + y * math.cos(rot)
Applies the same rotation to the Y position.
Together, X and Y create the rotated ellipse.

14. Start Drawing the Ellipse
if j == 0:
    t.penup()
    t.goto(X, Y)
    t.pendown()
Moves to the first point without drawing.
Starts drawing from that point.

15. Connect the Points
else:
    t.goto(X, Y)
Connects all calculated points.
Forms the smooth twisted ellipse.

16. Animate Each Layer
screen.update()
time.sleep(0.035)
Updates the screen.
Adds a short delay between layers.

17. Create the Dark Center
t.penup()
t.goto(0, -55)
t.dot(105, "#000000")
Moves to the center.
Draws a large black circle.
Creates a dark central hole.

18. Display the Final Design
screen.update()
time.sleep(1)
Updates the final frame.
Keeps the design visible for one second.

19. Finish
turtle.done()
Keeps the Turtle window open.
Ends the program.


๐Ÿ Python Pattern Challenge — Day 18

 

๐Ÿ Python Pattern Challenge — Day 18

Pattern printing is a great way to improve your Python loops, spacing, repetition, and logical thinking. For Day 18, let's create a simple Star Hourglass Pattern ⭐.

This pattern starts with a wide row of stars, gradually becomes smaller toward the center, and then expands again. It is a good exercise for understanding increasing and decreasing loops.

Today's Challenge

Write a Python program to print:


Best and cleanest code will be rewarded! ๐Ÿ†


Solution 1 — Using Nested for Loops

n = 5 for i in range(n, 0, -1): print(" " * (n - i), end="") for j in range(2 * i - 1): print("*", end=" ") print() for i in range(2, n + 1): print(" " * (n - i), end="") for j in range(2 * i - 1): print("*", end=" ") print()








How it works

The first loop creates the decreasing part:

* * * * * * * * * * * * * * * * * * * * * * * * *




The second loop creates the increasing part:



      * * * * * * * * * * * * * * * * * * * * * * * *




The expression:

2 * i - 1

controls the number of stars in each row.


Solution 2 — Using String Multiplication

n = 5 for i in range(n, 0, -1): print(" " * (n - i) + "* " * (2 * i - 1)) for i in range(2, n + 1): print(" " * (n - i) + "* " * (2 * i - 1)) This version is shorter because Python can repeat a string using *. For example: "* " * 5 produces: * * * * *







Solution 3 — Using a Single Loop

n = 5 for i in list(range(n, 0, -1)) + list(range(2, n + 1)): print(" " * (n - i) + "* " * (2 * i - 1))




How it works

The sequence:

5, 4, 3, 2, 1, 2, 3, 4, 5




controls the complete hourglass.

When the value decreases, the pattern shrinks.

When it increases again, the pattern expands.


⚡ Short & Clean Code

for i in [5, 4, 3, 2, 1, 2, 3, 4, 5]: print(" " * (5-i) + "* " * (2*i-1))



๐Ÿ”ฅ A single loop is enough to create the complete pattern.


๐Ÿš€ Challenge Yourself

Can you modify this pattern:

  • Take n from the user using input()?
  • Create the same pattern using a while loop?
  • Make the hourglass larger?
  • Replace * with another symbol?
  • Create a hollow hourglass?
  • Generate the sequence without manually writing [5, 4, 3, ...]?

Drop your solution below! ๐Ÿ‘‡

18 Days. 18 Patterns. Stronger Python Logic. ๐Ÿ๐Ÿ”ฅ

Learn • Practice • Grow with CLCODING ๐Ÿš€


Books: PYTHON INTERVIEW QUESTIONS AND ANSWERS

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (346) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (31) Azure (12) BI (10) book (1) Books (359) Bootcamp (15) C (78) C# (12) C++ (83) cloud (1) Course (93) Coursera (305) Cybersecurity (36) data (10) Data Analysis (47) Data Analytics (31) data management (16) Data Science (435) Data Strucures (19) Deep Learning (222) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (9) Excel (24) Finance (13) flask (4) flutter (1) FPL (17) Generative AI (78) Git (13) Google (55) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (43) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (407) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (16) PHP (20) Projects (35) Python (1377) Python Coding Challenge (1263) Python Library (16) Python Mathematics (19) Python Mistakes (51) Python Pattern Challenge (16) Python Quiz (647) Python Tips (112) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (21) SQL (55) Udemy (22) UX Research (1) web application (11) Web development (9) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)