|
|
(15 intermediate revisions by one user not shown) |
Line 1: |
Line 1: |
− | Hi! I'm Robert, and I care about constipation.
| + | Kia ora. I've made a start to an [[Exam Quick Reference]]. Feel free to contribute. |
| | | |
− | = Design Study =
| + | My Design Study: [[OO Python Character Animation Design Study]] |
| | | |
− | My honours project is a graphical application to display an animated figure and associated data, written in Python, and using OpenGL libraries. I wish to make this a nice slick OO application, but I'll be facing several challenges.
| + | Very rough log of my Design Study: [[RL Design Study Log]] |
− | | + | |
− | * Python is a loosely typed language. This makes things easier in some ways (no variable declarations, and no need to cast), but harder in others, particularly as I've never written OO in a loose language before.
| + | |
− | | + | |
− | * OpenGL is very procedurally based. To get around this I'll have to build some kind of nice wrapper(s) so that we can use OpenGL in an OO way.
| + | |
− | | + | |
− | * How to relate graphics code to object code. Should each object have a drawX() method, or will this wind up raping and pillaging the neatness of the program? We'll soon find out, so don't change that channel. I suspect this will be the core issue I face in this design study.
| + | |
− | | + | |
− | | + | |
− | === Initial State ===
| + | |
− | | + | |
− | Before we begin this design study we should look at the project in its present state. It's currently rather a mess. There are currently a small number of objects used, but most of it is a typical OpenGL app with procedural code.
| + | |
− | | + | |
− | (diagram pending, watch this space)
| + | |
− | | + | |
− | === Preliminary Design Thoughts ===
| + | |
− | | + | |
− | Probably I want an application object to work with at the very top level. That would mean a main method along the lines of:
| + | |
− | | + | |
− | | + | |
− | def main():
| + | |
− | animation_application = AnimationApplication()
| + | |
− | application.start()
| + | |