macfan6 wrote:
None of those images look pixelated to me. If you zoom up to 100% the image shouldn't be pixelated. If you change the canvas or image size to make the picture bigger, it will. I'm sure you know that though.
That's strange that it does it with thirds but not halves. I would suggest sticking to magnification in halves
That depends on how you define 'pixelated'....
--You see "pixelated" as over-sizing an image, so the result gets blocky,
--Un4given see "pixelated" as a lack of interpolation blending.
I will stick to Un4given's definition...
Q: And what about the thirds?
That's just simple math... It's all a matter of interference grids...
Lets start with explaining the scale variable...
You can define the fractions 1/1, 1/2, 1/4... all as decimal variables... It doesn't need a long integer to be exact as it is. You can keep adding as much zero's behind the dot, it won't change the value of the variable.
In stead of the fractions 1/3, 2/3... If you want to write these fractions as a decimal number, it will result in 33,3333... and 66,6666... But a variable can't contain infinite numbers behind the dot. And Photoshop even raws it up to 2 numbers behind the dot. (33,3333... -> 33,33 and 66,6666... -> 66,67)
[[Note: program variables are not meant to be written as a fraction, but mostly they are pre-designed integers with a set amount of numbers behind the dot ]]
And this way of cutting of numbers, will result in oscilating patterns in terms of math, due to a small difference from the fraction-value and the rounded value.
For example:
try to open this grid in photoshop and play around with the scale factors. This will clear out most of the 'pixelated' effect.
This grid is a 1px wide, clear grid. And in combination with the previous named 'nearest neighbor' alogritm, it will lose lines at 'non uniform' scales.
( I like to define non uniform scales as scales that can't be written in a relative small fraction. f.ex:
0,25 --> 1/4 (uniform)..
0,24 --> 6/25 (non uniform) )
Maybe some more explanation about the 'nearest neighbor' term is needed.
This nearest neighbor algoritm, does nothing more than inherit the pixel color of the nearest pixel to a relative origin. A relative origin, is for example (as I used in next sketch) the left boundary of the actual pixel. ...
I've made a sketch to clear out:
Here I've drawn a uniform scale situation with a scale factor of 1/2. And a non uniform scale with a ROUNDED 1/3 scale factor. ( 33.30 - exagerated mistake to accentuate the effect)
Don't let your attention be lost in the actual pixel pattern... It has nothing to do with the point I like to explain... It's how the pixel gets is value, that is important for understanding this theoretically approach.
Now, in first situation, all the relative origines (the purple lines) are matching with pixel boundaries of the scaled pixels. So, as you can see, Every two scaled pixels, are as big as 1 actual pixel. Nearest neighbor will "drop" the unpair pixels in this example.
[[Note: Data gets lost. The result in this image is a full line, in stead of a dashed one... If the origin in the scaled situation, is shifted by 1 pixel, all the COLORED pixels will be dropped and nothing will be visible in actual pixels... This is what happens with the grid you can download ^^ ]]
So this means that EVEN with uniform scales you can have critical data loss, leading to (small amounts) of pixelation.
Now the second non uniform example in the image, shows us a same situation, but with a scale not completely equal to 1/3, but with a slight difference...
This will result in the fact that the relative neighbor origins will come upon a point, that the order of passed pixels will 'jump' to a scaled pixel that is ( due to rounding 33,33333 -> 33,30) not in the original sequence.... This will lead to irregular patterns. The frequency of this 'jumps' can be easily calculated, but I won't hussle you all with more maths ^^...
So this means that Non uniform scales lead to Irregular Pixelation, which is visible in images. That's the biggest negative point about the nearest neighbor algoritm. The positive point is that it's math algoritm is great amounts smaller than other algoritms, which logically lead to higher calculation speeds. I guess this is the reason for choosing this way of scaling.
[[Last note: The pixels discussed here and shown in the image are theoretical-pixels. We all know that one theoretical pixel has an equivalent of three physical pixels: a Red-, Green- and Blue-one]]
I hope I solved some aspects here, and that I haven't created to much confusion...
I know this isn't a math-forum, but these terms should be comprehensive for all of us...
IMP...