You can better understand the affine transforms when you know about matrices and transformation matrices, but I have managed to get nice 2D applications to work without knowing any matrix arithmetic.
If you are doing anything with positions and angles then basic trigonometry (sin, cos, tan) and the difference between rectangular and polar coordinates are very useful.
By the way: If you are using affine transforms, always use a duplicate of the Graphics2D object to do the transformations on, particularly shear. There is a method in the Graphics class called copy() or something similar which returns a duplicate, so you don't need to use clone().
posted 11 years ago
Actually I think you use the Graphics#create() methods, not copy().
Need to understand logical mathematics. Especially, working with binary, and hexedecimal numbers. So, bone up on you eigth grade math (in the US, this is taught in the eight grade). Without this, you probably won't understand the turning on/off of pixels.
Need to understand Algebra. I mean really really understand algebra. This is not too important, if you are not writing your own graphic library, but it is critical, if you are writing or modifying one. Raster graphics calculations are all done with algebra.
Neet to understand Geometry. Nuff said....
And as already mentioned, other maths are important too. There is some good news... I have never found the need to use my Calculus skills when working with graphics...
Originally posted by omi sharma: Thanks for your reply Henry , but you did not mention one thing,there is a lot in algebra so which topics I should learn.I know only matrix,polynomials and simultaneous equations.
Any good news for Trig too, can I do Trig math with special calculators.
best regards, omi
Yes, but you need to understand trigonometry.
"Computer science is no more about computers than astronomy is about telescopes" - Edsger Dijkstra
Are you more serious on 2d-3d programming or just looking to use java2d programs? If you are trying to be a game developer or going to design/develope some cad kind application then you may want to try this way.