Coding Challenge #130: Fourier Transform User Drawing

Subscribers:
1,750,000
Published on ● Video Link: https://www.youtube.com/watch?v=n9nfTxp_APM



Duration: 9:21
35,448 views
939


In this coding challenge, I implement the Discrete Fourier Transform algorithm in JavaScript and render a drawing using epicycles derived from the transform. Code: https://thecodingtrain.com/challenges/130-drawing-with-fourier-transform-and-epicycles

p5.js Web Editor Sketches:
πŸ•ΉοΈ Fourier Transform: https://editor.p5js.org/codingtrain/sketches/RfrZibjfL
πŸ•ΉοΈ Fourier Transform - user-drawn path: https://editor.p5js.org/codingtrain/sketches/jawHqwfda
πŸ•ΉοΈ Fourier Transform - complex numbers: https://editor.p5js.org/codingtrain/sketches/ldBlISrsQ
πŸ•ΉοΈ Fourier Transform - user-drawn path with complex numbers: https://editor.p5js.org/codingtrain/sketches/sPvZsg2w4

Other Parts of this Challenge:
πŸ“Ί Part 1 - Drawing with Fourier Transform and Epicycles : https://youtu.be/MY4luNgGfms
πŸ“Ί Part 3 - Complex Numbers: https://youtu.be/7_vKzcgpfvU

πŸŽ₯ Previous video: https://youtu.be/X8bXDKqMsXE?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
πŸŽ₯ Next video: https://youtu.be/0j86zuqqTlQ?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
πŸŽ₯ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH

References:
πŸš‚ Coding Train Logo: https://twitter.com/TomFevrier/status/1079437780466520065
πŸ’Ύ p5.FFT: https://p5js.org/reference/#/p5.FFT
πŸ’Ύ FFT on Algorithm Archive: https://www.algorithm-archive.org/contents/cooley_tukey/cooley_tukey.html
πŸ—„ Discrete Fourier transform on Wikipedia: https://en.wikipedia.org/wiki/Discrete_Fourier_transform
πŸ—„ Complex Number on Wikipedia: https://en.wikipedia.org/wiki/Complex_number

Videos:
πŸŽ₯ But what is the Fourier Transform? A visual introduction: https://youtu.be/spUNpyF58BY
πŸŽ₯ Fourier Analysis For The Rest Of Us: https://youtu.be/2hfoX51f6sg
πŸŽ₯ Epicycles, complex Fourier series and Homer Simpson's orbit: https://youtu.be/qS4H6PEcCCA
πŸ”΄ Code Train Live 165: https://youtu.be/0b3R8oWffkw?t=8241s

Related Coding Challenges:
πŸš‚ #125 Fourier Series: https://youtu.be/Mm2eYfj0SgA

Timestamps:
0:00 Fourier Transform and Epicycles Part 2 - render a user-drawn path
1:20 Create a state variable
2:18 When the mouse is pressed, set the state as "user"
4:18 Render points while the user is drawing
6:48 Reset variables
7:38 Fix offset
8:38 Up next: have the inputs be complex numbers

Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound

πŸš‚ Website: http://thecodingtrain.com/
πŸ‘Ύ Share Your Creation! https://thecodingtrain.com/guides/passenger-showcase-guide
🚩 Suggest Topics: https://github.com/CodingTrain/Suggestion-Box
πŸ’‘ GitHub: https://github.com/CodingTrain
πŸ’¬ Discord: https://thecodingtrain.com/discord
πŸ’– Membership: http://youtube.com/thecodingtrain/join
πŸ›’ Store: https://standard.tv/codingtrain
πŸ–‹οΈ Twitter: https://twitter.com/thecodingtrain
πŸ“Έ Instagram: https://www.instagram.com/the.coding.train/

πŸŽ₯ Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
πŸŽ₯ Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA

πŸ”— p5.js: https://p5js.org
πŸ”— p5.js Web Editor: https://editor.p5js.org/
πŸ”— Processing: https://processing.org

πŸ“„ Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct

This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/thecodingtrain.com/issues/new

#fouriertransformsquarewave #discretefouriertransform #epicyclesdrawing #javascript #p5js







Tags:
computer science
programming
daniel shiffman
coding
the coding train
coding challenge
creative coding
code challenge
coding train coding challenge
javascript (programming language)
programming challenge
fourier series
fourier transform
fourier visualized
fourier series visualization
fourier series square wave
fourier transform square wave
discrete fourier transform
discrete fourier transform example
epicycles fourier series
epicycles drawing