Well, correct me if I'm wrong, but a ripple could be faked by zooming/enlarging the pixels in certain areas/shapes.
Specifically, you would enlarge the pixels in the thick outline of a cirle. Then another circle, and another and another etc. working their way in/out getting smaller/bigger.
That should look like a ripple
- jamie
Microsoft MVP : Visual Developer - Visual Basic [2004-2005]
Ripples actually look that way because of the wave form they have in z-perspective. If your looking for this approach, you won't see anything if z perspective isn't involved, therefore you have to use 3d perspective, and furthermore isometric, otherways you will get wrong outcome dimensions for a bitmap. Leting Z axis go with a component in Y and X would look realistic. Now picking the Z component should be done with sin() for a wave form depending on the distance to the center. So Z component would be
sin(frequency*sqr(dx*dx+dy*dy))
where frequency is the wave frequency in radians per pixel. dx and dy are distance to center in resp. components.
Use
writing software in C++ is like driving rivets into steel beam with a toothpick.
writing haskell makes your life easier:
reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.
Use
writing software in C++ is like driving rivets into steel beam with a toothpick.
writing haskell makes your life easier:
reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.