<?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>crtl-i &#187; MEL (Maya)</title>
	<atom:link href="http://crtl-i.com/blog/category/mel/feed/" rel="self" type="application/rss+xml" />
	<link>http://crtl-i.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 01 Mar 2011 08:16:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Computational Workshop @ Kookmin University + Kyonggi University</title>
		<link>http://crtl-i.com/blog/2010/03/computational-workshop-kookmin-university-kyonggi-university/</link>
		<comments>http://crtl-i.com/blog/2010/03/computational-workshop-kookmin-university-kyonggi-university/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 13:29:03 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Korea]]></category>
		<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=523</guid>
		<description><![CDATA[I will be running a Maya workshop for Jinbok Wie&#8217;s studios at Kookmin and Kyonggi University this coming week. &#8211; WORKSHOP: COMPUTATIONAL DYNAMICS – ‘BONE’ Tutors: 김지호 (http://www.ynotwhy.com, http://crtl-i.com) + 위진복 (http://wieandpartners.com) The workshop will be dedicated to constituting the artificial process of transformation of material information. This process will target comprehension of how extensities [...]]]></description>
			<content:encoded><![CDATA[<p>I will be running a Maya workshop for Jinbok Wie&#8217;s studios at Kookmin and Kyonggi University this coming week.</p>
<p>&#8211;</p>
<p>WORKSHOP: COMPUTATIONAL DYNAMICS – ‘BONE’<br />
Tutors: 김지호 (<a href="http://www.ynotwhy.com">http://www.ynotwhy.com</a>, <a href="http://crtl-i.com">http://crtl-i.com</a>) + 위진복 (<a href="http://wieandpartners.com">http://wieandpartners.com</a>)<br />
The workshop will be dedicated to constituting the artificial process of transformation of material information. This process will target comprehension of how extensities are formed into intensities. The STUDIO will deal with form as field which is full of dynamic strengths, rather than reductive physics. The STUDIO will work with the materiality of matter implying the changes of modes and the shifts of energy, rather than materials in modern manner. The introduction of dynamic modelling tools from Maya will give the STUDIO the learning of the capabilities of the program, coupled with the understanding of the relevant parameters of the subject studied: nCloth, IK, particle-dynamics, soft bodies, expressions, and etc. If relevant, some other parametric synchronization tools like grasshopper and scripts will be possibly introduced.</p>
<p>‘Bone’ will be dealt with in two scales of material system and two levels information exchange that enriches the subject, ENGINEERING VERTICALITY. TWO SCALES: 1. The microscopic level of the internality and the individuality 2. The macroscopic level of bone as collectivity TWO LEVELS: 1. The relation to other system of the body 2. The relation to external forces.</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2010/03/computational-workshop-kookmin-university-kyonggi-university/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catenary &#8211; Maya nCloth</title>
		<link>http://crtl-i.com/blog/2010/02/catenary-maya-ncloth/</link>
		<comments>http://crtl-i.com/blog/2010/02/catenary-maya-ncloth/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 10:02:55 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[catenary]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[ncloth]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=505</guid>
		<description><![CDATA[Karey (http://kareydarnellhelms.com) showed me a great catenary / structural analysis tool being developed in grasshopper (http://spacesymmetrystructure.wordpress.com/2010/01/21/kangaroo/). Similar ideas can be explored using the nCloth tool in Maya. This is what it looks like.]]></description>
			<content:encoded><![CDATA[<p>Karey (<a href="http://kareydarnellhelms.com" target="_blank">http://kareydarnellhelms.com</a>) showed me a great catenary / structural analysis tool being developed in grasshopper (<a href="http://spacesymmetrystructure.wordpress.com/2010/01/21/kangaroo/" target="_blank">http://spacesymmetrystructure.wordpress.com/2010/01/21/kangaroo/</a>). Similar ideas can be explored using the nCloth tool in Maya. This is what it looks like.</p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/02/cloth.jpg"><img class="alignnone size-full wp-image-506" title="cloth" src="http://crtl-i.com/blog/wp-content/uploads/2010/02/cloth.jpg" alt="" width="640" height="1209" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2010/02/tt.jpg"><img class="alignnone size-full wp-image-507" title="tt" src="http://crtl-i.com/blog/wp-content/uploads/2010/02/tt.jpg" alt="" width="640" height="418" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2010/02/catenary-maya-ncloth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maya Simulations &#8211; Hair Ball</title>
		<link>http://crtl-i.com/blog/2009/12/maya-simulations-hair-ball/</link>
		<comments>http://crtl-i.com/blog/2009/12/maya-simulations-hair-ball/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 01:57:56 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Ball]]></category>
		<category><![CDATA[Hair]]></category>
		<category><![CDATA[Maya]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=442</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="600" height="450"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8173355&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8173355&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="450"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/12/maya-simulations-hair-ball/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maya Simulations &#8211; Wind Field</title>
		<link>http://crtl-i.com/blog/2009/12/maya-simulations/</link>
		<comments>http://crtl-i.com/blog/2009/12/maya-simulations/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 13:55:11 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Field]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Wind]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=420</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="600" height="500"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8145577&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8145577&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="500"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/12/maya-simulations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vector Sketch &#8211; Maya Particles</title>
		<link>http://crtl-i.com/blog/2009/11/vector-sketch-maya-particles/</link>
		<comments>http://crtl-i.com/blog/2009/11/vector-sketch-maya-particles/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 04:22:34 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Particles]]></category>
		<category><![CDATA[Sketch]]></category>
		<category><![CDATA[Vector]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=403</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="750" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7887258&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="750" src="http://vimeo.com/moogaloop.swf?clip_id=7887258&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2009/11/vector-sketch-maya-particles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Surface Space Frame (MEL)</title>
		<link>http://crtl-i.com/blog/2008/06/two-surface-space-frame-mel/</link>
		<comments>http://crtl-i.com/blog/2008/06/two-surface-space-frame-mel/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 18:27:01 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[frame]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[surface]]></category>
		<category><![CDATA[two]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=140</guid>
		<description><![CDATA[This could be done with many different softwares/methods. Some time last year, I was looking at MEL to write this script that uses two different surfaces to simulate a space frame according to U/V divisions. This can now be easily performed with just a few steps using Grasshopper (Explicit History Plug-in) in Rhino. // // [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://crtl-i.com/blog/wp-content/uploads/2008/06/render.jpg"><img class="alignnone size-full wp-image-142" title="render" src="http://crtl-i.com/blog/wp-content/uploads/2008/06/render.jpg" alt="" /></a></p>
<p><a href="http://crtl-i.com/blog/wp-content/uploads/2008/06/maya_space_frame.jpg"><img class="alignnone size-full wp-image-141" title="maya_space_frame" src="http://crtl-i.com/blog/wp-content/uploads/2008/06/maya_space_frame.jpg" alt=""  /></a></p>
<p>This could be done with many different softwares/methods. Some time last year, I was looking at MEL to write this script that uses two different surfaces to simulate a space frame according to U/V divisions. This can now be easily performed with just a few steps using Grasshopper (Explicit History Plug-in) in Rhino.</p>
<p>//<br />
// Script written by Howard Jiho Kim | kimjiho@gmail.com | crtl-i.com | 2007<br />
//<br />
// ex.<br />
// spFrSurface(srfName1, srfName2, U, V)<br />
// spFrSurface(&#8220;nurbsPlane1&#8243;, &#8220;nurbsPlane2&#8243;, 10, 10)<br />
//</p>
<p>// HORIZONTAL MEMBERS!!</p>
<p>global proc spFrSurface(string $nurb, string $nurb2, int $u, int $v)<br />
{<br />
gridSurface($nurb, $u,$v);<br />
gridSurface($nurb2, $u,$v);</p>
<p>float $u_inc = 1.0/$u;<br />
float $v_inc = 1.0/$v;<br />
float $cv[], $cv2[], $cv3[];</p>
<p>float $i2, $k2;</p>
<p>// get U information</p>
<p>$u = $u + 1;<br />
$v = $v + 1;</p>
<p>for($i=0;$i&lt;$u;$i++)<br />
{<br />
for($k=0;$k&lt;$v;$k++)<br />
{</p>
<p>$i2 = $u_inc * $i;<br />
print (&#8220;u:&#8221; + $i2 + &#8221; | &#8220;);<br />
$k2 = $v_inc * $k;<br />
print (&#8220;v:&#8221; + $k2 + &#8221; | &#8220;);<br />
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;<br />
print( $cv[0] +&#8221; &#8220;+ $cv[1] +&#8221; &#8220;+ $cv[2]  + &#8221; | &#8220;);</p>
<p>$cv2 = `pointOnSurface -u $i2 -v $k2 -position $nurb2`;<br />
print( $cv2[0] +&#8221; &#8220;+ $cv2[1] +&#8221; &#8220;+ $cv2[2] +&#8221;\n&#8221;);</p>
<p>curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;</p>
<p>// print CV</p>
<p>//$x[$k] = $cv[0];<br />
//$y[$k] = $cv[1];<br />
//$z[$k] = $cv[2];</p>
<p>}</p>
<p>//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6] $z[6] -p $x[7] $y[7] $z[7]`;<br />
}<br />
}</p>
<p>// LONGITUDINAL MEMBERS<br />
global proc gridSurface(string $nurb, int $u, int $v)<br />
{<br />
float $u_inc = 1.0/$u;<br />
float $v_inc = 1.0/$v;<br />
float $cv[], $cv2[], $cv3[];</p>
<p>float $i2, $k2;</p>
<p>// get U information</p>
<p>$u = $u + 1;</p>
<p>for($i=0;$i&lt;$u;$i++)<br />
{<br />
for($k=0;$k&lt;$v;$k++)<br />
{</p>
<p>$i2 = $u_inc * $i;<br />
print (&#8220;u:&#8221; + $i2 + &#8221; | &#8220;);<br />
$k2 = $v_inc * $k;<br />
print (&#8220;v:&#8221; + $k2 + &#8221; | &#8220;);<br />
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;<br />
print( $cv[0] +&#8221; &#8220;+ $cv[1] +&#8221; &#8220;+ $cv[2]  + &#8221; | &#8220;);</p>
<p>$k3 = $v_inc * ($k+1);</p>
<p>$cv2 = `pointOnSurface -u $i2 -v $k3 -position $nurb`;<br />
print( $cv2[0] +&#8221; &#8220;+ $cv2[1] +&#8221; &#8220;+ $cv2[2] +&#8221;\n&#8221;);</p>
<p>curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;</p>
<p>// print CV</p>
<p>//$x[$k] = $cv[0];<br />
//$y[$k] = $cv[1];<br />
//$z[$k] = $cv[2];</p>
<p>}</p>
<p>//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6] $z[6] -p $x[7] $y[7] $z[7]`;<br />
}</p>
<p>// get U information</p>
<p>$v = $v + 1;<br />
$u = $u &#8211; 1;</p>
<p>for($i=0;$i&lt;$v;$i++)<br />
{<br />
for($k=0;$k&lt;$u;$k++)<br />
{</p>
<p>$i2 = $u_inc * $k;<br />
print (&#8220;u:&#8221; + $i2 + &#8221; | &#8220;);<br />
$k2 = $v_inc * $i;<br />
print (&#8220;v:&#8221; + $k2 + &#8221; | &#8220;);<br />
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;<br />
print( $cv[0] +&#8221; &#8220;+ $cv[1] +&#8221; &#8220;+ $cv[2]  + &#8221; | &#8220;);</p>
<p>$i3 = $u_inc * ($k+1);</p>
<p>$cv2 = `pointOnSurface -u $i3 -v $k2 -position $nurb`;<br />
print( $cv2[0] +&#8221; &#8220;+ $cv2[1] +&#8221; &#8220;+ $cv2[2] +&#8221;\n&#8221;);</p>
<p>curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;</p>
<p>// print CV</p>
<p>//$x[$k] = $cv[0];<br />
//$y[$k] = $cv[1];<br />
//$z[$k] = $cv[2];</p>
<p>}</p>
<p>//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6] $z[6] -p $x[7] $y[7] $z[7]`;<br />
}<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2008/06/two-surface-space-frame-mel/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>curve length</title>
		<link>http://crtl-i.com/blog/2007/11/curve-length/</link>
		<comments>http://crtl-i.com/blog/2007/11/curve-length/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 13:35:55 +0000</pubDate>
		<dc:creator>crtl-i</dc:creator>
				<category><![CDATA[MEL (Maya)]]></category>
		<category><![CDATA[Arc Length]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://crtl-i.com/blog/?p=16</guid>
		<description><![CDATA[When I first started to learn how to script in mel, I had the hardest time trying to figure out the length of a spline curve. This is super easy, when a line is composed of purely straight lines. But, when a curve starts to bend, it gets extremely complicated. I wanted to understand exactly [...]]]></description>
			<content:encoded><![CDATA[<p>When I first started to learn how to script in mel, I had the hardest time trying to figure out the length of a spline curve. This is super easy, when a line is composed of purely straight lines. But, when a curve starts to bend, it gets extremely complicated. I wanted to understand exactly how a curve was shaped based on its degree and control points. I ran into good amount of websites and journals that explain spline curves with math formulas. I never figured out how to find out a curve length using script through pure math. However, I ended up learning a lot about spline curves, and this was probably the most helpful article that I ran into: <a href="http://crtl-i.com/blog/wp-content/uploads/2007/11/re-param.pdf" title="Arc Length Parameterization of Spline Curves">Arc Length Parameterization of Spline Curves</a>.</p>
<p>After a while of trying to figure this thing out, I found out about the arc length tool -__- And, also found a script that extracts the measurement from the arc length node. I modified the script a tiny bit and made it into a function, which looks like this:</p>
<p><img src="http://crtl-i.com/blog/wp-content/uploads/2007/11/getcurvelength.jpg" alt="ArcLength" /></p>
<p>proc float getCurveLength( string $curve )<br />
{<br />
string $arcLenNode = `createNode arcLengthDimension`;<br />
connectAttr -f ( $curve + &#8220;.worldSpace[0]&#8221; ) ( $arcLenNode + &#8220;.nurbsGeometry&#8221; );</p>
<p>setAttr ( $arcLenNode + &#8220;.uParamValue&#8221; ) `getAttr ( $curve + &#8220;.maxValue&#8221; )`;</p>
<p>float $curveLength = `getAttr ( $arcLenNode + &#8220;.arcLength&#8221; )`;</p>
<p>string $parent[] = `listRelatives -p $arcLenNode`;<br />
delete $parent;</p>
<p>return $curveLength;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://crtl-i.com/blog/2007/11/curve-length/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

