<?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>Ubicuos.com</title>
	<atom:link href="http://www.ubicuos.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ubicuos.com</link>
	<description>Tecnología,Programación, Proyectos, Ciencia y Empresas</description>
	<lastBuildDate>Mon, 08 Mar 2010 17:31:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Puesta en marcha de Tkinter</title>
		<link>http://www.ubicuos.com/2010/03/08/puesta-en-marcha-de-tkinter/</link>
		<comments>http://www.ubicuos.com/2010/03/08/puesta-en-marcha-de-tkinter/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:15:10 +0000</pubDate>
		<dc:creator>Jorge Alejandro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Tk]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=683</guid>
		<description><![CDATA[
			
				
			
		
Se resume una forma de utilizar la interface estándar de python llamada Tkinter. Se construye un programa (hola mundo !) que permite mostrar como usar dicha interface.
Tkinter es la interface por defecto que tiene python para la GUI de tk. Sabemos que tk es una biblioteca que permite crear aplicaciones de escritorio que pueden ejecutarse [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F08%2Fpuesta-en-marcha-de-tkinter%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F08%2Fpuesta-en-marcha-de-tkinter%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Se resume una forma de utilizar la interface estándar de <em>python</em> llamada <em>Tkinter</em>. Se construye un programa (hola mundo !) que permite mostrar como usar dicha interface.</p>
<p><em>Tkinter</em> es la interface por defecto que tiene <em>python</em> para la GUI de <em>tk</em>. Sabemos que <em>tk</em> es una biblioteca que permite crear aplicaciones de escritorio que pueden ejecutarse sin cambios en diferentes sistemas operativos.<br />
<span id="more-683"></span><br />
Tkinter está disponible en la mayoría de sistemas opertivos basados en UNIX, así como en Windows y Macintosh, a partir de su version 8.0 Tk ofrece una apariencia nativa en todas las plataformas.</p>
<p>Además del módulo de interface hacia Tk, Tkinter ofrece una variedad de módulos de python.</p>
<p>A continuación vamos a crear una aplicación sencilla para mostrar el funcionamiento de <em>tkinter</em>, para ello debemos crear un <em>widget</em>. Un widget es un componente gráﬁco con el cual el usuario puede interactuar, puede ser una ventana o algún dispositivo de ventana, para este caso es una ventana ordinaria.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">Tkinter</span> <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #66cc66;">*</span>
root = Tk<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
root.<span style="color: black;">mainloop</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>La aplicación se mantendrá en un ciclo principal hasta que sea cerrada la aplicación, tal evento <em>mainloop</em> se encarga de los eventos generados por el usuario (clics, teclas presionadas, etc.), así como de los eventos generados por la ventana, los mensajes de conﬁguracón de ésta y operaciones del mismo Tkinter, etc. Se recomienda colocar el <em>mainloop</em> al final del código, de otra manera se entra al ciclo principal antes de que los conrtoles sean agregados.</p>
<p>Después se debe agregar un frame (contenedor) donde vamos a colocar los controles (botones y etiquetas) de nuestra aplicación.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">frame = Frame<span style="color: black;">&#40;</span>root, height=<span style="color: #ff4500;">100</span>, width=<span style="color: #ff4500;">200</span><span style="color: black;">&#41;</span>
frame.<span style="color: black;">pack_propagate</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>
frame.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>La función <em>pack_propagate</em> especifica que el contenedor deberá mantener su tamaño determinado. La función <em>pack</em> muestra visibles a los controles, en el caso de un botón también se debe llamar dicha función:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">funcOne = Button<span style="color: black;">&#40;</span>frame, text=<span style="color: #483d8b;">&quot;Mostrar&quot;</span>, command=say_hello<span style="color: black;">&#41;</span>
funcOne.<span style="color: black;">pack</span><span style="color: black;">&#40;</span>side=BOTTOM<span style="color: black;">&#41;</span></pre></div></div>

<p>El constructor del botón recibe el contenedor al que se va a agregar (frame), una cadena de texto que se mostrará en el botón y el nombre de la función que será ejecutada cuando el botón sea presionado.</p>
<p>Por útlimo debemos crear una función que agrege al contenedor una etiqueta que muestre el texto &#8220;<em>Hola mundo !</em>&#8220;.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> say_hello<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    w = Label<span style="color: black;">&#40;</span>frame, text=<span style="color: #483d8b;">&quot;Hola mundo !&quot;</span><span style="color: black;">&#41;</span>
    w.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Al final nuestra pequeña aplicación deberá mostrarse asi:</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/HelloWorldTkInter.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/HelloWorldTkInter.png" alt="Hola Mundo" title="Hello World TkInter" width="206" height="126" class="alignnone size-full wp-image-684" /></a></p>
<p>A continucaión se muestra el código final:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">Tkinter</span> <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #66cc66;">*</span>
&nbsp;
root = Tk<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
frame = Frame<span style="color: black;">&#40;</span>root, height=<span style="color: #ff4500;">100</span>, width=<span style="color: #ff4500;">200</span><span style="color: black;">&#41;</span>
frame.<span style="color: black;">pack_propagate</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>
frame.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> say_hello<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    w = Label<span style="color: black;">&#40;</span>frame, text=<span style="color: #483d8b;">&quot;Hola mundo !&quot;</span><span style="color: black;">&#41;</span>
    w.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
funcOne = Button<span style="color: black;">&#40;</span>frame, text=<span style="color: #483d8b;">&quot;Mostrar&quot;</span>, command=say_hello<span style="color: black;">&#41;</span>
funcOne.<span style="color: black;">pack</span><span style="color: black;">&#40;</span>side=BOTTOM<span style="color: black;">&#41;</span>
&nbsp;
root.<span style="color: black;">mainloop</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/03/08/puesta-en-marcha-de-tkinter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Construyen un robot controlado por Android de Google</title>
		<link>http://www.ubicuos.com/2010/03/06/construyen-un-robot-controlado-por-android-de-google/</link>
		<comments>http://www.ubicuos.com/2010/03/06/construyen-un-robot-controlado-por-android-de-google/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 23:41:18 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Empresas]]></category>
		<category><![CDATA[Robótica]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/03/06/construyen-un-robot-controlado-por-android-de-google/</guid>
		<description><![CDATA[
			
				
			
		
Tim Heath y Ryan Hickman han creado unos cellbots llamdos “Tankbot” y “Truckbot” que son robots que utilizan dispositivos Android.
Con sólo $30 dólares, un dipositivo Android y algo de creatividad han sido capacaes de crear estos robot que procesan órdenes vía Telnet en una PC.
Los robots se pueden mover en posiciones especificadas gracias a la [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F06%2Fconstruyen-un-robot-controlado-por-android-de-google%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F06%2Fconstruyen-un-robot-controlado-por-android-de-google%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Tim Heath y Ryan Hickman han creado unos cellbots llamdos “Tankbot” y “Truckbot” que son robots que utilizan dispositivos Android.</p>
<p>Con sólo $30 dólares, un dipositivo Android y algo de creatividad han sido capacaes de crear estos robot que procesan órdenes vía Telnet en una PC.</p>
<p>Los robots se pueden mover en posiciones especificadas gracias a la brújula integrada en algunos dispositivos.</p>
<p>Mientras que la funcionalidad del robot es mínima, el enfoque del proyecto fue utilizar teléfonos Android como el cerebro de estos robots.</p>
<p>La esperanza de estos desarrolladores es expandir la funcionalidad del robot para aprovechar en su totalidad el software de Android.</p>
<p>Heath y Hickman han documentado el proyecto completo en el sitio web <a href="http://www.cellbots.com">http://www.cellbots.com</a>, lo que significa que puedes también construir tu propio robot Android.</p>
<p>Aquí un vídeo</p>
<p> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/fPiQ-Rtcp9k&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/fPiQ-Rtcp9k&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>
<p>Vía Mashable.com: <a title="http://mashable.com/2010/03/06/cellbot/" href="http://mashable.com/2010/03/06/cellbot/">http://mashable.com/2010/03/06/cellbot/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/03/06/construyen-un-robot-controlado-por-android-de-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rotación de un cubo 3D usando Java</title>
		<link>http://www.ubicuos.com/2010/03/04/rotacion-de-un-cubo-usando-java/</link>
		<comments>http://www.ubicuos.com/2010/03/04/rotacion-de-un-cubo-usando-java/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 18:09:27 +0000</pubDate>
		<dc:creator>Jorge Alejandro</dc:creator>
				<category><![CDATA[Ciencia]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[algebra lineal]]></category>
		<category><![CDATA[grafiación]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=617</guid>
		<description><![CDATA[
			
				
			
		
Resumen
Se muestra una manera sencilla de graficar y rotar un Cubo. 
Se comienza con la teor&#237;a de transformaciones lineales y proyecciones en el plano, al final se muestra un c&#243;digo muy sencillo de una aplicaci&#243;n hecha en Java que ejemplifica y muestra las transfomaciones descritas.
Introducci&#243;n
Se puede rotar una figura en tres dimensiones, sobre el eje [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F04%2Frotacion-de-un-cubo-usando-java%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F04%2Frotacion-de-un-cubo-usando-java%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><em>Resumen</em></p>
<p>Se muestra una manera sencilla de graficar y rotar un Cubo. </p>
<p>Se comienza con la teor&iacute;a de transformaciones lineales y proyecciones en el plano, al final se muestra un c&oacute;digo muy sencillo de una aplicaci&oacute;n hecha en Java que ejemplifica y muestra las transfomaciones descritas.</p>
<p><em>Introducci&oacute;n</em></p>
<p>Se puede rotar una figura en tres dimensiones, sobre el eje X, sobre el eje Y o sobre el eje Z. </p>
<p>En el caso de una computadora, la pantalla es un espacio de dos dimensiones, por lo tanto hay que hacer una proyecci&oacute;n sobre el plano XY cada vez que se manipulen figuras tridimensionales.<br />
 <span id="more-617"></span></p>
<p>Existe un vector <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/v.png" width="19" height="20" alt="v" /> en el plano R2 con coordenadas (x, y) y un &aacute;ngulo <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/alfa.png" width="19" height="15" alt="alfa" /> con respecto al eje X,<br />
se desea rotar el vector en un &aacute;ngulo <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/teta.png" width="10" height="15" alt="teta" /> en sentido contrario de las manecillas del reloj con respecto al eje X. El nuevo vector <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/v.png" width="19" height="20" alt="v" /> &#8216; forma un &aacute;ngulo <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/teta.png" width="10" height="15" alt="teta" />+<img src="http://www.ubicuos.com/wp-content/uploads/2010/03/alfa.png" width="19" height="15" alt="alfa" />respecto al vector <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/v.png" width="19" height="20" alt="v" /> y existe la misma longitud <em>r</em> en ambos vectores como se muestra en la figura:</p>
<p align="center">
<img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Fig1.png" alt="fig1" />
</p>
<p>Utilizando las definiciones de seno y coseno obtenemos que para el vector <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/v.png" width="19" height="20" alt="v" /></p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula1.png" width="141" height="84" alt="Formula1" /></p>
<p>Para el vector <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/v.png" width="19" height="20" alt="v" />&#8216;, de forma similar, se obtiene que:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula2.png" width="178" height="85" alt="formula2" /></p>
<p>La suma de dos &aacute;ngulos esta dada por:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula3.png" width="421" height="66" alt="formula3" /></p>
<p>Si se considera r = 1 y se sustituyen los valores correspondientes de <em>x</em> e<em> y</em> de la figura 1 tenemos.</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula4.png" width="438" height="66" alt="Formula4" /></p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula5.png" width="251" height="66" alt="Formula5" /></p>
<p>Escribiendo las mismas ecuaciones en forma de matrices se obtiene:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula6.png" width="483" height="66" alt="Formula7" /></p>
<p>La matriz (1) es mejor conocida como matriz de rotaci&oacute;n, la cual determina las nuevas coordenadas (x&#8217;, y&#8217;) obtenidas por rotar un &aacute;ngulo <img src="http://www.ubicuos.com/wp-content/uploads/2010/03/teta.png" width="10" height="15" alt="teta" /> un punto (x, y) en sentido contrario de las manecillas del reloj.</p>
<p>  Si las rotaciones se quieren hacer en el espacio R3, se necesita considerar el valor del eje de rotaci&oacute;n (en el cual se desea girar) igual a uno y poner el resto  de los valores igual a cero. En el caso de la matriz (1) se considera que rota con respecto al eje z.</p>
<p>  Las matrices de rotaci&oacute;n correspondientes a cada uno de los ejes est&aacute;n dadas por:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/matrices_rotacion.png"  alt="Matrcies rotacion" /></p>
<p>Para poder mostrar la rotaci&oacute;n en tres dimensiones en un plano de dos dimensiones hay que hacer una proyecci&oacute;n. Una proyecci&oacute;n es una trasnformaci&oacute;n lineal que toma un punto en el espacio de tres dimensiones y lo proyecta en un plano, que en este caso sera el plano xy. La matriz de transfomaci&oacute;n que nos brinda la proyecci&oacute;n de un punto en el plano xy es:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Formula8.png" width="234" height="96" alt="Formula8" /></p>
<p>Ahora vamos a usar las matrices anteriores para tratar de rotar un cubo.</p>
<p>  Para construir un cubo se pueden tomar una lista de v&eacute;rtices, aristas o caras, para ejemplos ilustrativos vamos a tomar una lista de ocho v&eacute;rtices y vamos a enumerarlos como sigue:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Fig2.png"  alt="Fig2" /></p>
<p>Si trazamos lineas que unan los v&eacute;rtices de forma tal que formen las aristas del cubo, se obtiene la siguiente figura:</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Fig3.png" width="410" height="337" alt="Fig3" /></p>
<p>La figura 3 muestra un cubo centrado en el origen pero a pesar de que la figura mostrada aparenta ser un cuadrado (dos dimensiones) se sabe que tiene una tercera dimensi&oacute;n dado que tiene las tres coordenadas en cada uno de sus ocho v&eacute;rtices, pero al proyectar sus puntos en el plano xy todos los valores z de los puntos son &quot;planchados&quot; al plano xy. Para darse cuenta de la forma tridimensional de la figura basta con rotar los puntos del cubo sobre el eje <em>x</em> o sobre el eje <em>y</em>. </p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Fig4.png" width="309" height="282" alt="Fig4" /></p>
<p>El cubo aparenta estar representado en el espacio de tres dimensiones, pero carece de volumen, propiedad t&iacute;pica de los cuerpos tridimensionales. Para lograr una apariencia de volumen se necesitan crear diferentes pol&iacute;gonos que representen cada una de las caras del cubo, los v&eacute;rtices de cada cara del cubo ser&aacute;n los v&eacute;rtices de cada pol&iacute;gono y se puede asignar un color diferente a cada uno de ellos como se muestra.</p>
<p align="center"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Fig5.png" width="309" height="282" alt="Fig5" /></p>
</p>
<p>Para ilustrar mejor lo antes mencionado, se contruyó un <em>applet</em> que muestra un cubo en 3D el cual puede rotar utlizando las matrices descritas. </p>
<p><strong>Da click en el siguiente enlace para abrir el applet:</strong></p>
<p><a href='http://www.ubicuos.com/wp-content/uploads/2010/03/Hola.html'>Rotación 3D de un cubo usando Java</a></p>
<p><em>Debes mover el ratón mientras mantienes presionado el botón izquierdo sobre el cubo para observar su rotación.</em></p>
<p align="left">A continuaci&oacute;n se muestra el c&oacute;digo que muestra la utilizaci&oacute;n de matrices de rotaci&oacute;n y proyecciones en el plano.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.applet.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Stroke</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.lang.Math</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Polygon</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Represents a point in space */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">double</span> x<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">double</span> y<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">double</span> z<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">x</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">y</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">z</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> x,<span style="color: #000066; font-weight: bold;">double</span> y, <span style="color: #000066; font-weight: bold;">double</span> z<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">x</span><span style="color: #339933;">=</span>x<span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">y</span><span style="color: #339933;">=</span>y<span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">z</span><span style="color: #339933;">=</span>z<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* for move it at origin */</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span> getXCoordinate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000000; font-weight: bold;">return</span> Cube.<span style="color: #006633;">origin</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">x</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span> getYCoordinate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000000; font-weight: bold;">return</span> Cube.<span style="color: #006633;">origin</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">y</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span> getZCoordinate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000000; font-weight: bold;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">/* projection on XY plane*/</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Face<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #003399;">Point</span> p1,p2,p3,p4<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Polygon</span> side<span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Polygon</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
Face<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
&nbsp;
Face<span style="color: #009900;">&#40;</span><span style="color: #003399;">Point</span> p1,<span style="color: #003399;">Point</span> p2,<span style="color: #003399;">Point</span> p3,<span style="color: #003399;">Point</span> p4<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">p1</span><span style="color: #339933;">=</span>p1<span style="color: #339933;">;</span>this.<span style="color: #006633;">p2</span><span style="color: #339933;">=</span>p2<span style="color: #339933;">;</span>this.<span style="color: #006633;">p3</span><span style="color: #339933;">=</span>p3<span style="color: #339933;">;</span>this.<span style="color: #006633;">p4</span><span style="color: #339933;">=</span>p4<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">side</span>.<span style="color: #006633;">addPoint</span><span style="color: #009900;">&#40;</span>p1.<span style="color: #006633;">getXCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,p1.<span style="color: #006633;">getYCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">side</span>.<span style="color: #006633;">addPoint</span><span style="color: #009900;">&#40;</span>p2.<span style="color: #006633;">getXCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,p2.<span style="color: #006633;">getYCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">side</span>.<span style="color: #006633;">addPoint</span><span style="color: #009900;">&#40;</span>p3.<span style="color: #006633;">getXCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,p3.<span style="color: #006633;">getYCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">side</span>.<span style="color: #006633;">addPoint</span><span style="color: #009900;">&#40;</span>p4.<span style="color: #006633;">getXCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,p4.<span style="color: #006633;">getYCoordinate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> drawFace<span style="color: #009900;">&#40;</span><span style="color: #003399;">Graphics</span> g<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> g.<span style="color: #006633;">fillPolygon</span><span style="color: #009900;">&#40;</span>side<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> isVisible<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #003399;">Point</span> aux1, aux2<span style="color: #339933;">;</span>
&nbsp;
aux1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span>p2.<span style="color: #006633;">x</span><span style="color: #339933;">-</span>p1.<span style="color: #006633;">x</span>, p2.<span style="color: #006633;">y</span><span style="color: #339933;">-</span>p1.<span style="color: #006633;">y</span>, p2.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>p1.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// p1-&gt;p2</span>
&nbsp;
aux2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span>p4.<span style="color: #006633;">x</span><span style="color: #339933;">-</span>p1.<span style="color: #006633;">x</span>, p4.<span style="color: #006633;">y</span><span style="color: #339933;">-</span>p1.<span style="color: #006633;">y</span>, p4.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>p1.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// p1-&gt;p4</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>aux1.<span style="color: #006633;">x</span><span style="color: #339933;">*</span>aux2.<span style="color: #006633;">y</span> <span style="color: #339933;">-</span> aux1.<span style="color: #006633;">y</span><span style="color: #339933;">*</span>aux2.<span style="color: #006633;">x</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Cube <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">Applet</span> <span style="color: #000000; font-weight: bold;">implements</span>
&nbsp;
<span style="color: #003399;">Runnable</span>, <span style="color: #003399;">MouseMotionListener</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #003399;">Thread</span> luxury<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> vertex <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Cube vertexes</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> maxSize <span style="color: #339933;">=</span><span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// screen size</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> origin <span style="color: #339933;">=</span> maxSize<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// (0,0)</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> xMouseP<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span>, yMouseP <span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// X and Y mouse's positions</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span> xAux , yAux <span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// old X and Y mouse's positions</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span> module <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// length of lines of cube.</span>
&nbsp;
<span style="color: #003399;">Image</span> canvasAux<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Graphics</span> backBuffer<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
setSize<span style="color: #009900;">&#40;</span>maxSize,maxSize<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
setBackground<span style="color: #009900;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Color</span><span style="color: #009900;">&#40;</span>0.2f,0.6f,0.1f,1.0f<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
addMouseMotionListener<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*Initial coordinates of vertex*/</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> coordX <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">-</span>module,module,module,<span style="color: #339933;">-</span>module,<span style="color: #339933;">-</span>module,module,module,<span style="color: #339933;">-</span>module<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> coordY <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">-</span>module,<span style="color: #339933;">-</span>module,module,module,<span style="color: #339933;">-</span>module,<span style="color: #339933;">-</span>module,module,module<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> coordZ <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span>module,module,module,module,<span style="color: #339933;">-</span>module,<span style="color: #339933;">-</span>module,<span style="color: #339933;">-</span>module,<span style="color: #339933;">-</span>module<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
canvasAux <span style="color: #339933;">=</span> createImage<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span>,<span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
backBuffer <span style="color: #339933;">=</span> canvasAux.<span style="color: #006633;">getGraphics</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>vertex.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span>coordX<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>,coordY<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>,coordZ<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> start<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span> luxury <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Thread</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> luxury.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> stop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> paint<span style="color: #009900;">&#40;</span><span style="color: #003399;">Graphics</span> g<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Cube's points */</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> pts1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">3</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> pts2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">4</span>,<span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">4</span>,<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> pts3 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">6</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> pts4 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">4</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">7</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Color</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> colorRGB <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Color</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#123;</span> <span style="color: #003399;">Color</span>.<span style="color: #006633;">black</span>, <span style="color: #003399;">Color</span>.<span style="color: #006633;">blue</span>,<span style="color: #003399;">Color</span>.<span style="color: #006633;">orange</span>,
&nbsp;
<span style="color: #003399;">Color</span>.<span style="color: #006633;">pink</span>,<span style="color: #003399;">Color</span>.<span style="color: #006633;">red</span>, <span style="color: #003399;">Color</span>.<span style="color: #006633;">yellow</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
Face<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> faces <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Face<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
backBuffer.<span style="color: #006633;">clearRect</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">500</span>,<span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">6</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
backBuffer.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span>colorRGB<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
faces<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Face<span style="color: #009900;">&#40;</span>vertex<span style="color: #009900;">&#91;</span>pts1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>,vertex<span style="color: #009900;">&#91;</span>pts2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>,vertex<span style="color: #009900;">&#91;</span>pts3<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>,vertex<span style="color: #009900;">&#91;</span>pts4<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>faces<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">isVisible</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
faces<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">drawFace</span><span style="color: #009900;">&#40;</span>backBuffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
g.<span style="color: #006633;">drawImage</span><span style="color: #009900;">&#40;</span>canvasAux,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
g.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; Touche &quot;</span>, <span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
g.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; X &quot;</span> <span style="color: #339933;">+</span> xMouseP, <span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
g.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; Y &quot;</span> <span style="color: #339933;">+</span> yMouseP, <span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">65</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> update<span style="color: #009900;">&#40;</span><span style="color: #003399;">Graphics</span> g<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> paint<span style="color: #009900;">&#40;</span>g<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> destroy<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span><span style="color: #003399;">Thread</span>.<span style="color: #006633;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">InterruptedException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception in sleep&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Rotate each vertex of cube over X, Y and Z axis */</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> rota<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> angleTeta, <span style="color: #000066; font-weight: bold;">double</span> anglePhi, <span style="color: #000066; font-weight: bold;">double</span> anglePsi<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">double</span> teta<span style="color: #339933;">=</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">toRadians</span><span style="color: #009900;">&#40;</span>angleTeta<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">double</span> phi<span style="color: #339933;">=</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">toRadians</span><span style="color: #009900;">&#40;</span>anglePhi<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">double</span> psi<span style="color: #339933;">=</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">toRadians</span><span style="color: #009900;">&#40;</span>anglePsi<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Point</span> pAux <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Point</span> pAux1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Point</span> pAux2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Point</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Rotating over x */</span>
&nbsp;
pAux1.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
&nbsp;
pAux1.<span style="color: #006633;">y</span><span style="color: #339933;">=</span> vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">cos</span><span style="color: #009900;">&#40;</span>teta<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">z</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #003399;">Math</span>.<span style="color: #006633;">sin</span><span style="color: #009900;">&#40;</span>teta<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
pAux1.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">sin</span><span style="color: #009900;">&#40;</span>teta<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">z</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">cos</span><span style="color: #009900;">&#40;</span>teta<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Rotating over y */</span>
&nbsp;
pAux2.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> pAux1.<span style="color: #006633;">x</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">cos</span><span style="color: #009900;">&#40;</span>phi<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> pAux1.<span style="color: #006633;">z</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">sin</span><span style="color: #009900;">&#40;</span>phi<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
pAux2.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> pAux1.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
&nbsp;
pAux2.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> pAux1.<span style="color: #006633;">x</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #003399;">Math</span>.<span style="color: #006633;">sin</span><span style="color: #009900;">&#40;</span>phi<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> pAux1.<span style="color: #006633;">z</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">cos</span><span style="color: #009900;">&#40;</span>phi<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Rotating over z */</span>
&nbsp;
pAux.<span style="color: #006633;">x</span><span style="color: #339933;">=</span> pAux2.<span style="color: #006633;">x</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">cos</span><span style="color: #009900;">&#40;</span>psi<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> pAux2.<span style="color: #006633;">y</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #003399;">Math</span>.<span style="color: #006633;">sin</span><span style="color: #009900;">&#40;</span>psi<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
pAux.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> pAux2.<span style="color: #006633;">x</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">sin</span><span style="color: #009900;">&#40;</span>psi<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> pAux2.<span style="color: #006633;">y</span> <span style="color: #339933;">*</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">cos</span><span style="color: #009900;">&#40;</span>psi<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
pAux.<span style="color: #006633;">z</span><span style="color: #339933;">=</span> pAux2.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">/* new position */</span>
&nbsp;
vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> pAux.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
&nbsp;
vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> pAux.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
&nbsp;
vertex<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> pAux.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* For move the cube over X and Y axis */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> mouseDragged<span style="color: #009900;">&#40;</span> <span style="color: #003399;">MouseEvent</span> e <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* old coordinates */</span>
&nbsp;
xAux <span style="color: #339933;">=</span> xMouseP<span style="color: #339933;">;</span>
&nbsp;
yAux <span style="color: #339933;">=</span> yMouseP<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* new coordinates */</span>
&nbsp;
xMouseP <span style="color: #339933;">=</span> e.<span style="color: #006633;">getX</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
yMouseP <span style="color: #339933;">=</span> e.<span style="color: #006633;">getY</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>yMouseP <span style="color: #339933;">&gt;</span> yAux<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> rota<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>yMouseP <span style="color: #339933;">&lt;</span> yAux<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> rota<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>xMouseP <span style="color: #339933;">&gt;</span> xAux<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> rota<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>xMouseP <span style="color: #339933;">&lt;</span> xAux<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> rota<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
repaint<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
e.<span style="color: #006633;">consume</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> mouseMoved<span style="color: #009900;">&#40;</span> <span style="color: #003399;">MouseEvent</span> e <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>El c&oacute;digo anterior pertenece a un archivo llamado Cube.java, para poder visualizar el <em>applet</em> generado se necesita crear una archivo html.</p>
<p>El siguiente c&oacute;digo solo es un html para desplegar el <em>applet</em>.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!-- hola.html --&gt;
&lt;HTML&gt;
&lt;BODY&gt;
Cubo
&lt;APPLET width=&quot;500&quot; height=&quot;500&quot; CODE=&quot;Cube.class&quot;&gt;&lt;br /&gt;&lt;/APPLET&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</pre></div></div>

<p>En caso de contar con un IDE (Eclipse, jGrasp, etc.) no existe necesidad de crear dicho html para visualizar el cubo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/03/04/rotacion-de-un-cubo-usando-java/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tema del Mes de Marzo 2010</title>
		<link>http://www.ubicuos.com/2010/02/22/tema-del-mes-de-marzo-2010/</link>
		<comments>http://www.ubicuos.com/2010/02/22/tema-del-mes-de-marzo-2010/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 05:35:09 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Empresas]]></category>
		<category><![CDATA[Social / Internet]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Tema del mes]]></category>
		<category><![CDATA[ubicuos]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/02/22/tema-del-mes-de-marzo-2010/</guid>
		<description><![CDATA[
			
				
			
		
Como sabemos el área de tecnologías es muy extensa, por eso empezamos esta nueva idea, cada fin de mes vamos a tomar sus sugerencias de tema, para los posts del sitio, si tienen dudas o les gustaría que escribiéramos sobre un tema en particular no lo duden y hagan que su voz se escuche.
Por otra [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F22%2Ftema-del-mes-de-marzo-2010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F22%2Ftema-del-mes-de-marzo-2010%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Como sabemos el área de tecnologías es muy extensa, por eso empezamos esta nueva idea, cada fin de mes vamos a tomar sus sugerencias de tema, para los posts del sitio, si tienen dudas o les gustaría que escribiéramos sobre un tema en particular no lo duden y hagan que su voz se escuche.</p>
<p>Por otra parte mes de Marzo tenemos los siguientes eventos:</p>
<p><a href="http://barcamp.org/PressCampMexico"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="presscamp[1]" border="0" alt="presscamp[1]" src="http://www.ubicuos.com/wp-content/uploads/2010/02/presscamp1.jpg" width="244" height="69" /></a> </p>
<p>Press Camp México es un evento que convoca a todos los Periodistas y Comunicadores de México,&#160; a la gente interesada en la profesión de informar y compartir información, en las herramientas que nos ofrece hoy en día Internet y las diferentes tecnologías accesibles, así como&#160; también a la comunidad de Web de México en general.</p>
<p><a href="http://es.wikipedia.org/wiki/BarCamp">El <b>BarCamp</b></a> es una red internacional de &quot;<a href="http://es.wikipedia.org/wiki/Desconferencia">desconferencias</a>&quot; (eventos abiertos y participativos), cuyo contenido es provisto por los participantes. Se enfocan en aplicaciones web en estadios tempranos, tecnologías de <a href="http://es.wikipedia.org/wiki/C%C3%B3digo_abierto">código abierto</a> y protocolos sociales. Sin embargo, este tipo de encuentros han ampliado su temática y actualmente incluyen eventos participativos y abiertos alrededor de temas sociales, artísticos, educativos&#8230; con fuertes componentes creativos e innovadores en los respectivos ámbitos.</p>
<p><strong>Fecha:</strong>&#160; 20 de Marzo de 2010 de&#160; 9:00 a 18:00 horas</p>
<p><strong>Sede:</strong> Universidad Iberoamericana (IBERO Santa Fé) </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/22/tema-del-mes-de-marzo-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip de la Semana: Girasol Blog Editor</title>
		<link>http://www.ubicuos.com/2010/02/20/tip-de-la-semana-girasol-blog-editor/</link>
		<comments>http://www.ubicuos.com/2010/02/20/tip-de-la-semana-girasol-blog-editor/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:40:56 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/02/20/tip-de-la-semana-girasol-blog-editor/</guid>
		<description><![CDATA[
			
				
			
		
Les dejamos esta presentación sobre las características de Girasol un proyecto opensource mutiplataforma para publicar en tu blog sin necesidad de entrar a la interfaz web.

Girasol Editor de Blogs Negocio
   
See more presentations by smartdsign &#124; 

]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F20%2Ftip-de-la-semana-girasol-blog-editor%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F20%2Ftip-de-la-semana-girasol-blog-editor%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Les dejamos esta presentación sobre las características de Girasol un proyecto opensource mutiplataforma para publicar en tu blog sin necesidad de entrar a la interfaz web.</p>
<div>
<h3 style="padding-bottom: 0px; margin: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><a style="font: 18px ,arial" href="http://www.authorstream.com/Presentation/smartdsign-330361-girasol-editor-de-blogs-negocio-sunflower-business-blog-tool-live-writer-science-technology-ppt-powerpoint/" target="_blank">Girasol Editor de Blogs Negocio</a></h3>
<p>   <object width="425" height="354" id="player"><param name="movie" value="http://www.authorstream.com/player/player.swf?p=330361_634022971265375000" /><param name="allowfullscreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://www.authorstream.com/player/player.swf?p=330361_634022971265375000" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="354"></embed></object>
<div style="font: 11px arial; font-size-adjust: none; font-stretch: normal">See more <a href="http://www.authorstream.com/" target="_blank">presentations</a> by <a href="http://www.authorstream.com/User-Presentations/smartdsign/" target="_blank">smartdsign</a> | </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/20/tip-de-la-semana-girasol-blog-editor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BugCon 2010 Call for Papers</title>
		<link>http://www.ubicuos.com/2010/02/20/bugcon-2010-call-for-papers/</link>
		<comments>http://www.ubicuos.com/2010/02/20/bugcon-2010-call-for-papers/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 03:20:19 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux y Software Libre]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Robótica]]></category>
		<category><![CDATA[bugcon]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/02/20/bugcon-2010-call-for-papers/</guid>
		<description><![CDATA[
			
				
			
		
&#160;
Nos mandan el “Call for Papers”, para el BugCon de 2010, BugCon es un evento abierto y técnico sobre seguridad informática.
BugCON is a purely technical convention where all security researchers can show their current work,projects and ideas in Mexico City. 
The main topics for BugCON 2010 are:

Software security
Secure coding
Audit
Honeynets     
Perimeter Security
Web [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F20%2Fbugcon-2010-call-for-papers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F20%2Fbugcon-2010-call-for-papers%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>&#160;</p>
<p>Nos mandan el “Call for Papers”, para el BugCon de 2010, BugCon es un evento abierto y técnico sobre seguridad informática.</p>
<p>BugCON is a purely technical convention where all security researchers can show their current work,projects and ideas in Mexico City. </p>
<p>The main topics for BugCON 2010 are:</p>
<ul>
<li>Software security</li>
<li>Secure coding</li>
<li>Audit</li>
<li>Honeynets     </li>
<li>Perimeter Security</li>
<li>Web security</li>
<li>Malware Development</li>
<li>Computer Forensic</li>
<li>Fuzzing</li>
<li>Security related AI applications </li>
<li>Database hacking</li>
<li>Privacy issues</li>
<li>Mobile technologies</li>
<li>Hardware/firmware and embedded systems hacking</li>
<li>Cracking and protections on software</li>
<li>Academic security research</li>
<li>Firewalls, IDS and other network hardware/software (implementation, configuration and evasion</li>
<li>Open Source projects</li>
<li>Videogame consoles, T.V. systems, and other friki stuff</li>
<li>Cryptography and steganography</li>
<li>Phreaking</li>
<li>Informatic legislation</li>
<li>Reverse Engineering     </li>
<li>REMEMBER, you can send us your topic&#8230; We don’t have any problem if your topic is not present in the list above .</li>
</ul>
<p> <span id="more-602"></span>
<p>BugCON accepts your participation in the form of conference and workshop, with a duration of 1 to 2 hours for the conference and in the case of workshops you can tell us how many time would you like need(if you need more time BugCON can offer work tables for continuing your talk); the conference language can be Spanish (prefereably) or English.</p>
<p>Remeber that BugCON is totally uncensored, so the public can start a discussion about your conference, and it&#8217;s totally acceptable.   </p>
<p>BugCON has two lines, “white hat” topic and “black hat” topic the technical reviewers going to collocate your conferences in the most adecuate clasification. BugCON reserves the right to accept or reject any paper.   </p>
<p>All proposals should be sent to <a href="mailto:secretary@bugcon.org">secretary@bugcon.org</a> with a little description about the conference and a little bio from the author, from February 17th to August 31th (no extensions).</p>
<p>The final schedule will be published on September 18th. Once your conference is accepted you should send a confirmation, a telephone number for contacting you and details about your arrival.   </p>
<p>BugCon 2010 will be celebrated at 27, 28 and 29 of October 2010 at CFIE-IPN ( Centro de Formación e Innovación Educativa del Instituto Politécnico Nacional) with the best support of&#160; ESCOM-IPN ( Escuela Superior de Cómputo).    <br />Will be waiting for you.    <br />Regards    <br />Armin Garcia    <br />President of BugCon    <br />Forensic Malware Analyst at Cipherstorm Ltd    </p>
<p>UK Office Suite 404, Albany House    <br />324-326 Regent Street    <br />London    <br />W1B 3HH    <br />United Kingdom    <br />UK Tel: 0871 245 6786    <br />UK Tel: 0871 245 6789    <br />Intl. Tel: +44 (0) 701 703 5786    <br />Fax: 0844 589 0400    <br />http://cipherstormgroup.com/     <br />http://www.bugcon.org</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/20/bugcon-2010-call-for-papers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertir HTML a PDF con PHP</title>
		<link>http://www.ubicuos.com/2010/02/12/convertir-html-a-pdf-con-php/</link>
		<comments>http://www.ubicuos.com/2010/02/12/convertir-html-a-pdf-con-php/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 19:55:35 +0000</pubDate>
		<dc:creator>Sosa suazo</dc:creator>
				<category><![CDATA[Linux y Software Libre]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=594</guid>
		<description><![CDATA[
			
				
			
		
Bueno antes de comenzar, primero debemos bajarnos el DOMPDF, que es el que nos servira para convertir nuestro html a pdf, descargaremos su version dompdf_0-6-0_alpha2.tar.gz ,que funciona tanto para windows como para linux y que ahora se encuentra en http://code.google.com/p/dompdf/downloads/list, para utilizarlo requerimos de php 5 o superior con la extensión DOM habilitada.
DOMPDF provee soporte para [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F12%2Fconvertir-html-a-pdf-con-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F12%2Fconvertir-html-a-pdf-con-php%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Bueno antes de comenzar, primero debemos bajarnos el DOMPDF, que es el que nos servira para convertir nuestro html a pdf, descargaremos su version <a href="http://dompdf.googlecode.com/files/dompdf_0-6-0_alpha2.tar.gz">dompdf_0-6-0_alpha2.tar.gz</a> ,que funciona tanto para windows como para linux y que ahora se encuentra en <a href="http://code.google.com/p/dompdf/downloads/list">http://code.google.com/p/dompdf/downloads/list</a>, para utilizarlo requerimos de php 5 o superior con la extensión DOM habilitada.</p>
<p>DOMPDF provee soporte para la creación de archivos PDF sobre archivos html con estilos(css) pero no todas las propiedades, no acepta posiciones flotantes ni relativas entre otras, para saber que propiedades son aceptadas y cuales no, revisa el siguiente <a href="http://www.digitaljunkies.ca/dompdf/css21.php">link</a>.</p>
<p>Ya descargado el DOMPDF, extraemos los archivos y la carpeta llamda <strong>dompdf</strong> la copiamos en la raiz de nuestro proyecto.</p>
<p>Ahora, para nuestro caso crearemos una aplicacion en html, en donde nostros podremos buscar nuestra pagina en html para transformarla a pdf.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/02/htmlpdf.png"><img class="alignnone size-full wp-image-595" title="htmlpdf" src="http://www.ubicuos.com/wp-content/uploads/2010/02/htmlpdf.png" alt="" width="549" height="179" /></a></p>
<p>Lo que aquí hacemos es crear un formulario donde le decimos que será redireccionada a la pagina toPdf.php y los valores ó variables seran pasadas a travez del metodo GET.</p>
<p>Seguido de esto crearemos el archivo toPdf.php, el cual se encargara de recibir el nombre de la pagina que seleccionamos y la convertira a pdf.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/02/toPdf.png"><img class="alignnone size-full wp-image-597" title="toPdf" src="http://www.ubicuos.com/wp-content/uploads/2010/02/toPdf.png" alt="" width="359" height="227" /></a></p>
<p>Este proceso puede ser modificado ya que no es obligatorio leer un archivo html, tambien contamos con un metodo llamdo load_html(&#8216;texto&#8217;) donde el parametro texto recibira una cadena que contenga la informacion para crear una pagina html, como por ejemplo lo siguiente:</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/02/toPdfhtml.png"><img class="alignnone size-full wp-image-598" title="toPdfhtml" src="http://www.ubicuos.com/wp-content/uploads/2010/02/toPdfhtml.png" alt="" width="459" height="340" /></a></p>
<p>Ya terminado los dos archivos, solo falta ejecutar nuestra aplicacion y ver como el proceso se realiza facilmente.</p>
<p><em>Nota: los dos archivos y la carpeta dompdf deben de estar en la raiz del proyecto y recuerden que como trabajamos con php este tiene que estar bajo un servidor que lo soporte.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/12/convertir-html-a-pdf-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentando uno de nuestros ganadores: Carlos Camargo y flynetstudios</title>
		<link>http://www.ubicuos.com/2010/02/04/presentando-uno-de-nuestros-ganadores-carlos-camargo-y-flynetstudios/</link>
		<comments>http://www.ubicuos.com/2010/02/04/presentando-uno-de-nuestros-ganadores-carlos-camargo-y-flynetstudios/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 01:58:45 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Empresas]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[promociones]]></category>
		<category><![CDATA[ubicuos]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/02/04/presentando-uno-de-nuestros-ganadores-carlos-camargo-y-flynetstudios/</guid>
		<description><![CDATA[
			
				
			
		
&#160;
Como se habrán dado cuenta, hemos tenido una promoción para nuestros lectores, enviándonos un tutorial, obtienen un hosting por un año, dominio incluido, en este caso presentando una empresa dedicada al desarrollo de medios y video juegos para Iphone, mostrándonos una fantástica técnica aplicable a la animación y juegos (Cell shading o Comic shading técnica [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F04%2Fpresentando-uno-de-nuestros-ganadores-carlos-camargo-y-flynetstudios%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F04%2Fpresentando-uno-de-nuestros-ganadores-carlos-camargo-y-flynetstudios%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>&#160;</p>
<p>Como se habrán dado cuenta, hemos tenido una promoción para nuestros lectores, enviándonos un tutorial, obtienen un hosting por un año, dominio incluido, en este caso presentando una empresa dedicada al desarrollo de medios y video juegos para Iphone, mostrándonos una fantástica técnica aplicable a la animación y juegos (Cell shading o Comic shading técnica que seguramente has visto en video juegos como las series de Dragon Ball).</p>
<p>Esperamos disfruten el tutorial y que participen, la promoción continúa todavía este mes de febrero, y queremos saber más del desarrollo y esfuerzos tecnológicos realizados en México.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/04/presentando-uno-de-nuestros-ganadores-carlos-camargo-y-flynetstudios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial Realtime Toon</title>
		<link>http://www.ubicuos.com/2010/02/03/tutorial-realtime-toon/</link>
		<comments>http://www.ubicuos.com/2010/02/03/tutorial-realtime-toon/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 00:43:26 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Social / Internet]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[animación]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[diseño]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=587</guid>
		<description><![CDATA[
			
				
			
		
Carlos Camargo de Flynet Studios nos manda este tutorial en vídeo en exclusiva para los lectores de Ubicuos.com

]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F03%2Ftutorial-realtime-toon%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F03%2Ftutorial-realtime-toon%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Carlos Camargo de <a href="http://www.flynetstudios.com">Flynet Studios</a> nos manda este tutorial en vídeo en exclusiva para los lectores de Ubicuos.com</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Kfgy2N8eDlo&#038;hl=es&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Kfgy2N8eDlo&#038;hl=es&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/03/tutorial-realtime-toon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.ubicuos.com/videos/realtime_toon_tutorial.mp4" length="38711867" type="video/mp4" />
		</item>
		<item>
		<title>HipHop tranformador de código de PHP a C++</title>
		<link>http://www.ubicuos.com/2010/02/02/hiphop-tranformador-de-codigo-de-php-a-c/</link>
		<comments>http://www.ubicuos.com/2010/02/02/hiphop-tranformador-de-codigo-de-php-a-c/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 00:42:22 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux y Software Libre]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/02/02/hiphop-tranformador-de-codigo-de-php-a-c/</guid>
		<description><![CDATA[
			
				
			
		
En el blog de desarrolladores de Facebook, la entrada del día de hoy habla sobre un proyecto que utilizan internamente y ahora liberan como software libre, Hip Hop es un &#8220;convertidor&#8221; de código fuente de PHP a C++, según cuenta Haiping Zhao, responsable del proyecto &#8220;Uno de nuestros principales valores es el movernos rápido, PHP [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F02%2Fhiphop-tranformador-de-codigo-de-php-a-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F02%2Fhiphop-tranformador-de-codigo-de-php-a-c%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>En el blog de desarrolladores de Facebook, la entrada del día de hoy habla sobre un proyecto que utilizan internamente y ahora liberan como software libre, Hip Hop es un &#8220;convertidor&#8221; de código fuente de PHP a C++, según cuenta Haiping Zhao, responsable del proyecto &#8220;Uno de nuestros principales valores es el movernos rápido, PHP es un lenguaje que es simple, simple de aprender, simple de escribir, simple de leer, y depurar, somos capaces de trabajar con nuevos ingenieros de forma más rápida, lo que nos permite innovar&#8221;.</p>
<p>Con este software se han reducido el consumo de CPU en promedio un 50% dependiendo de la página, menos CPU implica menos saturación y un uso más adecuado de los recursos.</p>
<p>El vídeo de la presentación</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="320" id="utv404207"><param name="flashvars" value="autoplay=false&amp;brand=embed&amp;cid=508916"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="movie" value="http://www.ustream.tv/flash/live/1/508916"/><embed flashvars="autoplay=false&amp;brand=embed&amp;cid=508916" width="400" height="320" allowfullscreen="true" allowscriptaccess="always" id="utv404207" name="utv_n_818865" src="http://www.ustream.tv/flash/live/1/508916" type="application/x-shockwave-flash" /></object><a href="http://www.ustream.tv/live" style="padding: 2px 0px 4px; width: 400px; background: #ffffff; display: block; color: #000000; font-weight: normal; font-size: 10px; text-decoration: underline; text-align: center;" target="_blank">Live TV : Ustream</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/02/hiphop-tranformador-de-codigo-de-php-a-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
