The program must:
1) Open an image.
2) Pick a random pixel in that image and start making that pixel fall to the bottom of the image. Do this by replacing the original pixel location with black, and reading and saving the r, g, b values of the pixel below, then draw the falling pixel colors one over the saved pixel colors, then restore the saved pixel, and repeat.
3) Each time (2) is repeated, find another pixel to make it also fall. Do this by picking 1000 random pixels and of those 1000, the one that is nearest to the last falling pixel is the one you make start falling next.
4) Note: by repeating 2 and 3 each time step, after 2 time steps you will have 2 pixels falling. After 3 time steps, you will have 4 pixels falling. After 4 times steps you would have 8 pixels falling, etc. Continuing this, will make the whole image fall in not too many steps, so on each time step, once you have made 100 new pixels fall, then stop making any more fall on that step.
5) Now, to add a gravity effect, give each pixel a speed. When the pixel starts falling, give it a speed of .5 pixels per time step, then every turn it keeps falling add 0.5 pixels per time step to its speed.
6) When a pixel hits the bottom of the image, leave it there.
The program must work in conjunction with the attached Picture class. I've also attached a sample program to give you an idea of how your program should interact with the Picture class and also proper syntax (two spaces please, not four). Due date is November 17th.
Hello, I'm an experienced Java developer and I could do this project for you. In the past I have done some work regarding image manipulation, cropping to be exact, so I have an approach that I would use to achieve this effect. Furthermore I had experience making a Java game, so I know how to implement and change pixel speed (the gravity that you mentioned) to move the pixels as needed. If you are interested in my proposal, please write me a private message. Good luck.
Hi, I'm an software developer in the german automotive industry. I have very good knowledge in Java and C#. I think it's not a problem to solve your task.