/*

 

 I N F O

 This image is written with the Mega-POV patch. So, some aspects of 

 the code might not work. (Such as post processing, and certain math functions).

 Download the meg-pov add-on from here: http://nathan.kopp.com/download.htm

 It is available for PC only (at the time of this files creation).

  

 A U T H O R 

 Copyright  2002 gdunne

 gdunne@ucla.edu - http://www.quilime.com

  

 D E S C R I P T I O N

 Creates an image of a sphere being wrapped in a helix, spiral made of

 elipses. After rendering, the file is post-prosessed for color.

 

 N O T E S

 This file is setup to render a post process effect called "normals"

 "Normals" Displays the unperturbed normal values as rgb colors. 

 The normals are scaled to the 0-1 range, so <-1,0,0> is rgb <0,0.5,0.5>.

  

*/





// start of file





// POV RAY version

#version unofficial MegaPov 0.7;



// libraries

#include "shapes.inc"



// scene parameters

global_settings {

	assumed_gamma 1.8	                 // global gamma

	ambient_light 0 	                 // ambient fill light

	post_process {normal}                 // post process effect

 }                                         







// viewpoint

camera {

	perspective                           // camera type

	location <2.0, -2.7, -3.5>            // position < x, y, z >

	up y*image_height right x*image_width // resolution aspect ratio

	angle 100                             // focal length in degrees 

	look_at <-1.0, 2.5, 1.4>              // camera target < x, y, z >

	rotate x*7                            // camera rotation

}







// light source (generic point light)

light_source {                                

	<0, -10, 0>                           // light location

	rgb <1.0, 1.0, 1.0>*1.2               // light color

} 





// large, lone sphere

sphere { <0.0, 5.0, 0.0> 1.0                     // < x, y, x > radius

	pigment {rgb <1.0, 1.0, 1.0> }        // set color

}





// helix   



#declare NoiseOn = true;                  // declare NoiseOn bool

#declare C = 0;                           // declare number placeholder

#declare Copies = 1200;                   // final amount of copies              



// intialize while loop                    

