Skip to content

ekliot/py3DProjection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABOUT

What is this?

This project is a practice in using the turtle module for Python to draw and "animate" 3D objects (specifically, a cube) by drawing and redrawing each step of a rotation on the object. How is this being made?

This project only uses Python and its turtle library.

Why am I making this?

When I first thought of making this project, it was mostly just curiosity, "can I draw 3D objects in turtle?" At the time (it was my first semester of university) most if not all of my introductory class' assignments were using turtle, so the exposure inspired me to see if I could do something more than just drawing hexagons. Once I started, I wanted to see if I could push it even more and draw the cube at different angles, which lead to trying to animate the cube.

When will this be made?

Technically speaking, this project is complete, and it does what it needs to do -- that is, it draws and rotates a cube. However, as it stands there is still plenty more I would like to do with this, such as letting it draw and animate by user specification (rather than just immediately running a single command), or letting it draw a solid object instead of just a wireframe. In these cases, the features are small enough that they will individually not take up that much time. I'll be picking these back up in the spring semester of 2016, and working on them throughout, with a goal to finish 85% of the advanced features by the end of the semester.

What have I learnt so far?

When I started and last worked on this project, I was still very much a novice programmer and was not that well-versed in Python. In fact, I didn't even know about dictionaries! This project did not end up teaching me anything about Python, or the skill of programming, but it was an incredibly engaging and exciting way for me to, unwittingly, stumble into the topic of computer graphics and 3D rendering. I spent nights reading about various methods of 3D projection and hours bending my mind and pestering my math professor about 3D translation of points. Looking over my code now, it's almost painful to see how much better I could have organized my code and written it more robustly, so it would go without saying that I've learned heaps since then, and intend to apply all that knowledge into refactoring what is there now to expand it into something that represents my current abilities and talent.

About

An excercise in 3D graphics using the Turtle module

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages