Kaleidoscope Paint

Kaleidoscope Paint (also called 5 Minute Kaleidoscope) is a simple app that lets you create an infinite number of kaleidoscopic patterns. Use it as an aid to meditation or for mindless amusement.

The tube-based kaleidoscope was invented in 1816 by Scottish born Sir David Brewster (a scientist and inventor, among other professions). He named his invention kaleidoscope from the Greek words, kalos (beautiful), eidos (form), and scopes (watcher). Simply put, the kaleidoscope is a "beautiful form watcher."

Kaleidoscopes are enchanting devices. This enchantment stems from the symmetric and colorful designs that occur as tubes containing bits of colored glass and mirrors rotate.

This app have been created to reveal this symmetry. This app paints an endless variety of symmetric and colorful designs.

Currently this divides its drawing area into 15 quadrants. Randomly located and colored lines are drawn in the first quadrant. Symmetry occurs by reflecting that quadrant's lines into the other 14 quadrants.

Only one class is necessary for the Kaleidoscope; one that incorporates a constructor and a Paint() method.

The app make extensive use of loops, as new shapes constantly appear on the Kaleidoscope i.e Draw Screen. In this app, the screen is divided into 15 triangles with a common point in the middle of the screen. The final division looks somewhat like the British flag with fifteen triangles. Every object that is drawn in one of the fifteen triangles, is also drawn in perspective in the other fourteen triangles, i.e. flipped, rotated, and/or mirrored.

For each iteration A, a color chosen by user is picked; then two pairs of coordinates are randomly chosen. For each sub-iteration B, the random points are checked, and should they lie outside the triangle, the pairs are chosen again, until they both lie within the triangle. End of iteration B. Now, two "steps" are randomly chosen. These numbers lie between 0 and 4. For each of 40 iterations C, the first of the two previously picked pairs of coordinates are continuously incremented by step1 (both x and y), and the same for the second pair using step2. End of iteration C. After 50 iterations of A, B, and C, the screen is swiped from left to right, and the algorithm starts anew.



TrekStir Dec 6 '12 at 17:45
It does seem really fun. Will it be hard to create those patterns?
StarlitSkies Dec 3 '12 at 18:00
This looks really fun - when can we expect it to be live? Have you submitted it yet?
Harshit Dec 3 '12 at 12:30
Looks awesome. will be waiting for the download link
Richard Nov 21 '12 at 14:01
Looks ace, but I can't find it in the store. Is this still a work in progress?
Abhinandy Oct 28 '12 at 5:43
gREAT........Sveta.........keep up the good work and ur spirit...
CodeToGlory Oct 16 '12 at 16:32
Watch out when you use canvas for multiple layers. In my opinion, performance can degrade as you use more canvas objects. Painting on Canvas can become slower. Good luck with your app. Don't forget to vote up my app : apptivate.ms/apps/93/dabble
Sandra Walters Oct 12 '12 at 21:17
Interesting idea! Are you implementing a share contract? Might be nice to have, so the user could send the resulting image to friends.
Sveta Jain Oct 13 '12 at 0:41
I know, This is my first App, and my first attempt at developing something after a gap of 10 yrs. There are subsequent released plan. With Second release I will be adding the ability to Share. Third release will be a major overhaul as there will be at least 20 new features added.