#while ( C < Copies)                              



	sphere {<0.0, 0.0, 0.0>, 0.5	      // < x, y, z > radius

	     // scale

        scale  <0.2, 0.7, 0.2>                          

		

	     // translation

		translate x * (2)

		

	     // rotate along function parameters		

		rotate x * (0.0 + (C * (200*2)/(Copies -1)))

		rotate y * (0.0 + (C * (720*2)/(Copies -1)))

		rotate z * (0.0 + (C * (120*2)/(Copies -1)))

		

	     // set random jitter on y axis		

		translate y * ((-3 + (C * (10 - (-3))/(Copies -3))) 

                      #if ( NoiseOn = 1)+noise3d(<1.3*C, 4.3*C, 1.3*C>)

                      #end)

 

             // texture

                texture { pigment { rgb <1.0, 1, 1.0> } }

                }



#declare C = C +1; 

#end  // while (C < Copies) 





// end of file





POV-RAY AND FRIENDS

The above image was created with a patched version of POV Ray. It's fun, and relaxing in a early-90's computer animation sort of way. And, it's probably the most capable rendering engine I've ever used. Download the program, apply the patch, and copy the code in to render your own versions.

The below versions were extensions of this same codebase, but were initialized with the peak ranges of certain audio forms. I would select a section of mono-audio that ranged for a short time. (.25 seconds gave me plenty peaks), and attribute these values to x,y, and z coords in each codebase. Depending on how they would turn out, I would tweak the camera position and movement. It was not entirely automatic, automated, or even organized, but more of an artistic experimentation with mathematics, audio forms, and 3D representation. I have been theorizing about creating a program of my own, but if I did anything of the sort, it would have to be represented with OpenGL, or a similar based languaged. Pov-Ray is too far removed from input/output to be even considered for such a project. The instant this sort of concept gets moved into OpenGL, however, the entire idea starts looking like a giant WinAmp visualization. I'm still leaving it open.



Green Jazz

Purple Drum'n'Bass

Green Rock



PROJECT THESIS

The following is a Thesis on how generative graphics could effect future inventions.


       Many aspects of modern technology are moving towards the goal of general integration with everyday living. As digital imagery evolves, there will be many new forms of digital imagery that isn't physically possible in the present day. A brand new experience might be introduced with the introduction of newer materials, faster computers, or even smaller devices. An aspect of digitally imagery that will evolve in a subtle way, however, is in the form of ambient entertainment.
By ambient, I mean images that don't necessarily require the viewer to pay attention to them directly to experience them, or images that are simply displayed as background texture to improve or alter the experience of our physical environment. Future technology would allow these electronic appliances to alter their function with changes of environmental variables such as temperature and outside wind speed, time of day, and even climate. An invention of sorts that could be classified as an Ambient Projector of sorts would be a digital, or Virtual Ceiling.
       Constructed out of a type of LCD display and mounted directly on the ceiling panels of a room, this Virtual Ceiling would allow the user to view virtual "skies" depending out the outside environmental variables. A high wind outside could allow people in the room to look up at the ceiling and witness treetops blowing in a virtual breeze, abstract forms that resemble the visual structure of a hurricane, or even (if the people inside are a bit nervous of the outdoor weather), it could display a calming mellow blue sky and sun. Other alternatives could rely on temperature. A very hot day could trigger sensors in the ceiling to display the undersides of beachside palm trees, a deeply moving display of cumulous clouds shrouded by sunlight, or possibly even something of a more cooling nature. Such as falling snow, or even, if the programmer of this particular scenario was devilishly clever, possibly the underside of a frozen lake, so the viewers of the ceiling would feel as though they were underneath 6 inches of ice, floating through freshwater, as cool as a clam.
       Customers who installed their virtual ceilings inside a high-rise apartment, could run the "invisible floor" plug-in, which generated a random assortment of people, furniture, and miscellaneous activities that appeared to be floating above their heads, walking on an invisible floor, as if the ceiling of their apartment were to be removed altogether. A similar iteration of this missing ceiling could be the New York Manhattan Flat plug-in, which allowed meager apartment owners to emulate 16 foot ceilings. (The program is well designed. It would tile the existing wall textures perfectly, so you wouldn't notice a seam between were the physical wall ends, and the virtual ceiling and walls begin, of course).
Some classic favorites to be had by owners this device are obviously: Underwater Exploration (an actual saltwater aquarium underneath your head), Beautiful Sunset, Inside the Ant Hill, Floating Through Jello (red goo above your head), Tropical Rain, Lush Forest, Mirror (well hidden cameras would photograph the room in real time, and invert it so that it would seem as though you were mirrored on top. You could look up at yourself and wave). Pointer (arrows follow people in the room).
       Also, for the more contemporary owners, the ceiling could emulate various textures of ceiling, rather than generate scenes that would regularly and architecturally be out of place. These more austere examples would include various tiles, textures, stained glass, or wood.
       A more expandable aspect of the Virtual Ceiling would include the possibility to include the support of visualization plug-ins, which take the immediate sounds from the environment and translate them into abstract visuals. These visuals could range from simple graphical representations of the incoming sonic wave forms, or the complexity of a random generation of beautiful colors, shapes, motion, and time.
Eventual evolutions of this Virtual Ceiling would include ways for the user to purchase sonic add-ons, which included speakers and microphones to alter the experience. For example, if the Rain scenario were to be displayed on the ceiling, the soothing splashes and drizzle would flow through the speakers mounted in the celing as if it was really Seattle. Seagulls would sound in the distance if the user had Palm Beach set as the current display, and if we were to experience the underwater environment, sounds of glooping water, closely swimming fish, and subtle, soothing sounds of the waves would get us in the mood for rest.
       Power for the panels would most likely come from a solar source, mounted outside the physical building to which there are installed. Sensors would also have to be installed outside to sense changes in time and temperature, as many aspects of the invention are depended on certain changes in both of these factors. Interfaces that would allow the user to interact with the machine would include a remote control to flip through presets, and also the ability to connect their computer system to the machine, which gives them power to download countless predefined scenarios from the internet.
Obvious iterations of this invention would involve more usual and expected scenes, such as a starry night, or Milky Way version to allow for amateur stargazers to simply sit back on their couches and count shooting stars. A plug-in could be developed to shoot them 5 light-years across the galaxy to see star fields not visible from earth, (instantly giving indoor stargazers a quite intriguing benefit).
As we were to lay down to sleep underneath our digital Virtual Ceiling, we could count constellations under the virtual night sky, pick out planets, and make a night time wish to the falling stars.
Then, in the morning, we would wake up to the soothing spill of light of the virtual sunrise, as if we were sleeping underneath the open sky.