<?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>Recurrente Redención &#187; Partículas</title>
	<atom:link href="http://www.lopsae.com/blog/categorias/particulas/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lopsae.com/blog</link>
	<description>renacimiento y experimentación en el tanscurrir multitudinario</description>
	<lastBuildDate>Thu, 12 Feb 2009 22:52:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Comida italiana procedural</title>
		<link>http://www.lopsae.com/blog/articulos/14</link>
		<comments>http://www.lopsae.com/blog/articulos/14#comments</comments>
		<pubDate>Wed, 30 Jan 2008 03:20:33 +0000</pubDate>
		<dc:creator>Maic López</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Partículas]]></category>

		<guid isPermaLink="false">http://www.lopsae.com/blog/articulos/14</guid>
		<description><![CDATA[Simplemente me dio un poco de hambre.

Esta demostración utiliza la capacidad del sistema de partículas de LiF para dibujar más de una línea a la vez. La clase PosicionAleatoria es utilizada para envolver la posición del ratón y generar una posición al azar siempre a cierta cercanía del ratón. Junto con la interface Mutable, es [...]]]></description>
			<content:encoded><![CDATA[<p>Simplemente me dio un poco de hambre.</p>

<p>Esta demostración utiliza la capacidad del sistema de partículas de <a href="/lif" title="LiF, Librería Flash">LiF</a> para dibujar más de una línea a la vez. La clase PosicionAleatoria es utilizada para envolver la posición del ratón y generar una posición al azar siempre a cierta cercanía del ratón. Junto con la interface Mutable, es posible del mismo objeto obtener las cinco posiciones distintas necesarias para dibujar las cinco líneas que componen el rastro.</p>

<div class="imagenCentrada">
<div style="width: 500px; margin: 0px auto;">
<object type="application/x-shockwave-flash" data="/descargas/blog/articulos/14/SpaguettiRococo.swf" height="500" width="500">
<param name="movie" value="/descargas/blog/articulos/14/SpaguettiRococo.swf"></param>
<param name="quality" value="high"></param>
</object>
</div>
un poco de pimienta probablemente mejoraría el framerate
</div>

<p>Los archivos, como de costumbre, se dejan a continuación.</p>

<ul>
<li><a href="/descargas/blog/articulos/14/SpaguettiRococo.zip" title="Descargar archivos fuente"> SpaguettiRococo.zip</a></li>
<li><a href="/descargas/lif/LiF_0_3.zip" title="Descargar LiF versión 0.3">LiF versión 0.3</a></li>
<li><a href="/descargas/blog/articulos/14/SpaguettiRococo.swf" title="Descargar swf compilado"> SpaguettiRococo.swf</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.lopsae.com/blog/articulos/14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calamares con tres pies</title>
		<link>http://www.lopsae.com/blog/articulos/11</link>
		<comments>http://www.lopsae.com/blog/articulos/11#comments</comments>
		<pubDate>Tue, 01 Jan 2008 02:33:16 +0000</pubDate>
		<dc:creator>Maic López</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Partículas]]></category>

		<guid isPermaLink="false">http://www.lopsae.com/blog/articulos/11</guid>
		<description><![CDATA[Actualmente trabajo en la implementación de una página de una empresa que organiza eventos. Quise experimentar un poco con el logotipo y en base a este generar el gráfico que se muestra mientras se carga la página u otras secciones internas del sitio.



logotipo gracias al cual nació el calamar tripode


El logotipo tiene unas colitas que [...]]]></description>
			<content:encoded><![CDATA[<p>Actualmente trabajo en la implementación de una página de una empresa que organiza eventos. Quise experimentar un poco con el logotipo y en base a este generar el gráfico que se muestra mientras se carga la página u otras secciones internas del sitio.</p>

<div class="imagenCentrada">
<img src="/descargas/blog/articulos/11/logoAllure.jpg" alt="Logotipo de Allure" />
logotipo gracias al cual nació el calamar tripode
</div>

<p>El logotipo tiene unas colitas que intenté animar dinámicamente, de forma que fueran creciendo conforme se cargaba la información. Sin embargo el resultado no fue completamente de mi agrado, y aunque es mejorable no puedo dedicarle tanto tiempo a un gráfico que solo se va a ver por unos breves segundos entre sección y sección. Aun así, el efecto de las colitas moviéndose me agradó lo suficiente para terminar haciendo una pequeña demostración del mismo. El animalito este me recuerda un calamar o un pulpo, siempre está siguiendo el puntero del ratón y casi es una pequeña mascota. Hasta me siento encariñado con él.</p>

<div class="imagenCentrada">
<div style="width: 500px; margin: 0px auto;">
<object type="application/x-shockwave-flash" data="/descargas/blog/articulos/11/CalamarDeTresHelices.swf" height="500" width="500">
<param name="movie" value="/descargas/blog/articulos/11/CalamarDeTresHelices.swf"></param>
<param name="quality" value="high"></param>
</object>
</div>
quizás, quizás, quizás, esto podría ser la base para un juego sobre calamares
</div>

<p>Durante la implementación de esto me encontré con algunos errores en <a href="/lif" title="LiF, Librería Flash">LiF</a> <a href="/lif/versiones" title="LiF, Lista de Versiones">versión 0.2</a>. Aunque subo los archivos fuente, estos no funcionarán correctamente utilizando la versión de LiF que está actualmente en línea (versión 0.2). Aun así los dejo disponibles junto con el espacio temporal para la librería, de forma que en cuanto esté lista dicha versión actualizaré el artículo y el enlace.</p>

<p><strong>Actualización</strong> (Enero 2, 2008): ya teniendo en línea la <a href="/descargas/lif/LiF_0_3.zip" title="Descargar LiF versión 0.3">versión 0.3 de LiF</a>, se colocó el enlace en la lista de archivos.</p>

<ul>
<li><a href="/descargas/blog/articulos/11/CalamarDeTresHelices.zip" title="Descargar archivos fuente">CalamarDeTresHelices.zip</a></li>
<li><a href="/descargas/lif/LiF_0_3.zip" title="Descargar LiF versión 0.3">LiF versión 0.3</a></li>
<li><a href="/descargas/blog/articulos/11/CalamarDeTresHelices.swf" title="Descargar swf compilado">CalamarDeTresHelices.swf</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.lopsae.com/blog/articulos/11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curvas de Bézier</title>
		<link>http://www.lopsae.com/blog/articulos/10</link>
		<comments>http://www.lopsae.com/blog/articulos/10#comments</comments>
		<pubDate>Wed, 19 Dec 2007 07:35:45 +0000</pubDate>
		<dc:creator>Maic López</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Partículas]]></category>

		<guid isPermaLink="false">http://www.lopsae.com/blog/articulos/10</guid>
		<description><![CDATA[El sistema de rastros que está implementado dentro de LiF inicialmente trabajaba solamente trazando líneas rectas. En cada ejecución se recibe un punto a donde se dibuja una línea recta desde el punto anterior hasta el punto recién recibido. Con la nueva implementación se agregó el uso de curvas de Bézier de forma que el [...]]]></description>
			<content:encoded><![CDATA[<p>El sistema de rastros que está implementado dentro de <a href="/lif" title="LiF, Librería Flash">LiF</a> inicialmente trabajaba solamente trazando líneas rectas. En cada ejecución se recibe un punto a donde se dibuja una línea recta desde el punto anterior hasta el punto recién recibido. Con la nueva implementación se agregó el uso de <a href="http://en.wikipedia.org/wiki/Bézier_curve" title="Wikipedia: Bézier curve">curvas de Bézier</a> de forma que el trazado fuera mucho más suave. En la siguiente demostración se puede ver una comparación del trazado de rastros utilizando curvas de Bézier o líneas rectas.</p>

<div class="imagenCentrada">
<div style="width: 500px; margin: 0px auto;">
<object type="application/x-shockwave-flash" data="/descargas/blog/articulos/10/EcoYComparacion.swf" height="500" width="500">
<param name="movie" value="/descargas/blog/articulos/10/EcoYComparacion.swf"></param>
<param name="quality" value="high"></param>
</object>
</div>
haga clic dentro del recuadro para activar la demostración, con clics subsecuentes se puede pausar o continuar la demostración
</div>

<p>Un pequeño problema al hacer la implementación de las curvas de Bézier fue como trazar dichas curvas a partir de una serie de puntos. La solución, que después escribiré de ella, no es extremadamente compleja pero al parecer cumple su objetivo. En términos simples, para cada conjunto de tres puntos se traza una curva de Bézier que va desde el punto medio entre los primeros dos puntos, hasta el punto medio entre los dos puntos finales, teniendo como anclaje el segundo punto.</p>

<p>Al estar haciendo una ilustración para esto me percaté de que el algoritmo que utilizo (ilustrado como Bézier 1) tiene resultados muy angulares (es decir, las curvas generados se adhieren demasiado a la recta provocando que las curvas sean cortas y afiladas). Al investigar un poco más sobre el funcionamiento de las curvas de Bézier me percaté que probablemente el algoritmo que utilizo no genere los resultados que deseaba. Intenté hacer una aproximación de cómo yo pensé funcionaría correctamente el algoritmo pero el resultado (ilustrado como Bézier 2) tampoco se asemeja a lo que esperaba. Y peor aún, ninguno de los dos se asemeja a lo que veo en la actual implementación.</p>

<div class="imagenCentrada">
<img src="/descargas/blog/articulos/10/bezierAPartirDePuntos.jpg" alt="Curvas de Bézier a partir de puntos" />
curvas de Bézier a partir de un conjunto de puntos
</div>

<p>Así qué básicamente me espera desarmar un poco esto para ver si algo está efectivamente mal planteado, o si quizás accidentalmente ya di con la solución correcta.</p>

<p>Para la demostración mostrada arriba se utilizó <a href="/lif" title="LiF, Librería Flash">LiF</a> <a href="/descargas/lif/LiF_0_2.zip" title="LiF Versión 0.2">versión 0.2</a>. Como siempre, los archivos están a continuación:</p>

<ul>
<li><a href="/descargas/blog/articulos/10/EcoYComparacion.zip">EcoYComparacion.zip</a></li>
<li> <a href="/descargas/lif/LiF_0_2.zip" title="LiF Versión 0.2">LiF versión 0.2</a></li>
<li><a href="/descargas/blog/articulos/10/EcoYComparacion.swf">EcoYComparacion.swf</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.lopsae.com/blog/articulos/10/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Antiguos sistemas de partículas</title>
		<link>http://www.lopsae.com/blog/articulos/5</link>
		<comments>http://www.lopsae.com/blog/articulos/5#comments</comments>
		<pubDate>Sat, 24 Nov 2007 01:48:55 +0000</pubDate>
		<dc:creator>Maic López</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Partículas]]></category>

		<guid isPermaLink="false">http://www.lopsae.com/blog/?p=5</guid>
		<description><![CDATA[LiF es una librería de clases para ActionScript 3 que en un inicio fueron parte de un videojuego en flash pero que posteriormente fueron separadas completamente con el objetivo de que fueran independientes y reutilizables. En aquellos días, hace ya un par de años, terminé una clase llamada Rastros que administraba el dibujado de líneas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/lif" title="LiF, Librería Flash">LiF</a> es una librería de clases para ActionScript 3 que en un inicio fueron parte de un <a href="/omegafenix" title="OmegaFenix">videojuego en flash</a> pero que posteriormente fueron separadas completamente con el objetivo de que fueran independientes y reutilizables. En aquellos días, hace ya un par de años, terminé una clase llamada Rastros que administraba el dibujado de líneas dentro de flash funcionando como un pequeño motor de partículas. Con esta clase se construyeron varias demostraciones como la siguiente, titulada <em>OchoVientos</em>:</p>

<div style="width: 420px; margin: 0px auto;">
<object type="application/x-shockwave-flash" data="/descargas/blog/articulos/5/DemoRastros - OchoVientos.swf" height="450" width="420">
<param name="movie" value="/descargas/blog/articulos/5/DemoRastros - OchoVientos.swf"></param>
<param name="quality" value="high"></param>
</object>
</div>

<p>Debido a que el rediseño del blog es algo laborioso me estaré tomando la libertad de readaptar otras demostraciones como la anterior para que puedan ser descargadas y compilen correctamente por quien le sean de interés. De esta forma puedo seguir publicando una o dos veces por semana y seguir dedicándole el tiempo necesario al rediseño. Los archivos de esta demostración son ya algo viejos, el código se encuentra hecho en ActionScript 2, aunque el archivo fue actualizado y guardado en formato de Flash CS3. El código, por ser de los primeros prototipos, puede no ser el más limpio y cuidado de todos.</p>

<ul>
<li><a href="/descargas/blog/articulos/5/DemoRastros - OchoVientos.fla">DemoRastros &#8211; OchoVientos.fla</a></li>
<li><a href="/descargas/blog/articulos/5/Rastros.as">Rastros.as</a></li>
<li><a href="/descargas/blog/articulos/5/DemoRastros - OchoVientos.swf">DemoRastros &#8211; OchoVientos.swf</a></li>
</ul>

<p>Los tres archivos pueden ser accedidos públicamente y utilizados sin ningún tipo de restricción.</p>]]></content:encoded>
			<wfw:commentRss>http://www.lopsae.com/blog/articulos/5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
