Coding Challenge: 3D on Apple II

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



Duration: 45:40
268,969 views
9,274


Take a trip back in time and watch me attempt to build a 3D graphics engine in AppleSoft BASIC on a restored Apple II+ computer! Can I render a spinning cube? Code: https://thecodingtrain.com/challenges/175-3D-cube-applesoft-basic

πŸš€ Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-apple-challenge-3d-cube

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

References:
πŸ’Ύ Big Mess o' Wires: http://www.bigmessowires.com/floppy-emu/
✨ Nebula: https://nebula.tv/videos/codingtrain-apple-challenge-3d-cube
🧠 What is Code?: https://nebula.tv/what-is-code
🎢 Coding Together: https://soundcloud.com/user-207981744-979066415/coding-together

Related Videos:
πŸŽ₯ Coding Together Track: https://thecodingtrain.com/tracks/coding-together-apple-ii
πŸŽ₯ Polar Coordinates: https://youtu.be/O5wjXoFrau4
πŸŽ₯ 3D Rendering with Rotation and Projection: https://youtu.be/p4Iz0XJY-Qk

AppleSoft BASIC:
🐢 Beagle Basic: http://www.apple-iigs.info/doc/fichiers/BeagleBasic.pdf
🍎 The AppleSoft Tutorial: http://cini.classiccmp.org/pdf/Apple/The%20Applesoft%20Tutorial.pdf
🍎 Basic Programming Reference Manual: https://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Software/Languages/Applesoft%20BASIC/Manuals/Applesoft%20II%20BASIC%20Programming%20Reference%20Manual.pdf
πŸͺ§ Peeks, Pokes and Pointers: https://archive.org/details/peeks-pokes-pointers

Apple II Emulators:
β˜• Applesoft BASIC in JavaScript: https://www.calormen.com/jsbasic/
🍎 Apple IIjs: https://www.scullinsteel.com/apple2/
🍎 MicroM8: https://paleotronic.com/software/microm8/

Unedited Raw Footage:
⭐️ Session 1: https://youtu.be/4yByzgGSfzQ?t=8125s
⭐️ Session 2: https://youtu.be/lzAPLYApVTU?t=2854s
⭐️ Session 3: https://youtu.be/g7NAQyBCkZw?t=1438s

Related Coding Challenges:
πŸš‚ 112 3D Rendering with Rotation and Projection: https://youtu.be/p4Iz0XJY-Qk
πŸš‚ 173 AppleSoft Basic Snake Game: https://youtu.be/7r83N3c2kPw
πŸš‚ 174 AppleSoft Basic Fractal Tree: https://youtu.be/UNkHditYGls

Timestamps:
0:00 The future of computer graphics!
0:39 Viewer comments
1:58 Editing code in BASIC
3:28 Floppy Emu disk emulator
5:09 Double buffered animation
6:55 Initialize high resolution graphics for 2 pages
7:42 Animating a line
8:50 CALL to clear the screen
9:22 Switching screens
13:18 The "draw loop"
14:55 Rotate a line
15:45 Add points
16:36 Add a subroutine that draws a line between two points
17:55 Scaling the line
20:55 Matrix Multiplication for Rotation
29:26 Animate rotation
32:00 Clear background
33:17 Subroutine to add the points of a cube
35:40 Subroutine to draw the lines
36:46 Incorporating matrix math.
40:24 Edit code to add more points
41:46 Connect the points to draw a cube
43:03 Beautiful, 3D rotating cube!!
43:17 x-axis rotation
43:52 Ways to optimize the code
44:42 Can you add perspective projection?
45:08 See you next time on Coding Together!

Editing by Mathieu Blanchette
Animations by Jason Heglund
Coding Together Theme by Will from America (https://twitter.com/willfromamerica)
Eye of the Tiger cover by Leon from @neo
Additional music from 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

#3dgraphics #1980s #appleii #matrixmath #basic