demo reel

portfolio

resume

links

contact

 

 


Fireworks


Color and Movement Tests

The code found in "helper apps01" was modified to generate points on a sphere.  By adding attributes to the Maya proxy object we are able to access variables in the attached helper application.  By animating these variables we are able to cause the sphere of points to change in size and color.

View Final renders of the fireworks

Color Test

Movement Test

Maya Scene

Maya Attributes

The variables radius, number, red, green, blue and yrad were all added to the cube proxy object in order to access variables in the c helper application.
• radius = the radius of the sphere of points
• number = the number of points generated
• red = the "r" or red in rgb color of the point
• green = the "g" or green in rgb color of the point
• blue = the "b" or blue in rgb color of the point
• yrad = the y coordinate value of the point.

 

 

 

 


RIBBOX Script

Multiple Firework Test

C Programming Code     download code

#include 
#include 
#include 

//Function Declarations
float randBetween(float min, float max);


//Main Function
void main()
{
char	buffer[256];#include 
#include 
#include 

//Function Declarations
float randBetween(float min, float max);
float length(float x, float y, float z);
float *unit(float x, float y, float z);


//Main Function
void main()
{
char	buffer[256];
float	input, detail, width, rad, r, g, b, yrad;
int 	num;

while(gets(buffer) )
	{

	
	sscanf(buffer, "%f" "%f" "%d" "%f" "%f" "%f
" "%f" "%f", &detail, &width, &num, &rad, &r, &g, &b, &yrad ); printf("AttributeBegin\n"); for(int n = 0; n < num; n++) { float x = randBetween(-1, 1); float y = randBetween(-1, 1); float z = randBetween(-1, 1); float *v = unit(x, y, z); printf("Points \"P\" [%f %f %f]\n", v[0]*ra
d, v[1]*rad + yrad, v[2]*rad); printf("\"constantwidth\" [%f]\n", width); printf("\"Cs\" [%f %f %f]\n", r, g, b); } printf("AttributeEnd\n"); printf("%c", '\377'); fflush(stdout); } } //normalize the vector - make unit vector float *unit(float x, float y, float z) { static float out[3]; float len = length(x, y, z); out[0] = x/len; out[1] = y/len; out[2] = z/len; return out; } //length float length(float x, float y, float z) { return (float) sqrt( x * x + y * y + z * z ); } //Random Number Function float randBetween(float min, float max) { return (float) rand()/RAND_MAX * (max - min) + min; }
View Final renders of the fireworks





 

 

 

Portfolio


rendering
& shading


projects     

programming     

fine art    

model concepts     

studies     


                             

 

                                   © 2004-2006 by Carrie Jones. All Rights Reserved.