Saturday, 19 May 2012

Last 3 weeks

Two weeks ago I was primarily studying for the AP exam, and after taking the AP I have to say that I did not need to. The practice materials had some content I needed to look up: ternary operators, parts of the string class that I don't normally use (a lot of this), and some other miscellaneous code. However, the AP itself had very little even remotely complex content. A specific question I remember quite well had a list of 3 search algorithms which, in theory, found the largest value in an array. One of these, however, used -1 has a default that would be replaced by the next value in the array if it was stated to be the maximum value. Because of this, if -1 was the largest value in the array (there was no precondition that would exclude this as a possibility), then the array wouldn't work. This was the only question that had this small of a problem and thus I thought it might be designer oversight rather than a hard question. Other than this, the AP was fairly basic. This isn't to say that it was badly written, it covered the content it was meant to cover and did it quite well, just that they don't seem to be grading high school APs on too high of a bar. (Watch as I get a 4...)

Outside of class, I've been working on a quadrillateral-based 3D engine. To map the textures I am using affine transformations, a very low-cost method of perspective transformation. The reason this is not used normally is that it isn't entirely accurate and thus must be modified, but this required more processing power. The affine transform is more acceptable on quadrilaterals, thus why I decided to make a quadrilateral-limited engine. A while back I derived a series of equations to run this off of, using perspective matrices. However, I've been experiencing some weird image warping with this, so I need to re-derive the equations. Going off on a bit of a tangent, but learning about the actual application of matrices in computer science has shown me something about how idiotic it is to solve matrices by hand, as taught in algebra 2.

I've also been studying for UIL on my own time... when I read a question which required you to figure out the sorting algorithm a program was using based on the time it took to execute it hit me just how much there was study. Big O notation and sorting algorithms in general seem to be a huge part of the higher up UIL exams, so I'm putting a large portion of the time I spend studying into studying these.

No comments:

Post a Comment