That was an awesome post. Thanks for your help. Actually I've been working with a 3-dimensional array, but in order not to confuse the issue, I spoke of it in 2D.
Basically I have a 3D array with X,Y coordinates as the first two, then two values associated; a BooleanValue that lets me know that after rotation and adding a bounding box that it was one of the original pixels and not part of the bounding box, and a PixelValue (I only need one because the end result is *always* grayscale, so I just fill RGB(#,#,#))
. . .I know, I know, that was a terrible run-on sentence. . .
I've been using the information from this site to perform my rotation calculations:
. . .but it's still not perfect. I've also been filling the next X,Y with the current values in order to "fill" any potential missing pixels upon rotation. Still, the method isn't terribly consistent, and I'm currently at the point where the bounding box is skewing further transformations.
My original goal was, as I said, to mark "original" pixels in order to keep up with them. I'm thinking now that I might need to simply add some type of transformation limit in order to maintain data consistency. Below is an example of my array written RealBasic with semi-demi-pseudocode :
Anyway, that's the long and short. Thanks again, and thanks in advance.
const kPixelValue = 0
const kOriginalPixel = 1
dim PixelArray(50,100,2) as double
PixelArray(1,1,kPixelValue) = 4839.344
//This is the original value read in from the file. I need to keep this value and "fake" it in the picture. But I can't afford to convert to a 0-255 value (the range of RGB) and convert back because I will never get back an accurrate original value. Otherwise I could simply convert it and use available RB picture manipulation functions.PixelArray(1,1,kOriginalPixel) = 1 //This tells the array that it is an original pixel