Face and Spider_60 sec. animation_{stages * 3}

Audio wave research time!

Totally not what I planed to do. I ended up make a story about a face and a spider. And it’s a face I guess represents the dark side of human beings. Scared easily by the unknown, and psyched about seeing spider being bullied by boxes.

3 stages story. Codes are gross and messy because I stayed up all night and was unconscious most of the time, and it can’t be played in Openprocessing I don’t know why… But. I kind of like the result even though it’s rough as hell, and I plan to make a v.2 of this.  Soon.

Codes

Continue reading

HealthyMovieNight

Eat wo Quilt

(click pic to enter)

Idea:

  1. choose your movie
  2. choose your food
  3. give me your weight
  4. movie length * calories burn by exercising per min = calories of food in certain amount you have.

Issues:

  1. hard to find regular food calories API
    • right now just use the first item in the array
  2. pizza has no serving size unit(null)
  3. id –> name

API:

  1. The Movie Database API
  2. Nutritionix

Source:

 

html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"/>
		<title> FanGuide </title>
		<link rel="stylesheet" type="text/css" href="style.css"/>

		<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
		<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>

	</head>
	<body>
		<p>The Movie Tonight
		<input id="movie" type="text"/></p>
		<p>The Food Tonight
		<input id="food" type="text"/></p>
		<p>Feel Like
		<button id="saw">Forestry</button> 
		<button id="fish">Fishing</button>
		<button id="dance">Ballet</button>
		<button id="jog">Water Jogging</button>
		Tonight</p>
		<p>Your Weight
		<input id="weight" type="text"/>
		<button id="kgButton">kg</button>
		<button id="lbsButton">lbs</button>
		</p>

		<button id="searchButton">Search</button>
		<!-- <button onClick="getFoodData();return false;">ARMS Surveys</button>
		<div id="divResultARMS"></div> -->
		<!-- <button id="update">UPDATE</button> -->
		<div id="articles"></div>
		<div id="articles2"></div>

	</body>
		<script type="text/javascript" src="script_new.js"></script>
</html>

js

var idMovie;
var movieTitle;
var duration;

var idFood;
var nameFood;
var calories;
var servingSize;
var servingSizeUnit;

var weightUnit;
var exerciseType;	// int
var exerciseTypeText;
var caloriesExercise;

var caloriesBurnAfterExersice;
var amountToEat;

var base_url = "http://image.tmdb.org/t/p/w500";

function getDuration(){
	var url = 'https://api.themoviedb.org/3/',
		mode = 'movie/',
		key = '?api_key=YourKey';

	$.ajax({
		url: url + mode + idMovie + key,
		dataType: 'jsonp',
		success: function(data){
			console.log(data);
			console.log("<img srt="" + base_url + data.backdrop_path + "">");

			movieTitle = data.original_title;

			duration = data.runtime;
			$('#articles').append("<div class='articleBox'>");
			//$('#articles').append("<p>" + movieTitle + "'s runtime: " + duration +"min" + "</p>");
			//$('#articles').append("<img src="" + base_url + data.backdrop_path + "">");
			$('#articles').append("</div>");

			$('#articles').css({
				"color": "white"
			});

			$('body').css({
				"background-image": "url("" + base_url + data.backdrop_path + "")",
				"color": "white"
			});
			getFoodID();
		}
	});

}

function getFoodID(){
	var url = 'https://api.nutritionix.com/v1_1/',
		search = 'search/',
		appId = '&appId=YourId',
		appKey = '&appKey=YourKey',
		setUp = 'results=0%3A10&cal_min=0&cal_max=50000&fields=item_name%2Cbrand_name%2Citem_id%2Cbrand_id';

	var input = $('#food').val(),
		foodName = encodeURI(input);

	$.ajax({
		url: url + search + foodName + '?' + setUp + appId + appKey,
		dataType: 'json',

		error: function(data){
			console.log("Something wrong!");
		},
		success: function(data){
			console.log(data);

			idFood = data.hits[0]._id;
			nameFood = data.hits[0].fields.brand_name + "'s " + data.hits[0].fields.item_name;

			console.log(idFood + nameFood);

			getNutrition();
		}
	});

}

