From 6210c5cd173e8790851fcba29462d58bb5e050a2 Mon Sep 17 00:00:00 2001
From: Gabriel Dunne  
+    Shell script that slices a single image into any number of vertical and horizontal sections.
+ 
+    #!/bin/bash
+# Shell script to create file named after the current date
+# YYYY-MM-DD format
+
+DATE=$(date +%Y"-"%m"-"%d)
+echo -e "new file" > $DATE
\ No newline at end of file
diff --git a/content/code/imageslice b/content/code/imageslice
new file mode 100644
index 0000000..a14f955
--- /dev/null
+++ b/content/code/imageslice
@@ -0,0 +1,57 @@
+title = Image Slice
+date = 2009-04-23
+tags = bash, script, slice, image, imagemagick
+lang = bash
+--
+
+#!/bin/bash
+#copyright: 2009
+#author: gabriel dunne
+#url: quilime.com
+
+IMAGE=$1
+IMAGE_W=$2
+IMAGE_H=$3
+ROWS=$4
+COLS=$5
+
+if [ $# -eq 0 ]
+then
+	echo "usage: image width height rows cols"
+	echo "example: ./slice.sh Sunset.jpg 800 600 16 16"
+	exit
+else
+
+	for (( x = 1; x <= COLS; x++ ))
+	do
+	    for (( y = 1 ; y <= ROWS; y++ ))
+	    do
+	    	let CROP_X = `expr $IMAGE_W-IMAGE_W/$x`
+	    	let CROP_Y = `expr $IMAGE_H-IMAGE_H/$y`
+	    	let CROP_W = `expr $IMAGE_W/$ROWS`
+	    	let CROP_H = `expr $IMAGE_H/$COLS`
+	        echo -n "crop ${CROP_W}x${CROP_H}+${CROP_X}+${CROP_Y} result: [${x},${y}]_$IMAGE"
+	        echo ""
+			convert $IMAGE -crop ${CROP_W}x${CROP_H}+${CROP_X}+${CROP_Y} [${x},${y}]_$IMAGE
+	    done
+	done
+	
+fi
+
+
+To Use
+
+        
+
+            $  chmod 775 slice.sh
+$  ./slice.sh Sunset.jpg 800 600 16 16
+        
+Get luminosity of texture at UV coord in Maya with custom rgbToHsv node. +
+ +
+global proc float getLuminosityAtUVCoord(string $texture, float $U, float $V)
+{
+	$id = "lum"; // unique identifier in case there are duplicate nodes
+	$rgbToHsv = "rgbToHsv_" + $id ; // create rgbToHSV node if necesarry
+	if(!`objExists $rgbToHsv`) {
+		createNode rgbToHsv -n $rgbToHsv;
+	}
+
+	vector $color = `colorAtPoint -o RGB -u $U -v $V  $texture`;
+
+	setAttr ($rgbToHsv+".ir") ($color.x);
+	setAttr ($rgbToHsv+".ig") ($color.y);
+	setAttr ($rgbToHsv+".ib") ($color.z);
+
+	return `getAttr ($rgbToHsv+".ov")`;
+}
+
+
+
+// returns luminosity value of 0.5 U 0.5 V on texture file_seq
+$value = getLuminosityAtUVCoord("file_seq", 0.5, 0.5);
+
+
+
\ No newline at end of file
diff --git a/content/code/mel_notepad b/content/code/mel_notepad
new file mode 100644
index 0000000..98b802d
--- /dev/null
+++ b/content/code/mel_notepad
@@ -0,0 +1,122 @@
+date = 2007-12-12
+title = "MEL Notepad"
+tags = mel, maya
+lang = mel
+--
+
+process selection list
+string $select[] = `ls -sl`;
+for ( $node in $select ) // process each
+{
+   /* ... */
+}
+
+
+
+string $node = "object";
+if ( `objExists $node` )
+{
+   // The node exists
+}
+
+
++string $node = "pCube1.f[2]"; +string $no_component = `match "^[^\.]*" $node`; +// Result: "pCube1" // ++ +
+string $node = "pCube1.f[2]"; +string $component = `match "\\..*" $node`; +// Result: ".f[2]" // + +string $nodeAttr = "blinn1.color"; +string $attrName = `match "\\..*" $nodeAttr`; +// Result: ".color" // ++ +
+string $node = "pCube1.f[2]"; +string $component = `substitute "^[^.]*\\." $node ""`; +// Result: "f[2]" // + +string $nodeAttr = "blinn1.color"; +string $attrName = `substitute "^[^.]*\\." $nodeAttr ""`; +// Result: "color" // ++ +
+string $uiControl = "OptionBoxWindow|formLayout52|formLayout55|button6"; +string $uiParent = `substitute "|[^|]*$" $uiControl ""`; +// Result: OptionBoxWindow|formLayout52|formLayout55 // ++ +
+string $input = "line\n"; +$string $line = `match "^[^(\r\n)]*" $input`; +// Result: "line" // ++ +
+string $path = "C:/AW/Maya5.0/bin/maya.exe"; +string $dir = `match "^.*/" $path`; +// Result: "C:/AW/Maya5.0/bin/" ++ +
+string $path = "C:/AW/Maya5.0/bin/maya.exe"; +string $filepart = `match "[^/\\]*$" $path`; +// Result: "maya.exe" ++ +
+ +string $node = "pCube1|pCubeShape223"; +string $noSuffix = `match ".*[^0-9]" $node`; +// Result: "pCube1|pCubeShape" ++ +
+string $node = "pCube1|pCubeShape223"; +string $suffix = `match "[0-9]+$" $node`; +// Result: "223" // ++ +
+string $dagPath = "pCube1|pCubeShape223"; +string $shortName = `match "[^|]*$" $dagPath`; +// Result: pCubeShape223 // ++ +
+Function to return location of intersect with poly mesh and spherical object moving in the positive direction on the Y axis.
+
+
+
+global proc intersectSphereY()
+{
+    	print(". . . . . go go go\n");
+
+	int $iter = 50;
+	float $start[3] = {0, -0.5, 0};
+	float $limit[3] = {0, 5.0, 0};
+    	$mesh = "test_mesh";    
+	$tmpCN = "cpom";
+
+    
+	$obj = "rod1";
+    	float $radius = 0.5;
+    	float $curPos[3] = {0, 0, 0};
+
+	for ($i = 0; $i <= $iter; $i++)
+	{    
+       	$mesh = "test_mesh";
+		$shape = `listRelatives -shapes $mesh`;
+
+		createNode -n $tmpCN closestPointOnMesh;
+        	connectAttr -f ($shape[0] + ".outMesh") ($tmpCN + ".inMesh");
+        	setAttr ($tmpCN + ".inPosition") $curPos[0] $curPos[1] $curPos[2];
+        	
+		$cpom = `getAttr ($tmpCN + ".position")`;
+        	
+        	if ( pointDist($curPos, $cpom) <= $radius ) {
+			return ". . bonk\n";
+        	}
+
+        	$curPos[1] = ($limit.y) / $iter * $i;
+        	setAttr ($obj + ".translateY") $curPos[1];
+
+        	delete $tmpCN;
+    	}
+	return ". nope\n";
+}
+
+global proc float pointDist(float $p1[], float $p2[])
+{
+    return sqrt( 
+	(($p1[0] - $p2[0]) * ($p1[0] - $p2[0])) + 
+	(($p1[1] - $p2[1]) * ($p1[1] - $p2[1])) + 
+	(($p1[2] - $p2[2]) * ($p1[2] - $p2[2])));
+}
+
+intersectSphereY;
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/content/code/mel_sphere_intersect b/content/code/mel_sphere_intersect
new file mode 100644
index 0000000..33f62ec
--- /dev/null
+++ b/content/code/mel_sphere_intersect
@@ -0,0 +1,66 @@
+date = 2009-06-12
+title = "MEL Sphere Intersect"
+tags = "maya, mel, sphere, intersection"
+lang = mel
+--
+
+Function to return location of intersect with poly mesh and spherical object moving in the positive direction on the Y axis.
+
+
global proc intersectSphereY()
+{
+	print(". . . . . go go go\n");
+
+	int $iter = 50;
+	float $start[3] = {0, -0.5, 0};
+	float $limit[3] = {0, 5.0, 0};
+    	$mesh = "test_mesh";    
+	$tmpCN = "cpom";
+
+    
+	$obj = "rod1";
+    	float $radius = 0.5;
+    	float $curPos[3] = {0, 0, 0};
+
+	for ($i = 0; $i <= $iter; $i++)
+	{    
+       	$mesh = "test_mesh";
+		$shape = `listRelatives -shapes $mesh`;
+
+		createNode -n $tmpCN closestPointOnMesh;
+        	connectAttr -f ($shape[0] + ".outMesh") ($tmpCN + ".inMesh");
+        	setAttr ($tmpCN + ".inPosition") $curPos[0] $curPos[1] $curPos[2];
+        	
+		$cpom = `getAttr ($tmpCN + ".position")`;
+        	
+        	if ( pointDist($curPos, $cpom) <= $radius ) {
+			return ". . bonk\n";
+        	}
+
+        	$curPos[1] = ($limit.y) / $iter * $i;
+        	setAttr ($obj + ".translateY") $curPos[1];
+
+        	delete $tmpCN;
+    	}
+	return ". nope\n";
+}
+
+global proc float pointDist(float $p1[], float $p2[])
+{
+    return sqrt( 
+	(($p1[0] - $p2[0]) * ($p1[0] - $p2[0])) + 
+	(($p1[1] - $p2[1]) * ($p1[1] - $p2[1])) + 
+	(($p1[2] - $p2[2]) * ($p1[2] - $p2[2])));
+}
+
+intersectSphereY;
+
+
+
+
+
+
\ No newline at end of file
diff --git a/content/log/2008-11-17_buttons b/content/log/2008-11-17_buttons
new file mode 100644
index 0000000..162ae2f
--- /dev/null
+++ b/content/log/2008-11-17_buttons
@@ -0,0 +1,7 @@
+title = button invasion
+date = 2009-11-17
+tags = monome, fabrication, electronics
+--
+
+  
+monome, sparkfun
diff --git a/content/log/2009-12-13_mandala b/content/log/2009-12-13_mandala
new file mode 100644
index 0000000..93967b8
--- /dev/null
+++ b/content/log/2009-12-13_mandala
@@ -0,0 +1,11 @@
+title = mandala
+date = 2009-12-13
+tags = art, graphic design
+--
+
+
+
+
++endless knot, mandala +
\ No newline at end of file diff --git a/content/log/2009-12-18_taper b/content/log/2009-12-18_taper new file mode 100644 index 0000000..a92860c --- /dev/null +++ b/content/log/2009-12-18_taper @@ -0,0 +1,5 @@ +title = taper +date = 2009-12-18 +tags = tessellated +-- +
\ No newline at end of file
diff --git a/content/log/2010-01-13_relative_time b/content/log/2010-01-13_relative_time
new file mode 100644
index 0000000..05fb805
--- /dev/null
+++ b/content/log/2010-01-13_relative_time
@@ -0,0 +1,7 @@
+title = relative_time
+date = 2010-01-13
+tags = time, inspiration
+--
+
+
+
diff --git a/content/log/2010-01-22_cone b/content/log/2010-01-22_cone
new file mode 100644
index 0000000..a937eb3
--- /dev/null
+++ b/content/log/2010-01-22_cone
@@ -0,0 +1,11 @@
+title = cone
+date = 2010-01-22
+tags = installation, projection
+--
+
+
+
+
++test pattern +
\ No newline at end of file -- 2.34.1