Matrix Project

I am very interested in organic and simple designs.
I was watching BBC documentary that was related to ocean.
I got inspiration from the BBC documentary for this project.

I found some reference images like these:

 

First of all, i made a core of a cell using blobby python script.
I have used the circle primitive to make the cell, but it did not look like a cell.
it was very hard for me to tweak the blobby python script because it was my first time learning a python script.
After i tweaked values in blobby script and got an acceptable result. i added the circle to make it look like a cell.

The result looks like this:

 

 

After the cell was done, i used python script to make the cell to have a random values.
Since i wanted to make this project to have a theme of a cell, it was very suitable.
This was possible by using ReadArchive function in the python script.

 

 

 

 

With the cell result, i made the cell look more complex by using python script.
The referenece image helped me to get a concept for the result.
i added some cylinder primitive as well as the random value for the colors.
the cylinder primitives are done with the same method, so iam going to explain.

 

import sys , math , random

def spheres(rad, num, size):
  for n in range (num):
   x = randBetween(-1.0, 1.0)
   y = randBetween(-1.0, 1.0)
   z = randBetween(-1.0, 1.0)
   x,y,z = normalize(x,y,z)
  print 'TransformBegin'
  print 'Translate %s %s %s' % (x, y, z)
  print 'Color %s %s %s' % (x, y, z)
  print 'Sphere %s %s %s 360' % (size, -size, size)
  print 'TransformEnd'

def main ():

  args = sys . stdin .readline()
     while args: arg = args.split()
      pixels = float (arg[0])
      rad = float (arg[1])
      num = int (arg[2])
      size = float (arg[3])
      print 'TransformBegin' spheres(rad, num, size)
      print 'TransformEnd'

      sys . stdout .write( '\377' )
      sys . stdout .flush()
      args = sys . stdin .readline()

if __name__ == "__main__" :
      main ()

After the final cell modeling was done,
i wanted to used the idea of giving the objects the random value
just like the first example with basic cell shape.
but i had many troubles and there are some really interesting result in the process.

 

 

 

I think this result came out because of the error in the python script.
The purpose of my script was to give random value for the final_cell object,
but i assume that the script could not execute the python command random for the translate value
which caused the duplicates of cells placing themselves at the same coordinate.

Frankly, it was very nice to see this result.
even though i have very little knowledge of fur system,
i think this can be used as a RGB fur pass with basic 3 point lights for huge scene with furs
such as Pixar's Monster Inc. because the rendering time was exceptionally fast.

 

(Example) The Chronicles of Narnia light passes. *including RGB pass.


 

 

anyways, by importing the python script for the cell to the new python script that executes the randomness of the cells,
It gives the results like this:

with the pixelSample:

GROUPCELL.MOV

ReadArchive is a one of rib procedures that is similar to reference functions in Maya which references another file.
The advantages of using ReadArchive are saving time to rewrite the script and reusing the data with lighter file size.
Therefore ReadArchive function ables to RenderMan to render huge scene very quickly.

The function of ReadArchive was the basic concept for my python script in this project.
By using python script, i was able to manipulate the advantages of RenderMan very flexibly.

I have learned alot about Renderman and Python from this project and understood the basic concept of both Renderman and Python.

 

 

 

 

 

 

All CopyRight Reserved 2009 @ mrgentle.net