User:RobertLechte

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
Hi! I'm Robert, and I care about constipation.
 
Hi! I'm Robert, and I care about constipation.
  
== Design Study ==
+
= 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.
 
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.
  
-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.
+
* 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.
+
* 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.
+
* 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.  
 
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)
 
(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()

Revision as of 04:04, 19 August 2008

Hi! I'm Robert, and I care about constipation.

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.

  • 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()
Personal tools