function getNutrition(){
	var url = 'https://api.nutritionix.com/v1_1/',
		item = 'item?',
		appId = '&appId=YourId',
		appKey = '&appKey=YourKey';

	// nutrition search
	$.ajax({
		url: url + item + 'id=' + idFood + appId + appKey,
		dataType: 'json',

		error: function(data){
			console.log("Something wrong!");
		},
		success: function(data){
			console.log(data);

			// calories = data.nf_calories;
			// servingSize = data.nf_serving_size_qty;
			if(data.nf_serving_size_unit !== null){
				servingSizeUnit = data.nf_serving_size_unit;
			}

			if(data.nf_serving_size_qty !== null){
				calories = data.nf_calories / data.nf_serving_size_qty;
			} else {
				calories = data.nf_calories;
			}

			$('#articles').append("<div class='articleBox'>");
			//$('#articles').append("<p>" + nameFood + "'s calories: " + calories + " per 1 " + servingSizeUnit + "</p>");
			$('#articles').append("</div>");

			calculateEat();
		}
	});
}

function caloriesSetUp(){

	$('#jog').click(function(){
		exerciseType = 363;
		exerciseTypeText = "jog in water";
	});

	$('#saw').click(function(){
		exerciseType = 318;
		exerciseTypeText = "saw trees";
	});

	$('#fish').click(function(){
		exerciseType = 114;
		exerciseTypeText = "fish";
	});

	$('#dance').click(function(){
		exerciseType = 205;
		exerciseTypeText = "dance ballet";
	});

	// unit set-up
	$('#kgButton').click(function(){
		weightUnit = "kg";
	});

	$('#lbsButton').click(function(){
		weightUnit = "lbs";
	});

}

function caloriesBurn(){

	var input = $('#weight').val();
	if (weightUnit == "lbs") {
		caloriesExercise = exerciseType / 100 * input;
	} else {
		caloriesExercise = exerciseType / 100 * (input*2.20462);
	}

	return caloriesExercise;
}

function calculateEat(){

	caloriesBurn();

	// how many calories it will burn after exercising
	caloriesBurnAfterExersice = caloriesExercise / 60 * duration;

	// for certain calories, how many I can eat(per 1 serving size)
	amountToEat = caloriesBurnAfterExersice / calories;
	amountToEat = Math.round( amountToEat *10)/10;

	console.log(amountToEat);

	$('#articles2').append("<div class='articleBox'>");
	if(servingSizeUnit !== null){
		$('#articles2').append("<p>During " + movieTitle + ", if you " + exerciseTypeText + " all the way through it, you can eat " + amountToEat + " " + servingSizeUnit + " of " + nameFood + " without worrying gaining any weights!</p>");
	} else {
		$('#articles2').append("<p>During " + movieTitle + ", if you " + exerciseTypeText + " all the way through it, you can eat " + amountToEat + " " + nameFood + " without worrying gaining any weights!</p>");
	}
	$('#articles2').append("<p>Calories burnnnnnn.</p>");
	// $('#articles').append("<img src="" + base_url + data.backdrop_path + "">");
	$('#articles2').append("</div>");
}

$(document).ready(function(){
	var url = 'https://api.themoviedb.org/3/',
		mode = 'search/movie',
		input,
		movieName,
		//var url = "https://api.themoviedb.org/3/movie/550?api_key=";
		key = '?api_key=YourKey';

	caloriesSetUp();

	$('#searchButton').click(function(){
		var input = $('#movie').val(),
			movieName = encodeURI(input);

		$.ajax({
			url: url + mode + key + '&query=' + movieName,
			dataType: 'jsonp',
			success: function(data){
				console.log(data);

				idMovie = data.results[0].id;

				getDuration();

			}
		});

	});

});

css

.searchButton{
	width: 100px;
	height: 50px;
	text-align: center
}

.articles {
	text-align: center;

}

tweaking mini_arc of Mimi

Tweaking Mimi’s codes(go to youtube page to link to the amazing original codes of Mimi)!

–> the image of cat makes me laugh and realize the relationship of it with curve above better.

 

