Spiral Art

The basic idea behind a spiral is to parametrize like this.......

x=rcosθy=rsinθx = r \cos \theta \\ y = r \sin \theta

....and then gradually decrease the radius as the angle increases. To make things more interesting, you can put sinusoidal variation in the radius too, with different harmonics thrown in to create different effects. The harmonics are added so that their magnitudes are inversely proportional to their frequency, relative to the base frequency. For example, a sinusoidal term with a frequency three times that of the base term has a magnitude one third that of the base term.

I have posted two spirals: one with even harmonics and one with odd harmonics. The code to generate these is also attached. Click the images to enlarge them.

import math

r = 20.0
theta = 0.0

dr = 0.005
dtheta = 2.0*math.pi/400.0

choose = 0

while theta <= 20.0*math.pi:

    if choose == 0:

        # Even harmonic spiral 
        x = r*(1.0 + 0.2*math.sin(20.0*theta) + 0.1*math.sin(40.0*theta) + 0.05*math.sin(80.0*theta))*math.cos(theta)
        y = r*(1.0 + 0.2*math.sin(20.0*theta) + 0.1*math.sin(40.0*theta) + 0.05*math.sin(80.0*theta))*math.sin(theta)

    if choose == 1:

        # Odd harmonic spiral
        x = r*(1.0 + 0.2*math.sin(20.0*theta) + 0.0667*math.sin(60.0*theta) + 0.04*math.sin(100.0*theta))*math.cos(theta)
        y = r*(1.0 + 0.2*math.sin(20.0*theta) + 0.0667*math.sin(60.0*theta) + 0.04*math.sin(100.0*theta))*math.sin(theta)

    print x,y

    r = r - dr
    theta = theta + dtheta

Note by Steven Chase
1 month ago

No vote yet
1 vote

  Easy Math Editor

This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.

When posting on Brilliant:

  • Use the emojis to react to an explanation, whether you're congratulating a job well done , or just really confused .
  • Ask specific questions about the challenge or the steps in somebody's explanation. Well-posed questions can add a lot to the discussion, but posting "I don't understand!" doesn't help anyone.
  • Try to contribute something new to the discussion, whether it is an extension, generalization or other idea related to the challenge.
  • Stay on topic — we're all here to learn more about math and science, not to hear about your favorite get-rich-quick scheme or current world events.

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold

- bulleted
- list

  • bulleted
  • list

1. numbered
2. list

  1. numbered
  2. list
Note: you must add a full line of space before and after lists for them to show up correctly
paragraph 1

paragraph 2

paragraph 1

paragraph 2

[example link](https://brilliant.org)example link
> This is a quote
This is a quote
    # I indented these lines
    # 4 spaces, and now they show
    # up as a code block.

    print "hello world"
# I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
MathAppears as
Remember to wrap math in \( ... \) or \[ ... \] to ensure proper formatting.
2 \times 3 2×3 2 \times 3
2^{34} 234 2^{34}
a_{i-1} ai1 a_{i-1}
\frac{2}{3} 23 \frac{2}{3}
\sqrt{2} 2 \sqrt{2}
\sum_{i=1}^3 i=13 \sum_{i=1}^3
\sin \theta sinθ \sin \theta
\boxed{123} 123 \boxed{123}


Sort by:

Top Newest

@Neeraj Anand Badgujar Per your request

@Karan Chatrath In case you are interested

Steven Chase - 1 month ago

Log in to reply

@Steven Chase Sir .Thanks Yeah it's also awesome. But I like your profile images more than this. They were more crazy according to my opinion.

Log in to reply

Creating the profile pic must have been much harder, due to the wireframe and the 3d aspect of it, that too on python.

Krishna Karthik - 1 month ago

Log in to reply

@Krishna Karthik Yeah, the helix was a much bigger undertaking

Steven Chase - 1 month ago

Log in to reply

Yeah and the rendering time without GPU wow...

Krishna Karthik - 1 month ago

Log in to reply

Ha that's really cool! I really like python. Try to paint a Mandelbrot Set!

Krishna Karthik - 1 month ago

Log in to reply

Here you go


Steven Chase - 1 month ago

Log in to reply

I think the second spiral looks the best. I really love how it spirals inward.

Krishna Karthik - 1 month ago

Log in to reply


Problem Loading...

Note Loading...

Set Loading...