Category Archives: Uncategorized

ypag

10 Feb 2015

The idea is to track faces using camera feed and once the face is detected a creature would start crawling towards the face.

I’m trying to get the ofxSkeleton add on to work with ofxLibface add on.

Ofxskeleton lets you build bone joint structures, it also has a solver for bone chains. You can group different bones together to create a joint.

The Example:

of1

I’m still working on getting ofskeleton to compile with face tracking.

 

jackkoo

10 Feb 2015

Sc2 gears is a program where users can look at star-craft replay data and compare stats between different games.

https://sites.google.com/site/sc2gears/

I will be using information from sc2gears, and also sound taken from the actual videos of the game like such.

The goal of my visualization is less for analyzing but more for celebrating famous moments like Idra quitting the game. There was one game where he mistakenly thought he was losing and left game when he was actually winning. The crowd was pumped up and cheering for the battle idra was about to engage in. However, Idra left the game and the cheers suddenly calmed down and turned into silence.

There is a lot of correlation between audio and what is happening in game. I would like to explore those correlations. These can be shown by showing the army

Another factor is that the game store time-stamps of all button clicks. There will be more condensed button clicks when people just get into a fight. That can show how much the players actions speed up during exiting moments.

These are the three main data comparisons I would like to use.

– Using timestamps to show units being build.

– Showing army size over time, to see when two army fights.

–  The volume of the audience from youtube videos.

The graphs will be spherical like this because they are more meant for celebration/art rather than actualy information visualization. It’s also spherical because it looks rather more scifi and that matches the aesthetic of the game.

IMG_0075

John Choi

10 Feb 2015

Mountain View

Essentially, this is the same idea I’ve had for the data I’ve collected so far, which are 10 second audio samples of YouTube sounds garnered from results of robotically searching abstract terms on the YouTube search bar.

The idea for this visualization is to have a bunch of buttons that play averaged sounds from hundreds of videos collected from YouTube.  While the text terms listed on the paper are only temporary, it clearly demonstrates the idea.  Suppose I press the “Hamburger” button.  The visualization will then proceed to play an averaged sound of several hundred YouTube videos tagged “Hamburger.”  Now, instead of hamburgers, I intend to collect and display sounds from abstract terms, which are words without any physical sound qualities.

dsrusso

10 Feb 2015

// Hydrous Habitat

hydrous1

The goal of this script was to develop an iterative means to generate interior infrastructure for an aquarium.  The script works by taking any vertical plane and then using its footprint to generate a laser cuttable undulating surface.  The script is parametric in several ways.  It firstly can take on any dimension as a starting point, and then the appropriate amount of u and v points can be decided to create an optimum effect.  The generative portion of the script utilizes randomization to create a unique surface with every iteration.

hydrous2

The output is designed specifically to generate sufficient geometry to use 1/4” thick acrylic for fabrication.  The output is immediately ready to be played out for nesting and cutting.  See the video below to view the script in action.

HydrousHabitat_scripting demo from Dan Russo on Vimeo.

Code Follows:


import rhinoscriptsyntax as rs
import random

def  CreateRibs():
    # Get the surface object
    surface_id = rs.GetObject("Select surface", rs.filter.surface)
    if surface_id is None: return

    # Get the number of rows
    rows = rs.GetInteger("Number of rows", 2, 2)
    if rows is None: return

    # Get the number of columns
    columns = rs.GetInteger("Number of columns", 2, 2)
    if columns is None: return

    # Get the domain of the surface
    U = rs.SurfaceDomain(surface_id, 0)
    V = rs.SurfaceDomain(surface_id, 1)
    if U is None or V is None: return

    points = []
    count = rows,columns
    objs = []
    srfS = []
    contourLine = []
    contourSrf = []
    point1 = (0,0,0)
    point2 = (0,0,20)
    path = rs.AddLine([0,0,0], [0,0,.25])

    # Add the points
    for i in xrange(0,rows):
        param0 = U[0] + (((U[1] - U[0]) / (rows-1)) * i)
        for j in xrange(0,columns):
            param1 = V[0] + (((V[1] - V[0]) / (columns-1)) * j)
            point = rs.EvaluateSurface(surface_id, param0, param1)
            point[1] = point[1] - random.uniform(.5,1.75)
            #print point
            points.append(point)
            rs.AddPoint(point)
    
    newSurface = rs.AddSrfPtGrid(count, points)
    
    crv1 = rs.DuplicateSurfaceBorder( newSurface )
    crv2 = rs.DuplicateSurfaceBorder( surface_id )
    objs.append(crv1)
    objs.append(crv2)
 
    bridge = rs.AddLoftSrf(objs)
    srfS.append(surface_id)
    srfS.append(newSurface)
    srfS.append(bridge)
   
    polySrf = rs.JoinSurfaces(srfS)

    contourLine = rs.AddSrfContourCrvs( polySrf, (point1, point2), interval = .5 )
   
    contourSrf = rs.AddPlanarSrf(contourLine)
    
    for i in range(len(contourSrf)):
    	rs.ExtrudeSurface( contourSrf[i], path, cap = True )

    rs.DeleteObjects(surface_id)
    rs.DeleteObjects(newSurface)
    rs.DeleteObjects(crv1)
    rs.DeleteObjects(crv2)
    rs.DeleteObjects(contourSrf)
    rs.DeleteObjects(bridge)
    rs.DeleteObjects(polySrf)


 


if __name__ == "__main__":

    CreateRibs()

 

dsrusso

10 Feb 2015

//PARALLAX

drusso_lenticular

 

This gif was created via node box, which is a visual programing environment for graphics and animation.  The concepts of this animation is simple.  The gif was created specifically for the context of a lenticular image.  The gif shifts itself to directionally match the lenticular and give a parallax effect to the geometry.  The gif was created via the embedded math library in conjunction with a generated sine wave.

lent_an1

The animation is a grid of points at it’s lowest level and then projects the hair like strands from each point.  The perspective is then calculated and shifted via the change in frame.