–> Feeling calm and a little be enchanted, just staring it to finish the pattern you expect in mind.

 

–> the change of speed, size, and color makes this feeling-soft-at-the-first-glance video more lively.

 

And I chose to watch the Cat footage for 10s, 30s, 2 minutes, 5 minutes, and 10 minutes….. what do I feel? NAUSEOUS. Apparently. It starts as interesting and fun, but after long time staring it, it became boring and made me dizzy.

mushroom. intervention. systemic.

First thought after reading “Unruly Edges: Mushrooms as Companion Species”, Arts of Inclusion, or, How to Love a Mushroom”, and the interview with Oliver during weekend is that, I kind of found the purpose of a project, what can I do about it and what’s the possible future of a project. As an artist, I can start from

"love"

, start from developing deeper and knowing thoroughly about what I love, and then gradually, with the creative interventions, I can bridge worlds between public and the field where my passion lies.  Quoted from Anna “… my stories tell how advocacy for mushrooms can lead to projects for democratic science and publicly inclusive wellbeing.“, I’m inspired to search what I’m crazy about and immerse myself in it. Before that, I don’t really understand the goal of this class now I’ve found it. It’s not about just trying to use fungi in your projects and trying to involve Led, motor, Arduino, but trying to intervene this mysterious field with your point of view. Then as a messenger, you expose the rarely-knew info and make it connect to the public.

Thus, simplifying and more comprehensive project update:

2014-02-19 08.08.44

Idea

  • One line description: See the world through fungus.
  • I want to build up connections between fungus and people, and further take fungus as a bridge to connect people with the world beyond fungus. Thus being aware of what fungus is, what fungus does, how does it affect the planet.
  • The idea is playing with the notions from “Mycelium Running” by Paul Stamets,
    • I see the mycelium as the Earth’s natural Internet, a consciousness with which we might be able to communicate. Through cross-species interfacing, we may one day exchange information with these sentient cellular networks. Because these externalized neurological nets sense any impression upon them, from footsteps to falling tree branches, they could relay enormous amounts of data regarding the movements of all organisms through the landscape.
  • One particular thing I’d love to highlight is fungus’s decomposing ability. It is the key of the nutrient cycling system, and also degrade or remove toxins from the environment.
  • So yes, it’s a project with eco-friendly aspect and hope people will be more aware of the environmental issue.

Content

  • Upon a box of soil, are 5~8 mycelium lights hanging and changing between bright and dim gradually.
  • In the background screen, playing the collage of the mycelium activities(growing, moving, etc) video footages, representing fungus’s daily life.
  • Once  someone comes near(detected by ultrasonic sensor), the mycelium lights speed up changing, and forming a pattern of spreading. Also, the screen’s content turns to show the interactions between fungus and humankind, including foraging, pollution, infection, bio-chemical etc.
  • If time permits, the soil will be pushed by the solenoids beneath, amplifying fungus’s awareness of us.

Materials

  • Mycelium Lights * 5~8
    • wrap mycelium(post-blender) around balloons, and poke the balloons once mycelium eats all the materials
  • Wood sticks * 4
  • Wires hiding in flax ropes
  • Wood base
    • soil in wood box
    • ultrasonic sensor attached
    • solenoid beneath(if time permits)

mycelium_ball

Also about the case study, one thing interests me that most of the projects from reading and from Oliver, all have certain degree of public influence, and create new behavior. I wonder how many artist originally had this kind of visions and how many artist eventually made it and change the real world? Or are they actually all make it through but just in different level? And how can we keep our vision and passion vivid and lively?

physical aspects {Tranquil_v2}

Based on the physical characteristics assigned by Neva:

  • Scale: Immersive versus Distant
    • distant
  • Density: Heavy versus Light
    • light, in order, orientation like lotus
  • Rigidity / Elasticity: Hard versus Soft
    • freely, floating, soft
  • Energy-Level: Exciting versus Calming
    • calming
  • Number: One versus Crowd
    • only one
    • or many but with a lot of space, freely floating like stars

I adjust my {Tranquil_v1} from this:

to this(click to switch the background mode(black, grey dots, white), it’d run faster if you enter the post to see):