

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cwwang.com &#187; Teaching</title>
	<atom:link href="http://cwwang.com/category/teaching/feed/" rel="self" type="application/rss+xml" />
	<link>http://cwwang.com</link>
	<description>Che-Wei Wang</description>
	<lastBuildDate>Sat, 06 Nov 2010 15:58:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Excel Import to Rhinoscript</title>
		<link>http://cwwang.com/2008/04/08/excel-import-to-rhinoscript/</link>
		<comments>http://cwwang.com/2008/04/08/excel-import-to-rhinoscript/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 19:32:45 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Rhinoscript]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/?p=724</guid>
		<description><![CDATA[Example Rhinoscript to import excel files into variables. Option Explicit 'excel import to rhinoscript , che-wei wang 4.8.2008 'excel cell numbers begin with 1,1 (not 0,0) Call Main() Sub Main() Dim FileName, file, excel FileName = Rhino.OpenFileName("Select Excel File","Excel Files (*.xls)&#124;*.xls&#124;&#124;") If isNull(FileName) Then Exit Sub Set excel = CreateObject("Excel.Application") excel.Visible = True excel.Workbooks.Open(FileName) Set [...]]]></description>
			<content:encoded><![CDATA[<p>Example Rhinoscript to import excel files into variables.<br />
<span id="more-724"></span></p>
<pre><code>Option Explicit
'excel import to rhinoscript , che-wei wang 4.8.2008
'excel cell numbers begin with 1,1 (not 0,0)

Call Main()
Sub Main()
	Dim FileName, file, excel
	FileName = Rhino.OpenFileName("Select Excel File","Excel Files (*.xls)|*.xls||")
	If isNull(FileName) Then Exit Sub

	Set excel = CreateObject("Excel.Application")
	excel.Visible = True

	excel.Workbooks.Open(FileName)
	Set file = excel.ActiveSheet

	Dim x:x= file.Cells(1,2).Value

	Call Rhino.Print(x)

	excel.UserControl = True
End Sub
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/04/08/excel-import-to-rhinoscript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Align to Point Rhinoscript</title>
		<link>http://cwwang.com/2008/03/15/align-to-point-rhinoscript/</link>
		<comments>http://cwwang.com/2008/03/15/align-to-point-rhinoscript/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 19:54:46 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Comp Form]]></category>
		<category><![CDATA[Parametric Modeling]]></category>
		<category><![CDATA[Rhinoscript]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/03/15/align-to-point-rhinoscript/</guid>
		<description><![CDATA[A basic Rhinoscript to rotate surfaces to align their normal to a point. Option Explicit 'Script written by Che-Wei Wang 'Script version Friday, March 07, 2008 10:55:15 AM Call Main() Sub Main() 'select srfs to rotate Dim arrSurfaces:arrSurfaces=Rhino.GetObjects("select surfaces to rotate") 'select point Dim point:point=Rhino.GetPoint("select light source point") 'calcuate vector from point to each srf [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/rotatesurfacescript.jpg" title="rotatesurfacescript.jpg" rel="lightbox[677]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/rotatesurfacescript.thumbnail.jpg" width="128" height="60" alt="rotatesurfacescript.jpg" class="imageframe" /></a></p>
<p>A basic Rhinoscript to rotate surfaces to align their normal to a point.<br />
<span id="more-677"></span></p>
<pre><code>Option Explicit
'Script written by Che-Wei Wang
'Script version Friday, March 07, 2008 10:55:15 AM

Call Main()
Sub Main()
	'select srfs to rotate
	Dim arrSurfaces:arrSurfaces=Rhino.GetObjects("select surfaces to rotate")

	'select point
	Dim point:point=Rhino.GetPoint("select light source point")

	'calcuate vector from point to each srf
	Dim srf
	For Each srf In arrSurfaces
		'find center of each srf
		Dim arrCentroid:arrCentroid=Rhino.SurfaceAreaCentroid(srf)
		'arrCentroid(0) is the center point
		Dim lightVector:lightVector=Rhino.VectorCreate( point,arrCentroid(0) )		

		'calculate normal to srf
		Dim srfNormal:srfNormal=Rhino.SurfaceNormal( srf, Array(0,0) )
		'normalize vectors
		lightVector=Rhino.VectorUnitize(lightVector)
		srfNormal=Rhino.VectorUnitize(srfNormal)

		'calcuate dot product and convert to radians
		Dim Angle:Angle=acos(Rhino.VectorDotProduct( lightVector,srfNormal)) 

		'calculate rotation axis
		Dim rotAxis:rotAxis=Rhino.VectorCrossProduct(lightVector, srfNormal )

		'rotate srf by that angle
		Call Rhino.RotateObject(srf,arrCentroid(0),360-Rhino.toDegrees(angle),rotAxis)

	Next	

End Sub</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/03/15/align-to-point-rhinoscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic Branching RhinoScript</title>
		<link>http://cwwang.com/2008/03/15/basic-branching-rhinoscript/</link>
		<comments>http://cwwang.com/2008/03/15/basic-branching-rhinoscript/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 19:41:58 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Comp Form]]></category>
		<category><![CDATA[Parametric Modeling]]></category>
		<category><![CDATA[Rhinoscript]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/03/15/basic-branching-rhinoscript/</guid>
		<description><![CDATA[Option Explicit 'Script written by Che-Wei Wang 'Script version Friday, March 14, 2008 11:38:10 AM Call Main() Sub Main() ReDim arrStart(0) 'set startpoint arrStart(0)= array(0,0,0) 'call drawBraches Function with initial settings(arrStart startPostition, L initialLength, number of branches, number of generations) Call drawBranches(arrStart, 2, 2, 6) End Sub Function drawBranches( arrStart(), L, nBranches, generations) ReDim arrEndPoints(nBranches) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/branching.jpg" title="branching.jpg" rel="lightbox[674]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/branching.thumbnail.jpg" width="128" height="103" alt="branching.jpg" class="imageframe" /></a><br />
<span id="more-674"></span></p>
<pre><code>Option Explicit
'Script written by Che-Wei Wang
'Script version Friday, March 14, 2008 11:38:10 AM

Call Main()
Sub Main()

	ReDim arrStart(0)
	'set startpoint
	arrStart(0)= array(0,0,0)
	'call drawBraches Function with initial settings(arrStart startPostition, L initialLength, number of branches, number of generations)
	Call drawBranches(arrStart, 2, 2, 6)

End Sub

Function drawBranches( arrStart(), L, nBranches, generations)
	ReDim arrEndPoints(nBranches)
	Dim k,j
	Dim arrEnd, strobject, branchCount
	'reset branch count
	branchCount=0
	'for each start point
	For k = 0 To uBound(arrStart)
		'draw branches
		For j=0 To nBranches-1
			'endpoint based on startpoint
			arrEnd=array(arrStart(k)(0),arrStart(k)(1)+L,arrStart(k)(2)+rnd*L)
			'add line
			strObject=rhino.addline(arrStart(k), arrEnd)
			'rotate line randomly between -30 and 30
			Call rhino.RotateObject(strObject, arrStart(k), rnd*60-30)	 		

			'save each branches endpoint in an array
			ReDim Preserve arrEndPoints(branchCount)
			arrEndPoints(branchCount)=	Rhino.CurveEndPoint(strObject)
			'keep a count of the number of branches drawn
			branchCount=branchCount+1								     		

		Next
	Next

	'exit loop if generations=0
	If generations&gt;0 Then
		'recursive call with endpoints as startpoints, modified length, number of branches, and generation count-1
		Call drawBranches(arrEndPoints, l*.85, nBranches , generations-1)
	End If				

End Function</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/03/15/basic-branching-rhinoscript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Etek EB-85A GPS Example Code</title>
		<link>http://cwwang.com/2008/03/13/etek-eb-85a-gps-example-code/</link>
		<comments>http://cwwang.com/2008/03/13/etek-eb-85a-gps-example-code/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 03:41:24 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/03/13/etek-eb-85a-gps-example-code/</guid>
		<description><![CDATA[Here&#8217;s some example Arduino code for getting a Etek EB-85A module up and reading latitude and longitude (will probably work with most GPS modules). You can purchase a module from Sparkfun. The module only needs power, ground, rx and tx. Most modules like the Etek start sending NMEA strings as soon as it has power. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/etekgps5hz-02-m.jpg" title="etekgps5hz-02-m.jpg" rel="lightbox[673]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/etekgps5hz-02-m.thumbnail.jpg" alt="etekgps5hz-02-m.jpg" class="imageframe" height="90" width="128" /></a></p>
<p>Here&#8217;s some example Arduino code for getting a Etek EB-85A module up and reading latitude and longitude (will probably work with most GPS modules).  You can purchase a module from <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8266">Sparkfun</a>.</p>
<p>The module only needs power, ground, rx and tx.  Most modules like the Etek start sending NMEA strings as soon as it has power.  The Etek module takes a minute or two to get a satellite fix from a cold start in urban environments.  Signals drop out once in a while between tall buildings at street level even with DGPS and SBAS.  On a clear day, if you&#8217;re lucky, you can get a signal sitting by the window in urban canyons.</p>
<pre><code>//Etek GPS EB-85A Module Example
//by Che-Wei Wang and Kristin O'Friel
//32 Channel etek GPS unit
//modified from original code by Igor González Martín. http://www.arduino.cc/playground/Tutorials/GPS
boolean startingUp=true;
boolean gpsConnected=false;
boolean satelliteLock=false;

long myLatitude,myLongitude;

//GPS
#include &lt;string.h&gt;
#include &lt;ctype.h&gt;
int rxPin = 0;                    // RX PIN
int txPin = 1;                    // TX TX
int byteGPS=-1;
char linea[300] = "";
char comandoGPR[7] = "$GPRMC";
int cont=0;
int bien=0;
int conta=0;
int indices[13];

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup() {
  //GPS
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);

  for (int i=0;i&lt;300;i++){       // Initialize a buffer for received data
    linea[i]=' ';
  }
    Serial.begin(4800);
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void printInfo(){

  Serial.print("myLat: ");
  Serial.println(myLatitude);
  Serial.print("myLong: ");
  Serial.println(myLongitude);

  if(gpsConnected==true){
    Serial.println("GPS connected");
  }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//convert NMEA gps syntax of degrees and minutes to + or - decimal point degrees
long decimalMinutes( long l, char dir){
  //latitude ddmmmmmm
  //longitude dddmmmmmm
  long decimal;                 //ddmmmmmm
  float ll=(float)l/1000000.0;  //dd.mmmmmmm
  int dd=floor(ll);             //dd.mmmmmm
  float mmmmmm=(ll-dd);         //  .mmmmmm
  float dddddd=mmmmmm/6.0*10.0; //  .mmmmmm convert minutes to decimal degrees .dddddd
  decimal=(float)(dd+dddddd)*1000000.0;

  if(dir=='W'||dir=='S')decimal=decimal*-1.0;
  return decimal;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void readGPS() {
  byteGPS=Serial.read();         // Read a byte of the serial port
  if (byteGPS == -1) {           // See if the port is empty yet
    //delay(100);
    gpsConnected=false;
  }
  else {
    gpsConnected=true;
    linea[conta]=byteGPS;        // If there is serial port data, it is put in the buffer
    conta++;                      

    //printByte(byteGPS); //print raw rx

    if (byteGPS==13){            // If the received byte is = to 13, end of transmission
      cont=0;
      bien=0;
      for (int i=1;i&lt;7;i++){     // Verifies if the received command starts with $GPR
        if (linea[i]==comandoGPR[i-1]) bien++;
      }

      if(bien==6){               // If yes, continue and process the data
        for (int i=0;i&lt;300;i++){
          if (linea[i]==','){    // check for the position of the  "," separator
            indices[cont]=i;
            cont++;
          }
          if (linea[i]=='*'){    // ... and the "*"
            indices[12]=i;
            cont++;
          }
        }

        //satellite lock
        char satLock;
        for (int j=indices[1];j&lt;(indices[2]-1);j++){
          // Serial.print(linea[j+1]);
          // Serial.println("");
          if(linea[j+1]=='V')satelliteLock=false;
          else satelliteLock=true;
          satLock=linea[j+1];
        }

        //latitude
        char NS;
        char tempLat[9];
        int tempLatCount=0;
        for (int j=indices[2];j&lt;(indices[3]-1);j++){
          //print raw
          if(linea[j+1]!='.'){//remove decimal
            //Serial.print(linea[j+1]);
            tempLat[tempLatCount]=linea[j+1];
            tempLatCount++;
          }
        }

        //Serial.println("");
        for (int j=indices[3];j&lt;(indices[4]-1);j++){
          //Serial.println(linea[j+1]);
          NS=linea[j+1];
        }

        // myLatitude=strtol(tempLat);
        long myLat=strtol(tempLat, NULL, 10);
        //convert degrees and minutes to decimal degrees
        myLatitude=decimalMinutes(myLat,NS); 

        //longitude
        char EW;
        char tempLong[10];
        int tempLongCount=0;

        for (int j=indices[4];j&lt;(indices[5]-1);j++){
          //print raw
          if(linea[j+1]!='.'){//remove decimal
            //Serial.print(linea[j+1]);
            tempLong[tempLongCount]=linea[j+1];
            tempLongCount++;
          }
        }
        //Serial.println("");

        for (int j=indices[5];j&lt;(indices[6]-1);j++){
          // Serial.println(linea[j+1]);
          EW=linea[j+1];
        }

        long myLong=strtol(tempLong, NULL, 10);
        //convert degrees and minutes to decimal degrees
        myLongitude=decimalMinutes(myLong,EW);

        if (startingUp){
          //gps setup strings for Etek GPS modul
          Serial.print("$PMTK501,2*28rn");//turn on dgps
          Serial.print("$PMTK313,1*2Ern");//turn on sbas
          Serial.print("$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29rn");//gprmc only
          startingUp=false;
        }
      }
      conta=0; // Reset the buffer
      for (int i=0;i&lt;300;i++){
        linea[i]=' ';
      }
    }
  }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void loop() {
  readGPS();
  printInfo();
  //do stuff here
  //myLatitude is a long like 40689667 which is 40.689667 degrees
  //or -73946641 which is -73.94641

}</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/03/13/etek-eb-85a-gps-example-code/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSV import for Processing</title>
		<link>http://cwwang.com/2008/02/23/csv-import-for-processing/</link>
		<comments>http://cwwang.com/2008/02/23/csv-import-for-processing/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 00:29:00 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/23/csv-import-for-processing/</guid>
		<description><![CDATA[Here&#8217;s a some code for Processing to import csv files and parse the entries into a 2D array. //for importing csv files into a 2d array //by che-wei wang String lines[] = loadStrings("list.csv"); String [][] csv; int csvWidth=0; //calculate max width of csv file for (int i=0; i < lines.length; i++) { String [] chars=split(lines[i],','); [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a some code for Processing to import csv files and parse the entries into a 2D array.<br />
<span id="more-633"></span></p>
<pre>//for importing csv files into a 2d array
//by che-wei wang

String lines[] = loadStrings("list.csv");
String [][] csv;
int csvWidth=0;

//calculate max width of csv file
for (int i=0; i < lines.length; i++) {
  String [] chars=split(lines[i],',');
  if (chars.length>csvWidth){
    csvWidth=chars.length;
  }
}

//create csv array based on # of rows and columns in csv file
csv = new String [lines.length][csvWidth];

//parse values into 2d array
for (int i=0; i < lines.length; i++) {
  String [] temp = new String [lines.length];
  temp= split(lines[i], ',');
  for (int j=0; j < temp.length; j++){
   csv[i][j]=temp[j];
  }
}

//test
println(csv[2][2]);</pre>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/23/csv-import-for-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surface Output Example</title>
		<link>http://cwwang.com/2008/02/17/surface-output-example/</link>
		<comments>http://cwwang.com/2008/02/17/surface-output-example/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 21:41:22 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/17/surface-output-example/</guid>
		<description><![CDATA[.dxf and 3D point position .txt file output and sunflow rendering example]]></description>
			<content:encoded><![CDATA[<p>.dxf and 3D point position .txt file output and sunflow rendering example</p>
<p><iframe src="http://cwwang.com/wordpress/wp-content/processing/surfOut/" frameborder="0" height="500" width="563"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/17/surface-output-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESS Jiggling Students Example</title>
		<link>http://cwwang.com/2008/02/09/ess-jiggling-students-example/</link>
		<comments>http://cwwang.com/2008/02/09/ess-jiggling-students-example/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 22:54:01 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/09/ess-jiggling-students-example/</guid>
		<description><![CDATA[An example sketch using the Ess library to make a class of objects jiggle in response to the microphone input]]></description>
			<content:encoded><![CDATA[<p>An example sketch using the <a href="http://www.tree-axis.com/Ess/index.html">Ess</a> library to make a class of objects jiggle in response to the microphone input</p>
<p><iframe src="http://cwwang.com/wordpress/wp-content/processing/jiggle/" frameborder="0" height="350" width="563"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/09/ess-jiggling-students-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sensors Galore</title>
		<link>http://cwwang.com/2008/02/01/sensors-galore/</link>
		<comments>http://cwwang.com/2008/02/01/sensors-galore/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 21:08:54 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/01/sensors-galore/</guid>
		<description><![CDATA[An example of blobDetection, Ess, sms, and ocd all rolled into one sketch. Click and drag on the screen to move the HUD sliders around. (nothing is going to load here. copy the code to your processing sketch to run it) Processing libraries: Tree-Axis » krister » Ess Processing Sudden Motion Sensor Library at daniel [...]]]></description>
			<content:encoded><![CDATA[<p>An example of blobDetection, Ess, sms, and ocd all rolled into one sketch. Click and drag on the screen to move the HUD sliders around.  (nothing is going to load here. copy the code to your processing sketch to run it)</p>
<p><span id="more-585"></span></p>
<p><iframe src="http://cwwang.com/wordpress/wp-content/processing/Sensors_Galore/" frameborder="0" height="300" width="563"></iframe></p>
<p>Processing libraries:<br />
<a href="http://www.cise.ufl.edu/%7Ekdamkjer/processing/libraries/ocd/">Tree-Axis » krister » Ess<br />
Processing Sudden Motion Sensor Library at daniel shiffman<br />
BlobDetection library / v3ga<br />
Myron (WebCamXtra) &#8211; Computer Vision &amp; Well Connected Motion Tracking<br />
Obsessive Camera Direction</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/01/sensors-galore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spot Example</title>
		<link>http://cwwang.com/2008/02/01/spot-example/</link>
		<comments>http://cwwang.com/2008/02/01/spot-example/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 19:43:17 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/01/spot-example/</guid>
		<description><![CDATA[A basic setup of a class structure The class Spot has 4 inputs (x,y,diamter, color) and 3 functions drawLines(float x1, float y1, float x2, float y2) , update(), and display(). Spot_Example : Built with Processing]]></description>
			<content:encoded><![CDATA[<p>A basic setup of a class structure</p>
<p>The class Spot has 4 inputs (x,y,diamter, color) and 3 functions<br />
drawLines(float x1, float y1, float x2, float y2) , update(), and display().</p>
<p><a href="http://cwwang.com/wordpress/wp-content/processing/Spot_Example/">Spot_Example : Built with Processing</a></p>
<p><iframe src="http://cwwang.com/wordpress/wp-content/processing/Spot_Example/" frameborder="0" height="300" width="563"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/01/spot-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

