<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4223185244692502259</id><updated>2024-08-28T04:53:08.223-07:00</updated><category term="qt"/><category term="java"/><category term="python"/><category term="java 3d"/><category term="mysql"/><category term="opengl"/><category term="pyqt"/><category term="qt 3d"/><title type='text'>Programación y Tecnología</title><subtitle type='html'>Lenguajes de programación</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4223185244692502259.post-7151374597726158076</id><published>2012-09-09T09:27:00.000-07:00</published><updated>2018-08-29T19:02:37.032-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Python: Analizador de la función VOID MAIN de C++</title><content type='html'>&lt;div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;Descripción&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Analizador Léxico y
Sintáctico de una función void main() de C++ hecho en python, que
analiza dicha función, con declaración de variables y asignación
de valores enteros. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Lee los datos de un
archivo llamado gram. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
La lectura del
archivo se hace linea por linea, extrayendo los datos para luego
separarlos en tokens y realizar el análisis sintáctico de acuerdo a
la gramática.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;Gramática en
Notación BNF&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;function_main&amp;gt; ::= void main ( ) { &amp;lt;sentence&amp;gt; }  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;sentence&amp;gt; ::= &amp;lt;declaration&amp;gt; | &amp;lt;assig&amp;gt;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;declaration&amp;gt; ::= &amp;lt;type_data&amp;gt; &amp;lt;dec_a&amp;gt;;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;dec_a&amp;gt; ::= &amp;lt;identifier&amp;gt; | , &amp;lt;identifier&amp;gt; &amp;lt;dec_a&amp;gt;
 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;assig&amp;gt; ::= &amp;lt;identifier&amp;gt; = &amp;lt;expr&amp;gt; ;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;expr&amp;gt; ::= &amp;lt;expr&amp;gt; &amp;lt;operator&amp;gt; &amp;lt;expr&amp;gt; |
&amp;lt;indentifier&amp;gt; | &amp;lt;const_int&amp;gt;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;indentifier&amp;gt; ::= &amp;lt;letter&amp;gt; &amp;lt;ide_a&amp;gt;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;ide_a&amp;gt; ::= &amp;lt;digit&amp;gt; &amp;lt;ide_a&amp;gt; | &amp;lt;letter&amp;gt;
&amp;lt;ide_a&amp;gt;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;const_int&amp;gt; ::= &amp;lt;digit&amp;gt; | &amp;lt;digit&amp;gt; &amp;lt;const_int&amp;gt;
 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;type_data&amp;gt; ::= int  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;letter&amp;gt; ::= &amp;lt;letter_l&amp;gt; | &amp;lt;letter_u&amp;gt;  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;letter_u&amp;gt; ::= A | ... | Z  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;letter_l&amp;gt; ::= a | ... | z  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;digit&amp;gt; ::= 0 | ... | 9  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&amp;lt;operator&amp;gt; ::= + | - | * | /&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;Tokens:
Declaración mediante tuplas&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
(TYPE_FUNCTION, NAME_FUNCTION) = (&#39;void&#39;, &#39;main&#39;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
(PAREN_BEGIN, PAREN_END) = (&#39;(&#39;, &#39;)&#39;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
(BRACK_BEGIN, BRACK_END) = (&#39;{&#39;, &#39;}&#39;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
(COM, SEMICOLON) = (&#39;,&#39;, &#39;;&#39;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
(OP_ASSIG) = (&#39;=&#39;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
DIGIT = tuple([str(i) for i in range(10)])&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
OPERATOR_B = (&#39;+&#39;, &#39;-&#39;, &#39;*&#39;, &#39;/&#39;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
TYPE_DATA = (&#39;int&#39;, &#39;float&#39;) 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
#&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;Algunas funciones
de análisis de tokens&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
def isLetter(x): #letra&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
def isDigit(x): #digito&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
def isOperator(x) #operador&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
def isTypeData(x): #tipo de dato&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
def isIdentifier(x): #identificador&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;b&gt;-&amp;gt; 1) Fichero de entrada gram&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
void main (  )&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
{&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
int a, b, B; int f;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
a = 12 + B;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
int x;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
x = b + 25 * 12;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
f = a * x;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;-&amp;gt; 2) Salida
de programa&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
void: Tipo void&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
main: Funcion principal&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
(: Parentesis inicio&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
): Parentesis final&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
{: Corchete inicio&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
...&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
}: Corchete final&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
---- Parsing correcto ----&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;-- 1) Entrada
incorrecta&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Por ejemplo si
cambiamos  en fichero gram la linea a = 12 + B; por a = 12 + var; 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;-- 2) Salida de
análisis incorrecto&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
void: Tipo void&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
...&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
+: Operador mas&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
Stop --&amp;gt; Line[5] var: no definido&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in; margin-left: 0.49in;&quot;&gt;
Stop --&amp;gt; Line[5]&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;Código Fuente
Completo&lt;/b&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
  @page { margin: 0.79in }
  p { margin-bottom: 0.1in; line-height: 115% }
  a:link { so-language: zxx }
 &lt;/style&gt;
























































































































&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;http://www.4shared.com/zip/a_UcsICzce/analizar_void_main.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Enlace de Descarga&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/7151374597726158076/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pedroluis02.blogspot.com/2012/09/python-analizador-de-la-funcion-void.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/7151374597726158076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/7151374597726158076'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/2012/09/python-analizador-de-la-funcion-void.html' title='Python: Analizador de la función VOID MAIN de C++'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4223185244692502259.post-5089799194030787250</id><published>2012-09-04T16:47:00.005-07:00</published><updated>2015-10-12T02:23:06.851-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><category scheme="http://www.blogger.com/atom/ns#" term="qt 3d"/><title type='text'>Qt 3D: Animación de un cubo</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/gui1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/gui1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Frameworks:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Qt&lt;/li&gt;
&lt;li&gt;Qt 3D&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Descripción&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
Ejemplo de uso de las&amp;nbsp;librerías&amp;nbsp;de &lt;b&gt;Qt 3D&lt;/b&gt; de &lt;b&gt;Qt&lt;/b&gt;, creación de un cubo, con textura y&amp;nbsp;animación&amp;nbsp;mediante transformaciones.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Qt 3D&lt;/b&gt; esta hecho con base en &lt;b&gt;OpenGL&lt;/b&gt;, es por ellos que posee sus características pero además nos da la posibilidad creación de&amp;nbsp;gráficos&amp;nbsp;por computador de una manera más sencilla y la integración de esta a una aplicación diseñada en Qt.&lt;/blockquote&gt;
&lt;br /&gt;
Código del proyecto &lt;b&gt;Qt3d_1.pro&lt;/b&gt;&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/pro1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/pro1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Código de &lt;b&gt;myglview.h&lt;/b&gt;&lt;br /&gt;
-----------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/cod1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/cod1.png&quot; width=&quot;369&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Código de&amp;nbsp;&lt;b&gt;myglview.cpp&lt;/b&gt;&lt;br /&gt;
---------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Intervalo de tiempo &amp;nbsp;transformación : startTimer(tiempo_milisegundos)&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Evento de tiempo: timerEvent(QTimerEvent *), &lt;b&gt;Qt 3D&lt;/b&gt; posee funciones propias para animaciones, sin embargo para este ejemplo sencillo se uso esta.&lt;/li&gt;
&lt;li&gt;Evento de Pintado: paintGL(QGLPainter &amp;nbsp;*)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/cod2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/cod2.png&quot; width=&quot;504&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Resultado de la animación de un Cubo&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/gui2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/qt3d_1/gui2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Código Fuente&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
-------------------&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Enlace de Descarga:&amp;nbsp;&lt;a href=&quot;http://www.4shared.com/zip/pg0LstvPce/Qt3d_1.html&quot;&gt;Download Code&lt;/a&gt;&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/5089799194030787250/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pedroluis02.blogspot.com/2012/09/qt-3d-animacion-de-un-cubo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/5089799194030787250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/5089799194030787250'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/2012/09/qt-3d-animacion-de-un-cubo.html' title='Qt 3D: Animación de un cubo'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4223185244692502259.post-9044285720124902473</id><published>2012-08-27T10:40:00.000-07:00</published><updated>2014-12-06T08:45:19.571-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="pyqt"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><title type='text'>PyQt: Ejemplo de Base de Datos</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/gui1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;acceso a base de datos con python y pyqt&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/gui1.png&quot; title=&quot;Base de datos en pyton&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Lenguaje y&amp;nbsp;Librerías&amp;nbsp;usadas&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;PyQt (Liberías para la interfaz grafica).&lt;/li&gt;
&lt;li&gt;MySQLdb (Conexión de Python con MySql).&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Descripción&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Aplicación de conexión y operaciones sobre Bases de Datos de MySql mediante Python.&lt;br /&gt;
GUI creada con las librerías gráficas de Qt mediante PyQt.&lt;/blockquote&gt;
&lt;b&gt;Script de la Base de Datos de MySql (dbpyqt4.sql)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/sc1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/sc1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;MySQLdb de Python (Creación de la clase DataBase)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/dbp1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;acceso  a base de datos mysql con python&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/dbp1.png&quot; title=&quot;Base de datos mysql en python&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;GUI con PyQt (Fragmento de código)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/cod1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;qt con python - pyqt interfaces graficas&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/cod1.png&quot; title=&quot;Codigo Pyqt&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Operaciones&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Insertar&lt;/li&gt;
&lt;li&gt;Actualizar&lt;/li&gt;
&lt;li&gt;Borrar&lt;/li&gt;
&lt;li&gt;Buscar&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/gui2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;operaciones de base de datos mysql con python&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/gui2.png&quot; title=&quot;Mysql y Python&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Datos de Base de Datos&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/gui3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Base de datos mysql y python&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gui_pyqtdb/gui3.png&quot; title=&quot;Mysql y Python&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Código&amp;nbsp;Fuente&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Enlace de descarga:&amp;nbsp;&lt;a href=&quot;http://www.4shared.com/zip/ThxpDTpmba/PyQt4_Database1.html&quot;&gt;Download Code&lt;/a&gt;&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/9044285720124902473/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/pyqt-ejemplo-de-base-de-datos.html#comment-form' title='9 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/9044285720124902473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/9044285720124902473'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/pyqt-ejemplo-de-base-de-datos.html' title='PyQt: Ejemplo de Base de Datos'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4223185244692502259.post-2950377970209221964</id><published>2012-08-18T08:51:00.000-07:00</published><updated>2015-10-12T02:24:11.652-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="opengl"/><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><title type='text'>Qt/OpenGL - NetBeans: Ejemplo de Transformaciones</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/gui1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img alt=&quot;opengl con qt&quot; border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/gui1.png&quot; height=&quot;366&quot; title=&quot;Tranformaciones en opengl con Qt&quot; width=&quot;550&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Requisitos&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Plugin de C/C++ para NetBeans&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Qt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Librerías de OpenGL para C++&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Descripción&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Simple aplicación desarrollada en NetBeans usando &lt;b&gt;Qt/OpenGL&lt;/b&gt;, esta aplicación utiliza las librerías de OpenGL para la creación de un escenario en 3D, en el que se&amp;nbsp;gráfica&amp;nbsp;un objeto con los ejes coordenados visibles y permite realizar transformaciones sobre dicho objeto.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Qt provee de un componente llamado &lt;b&gt;QGLWidget&lt;/b&gt; para utilizar el OpenGL y a la vez poder integrarlo como cualquier Widget a nuestras aplicaciones GUI.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Mediante Qt se crean los componentes(botones y otros), que&amp;nbsp;recibirán&amp;nbsp;los eventos y realizarán las transformaciones adecuadas sobre el OpenGL.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Se puede realizar las siguientes transformaciones:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Escalamiento&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Traslación&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Rotación con los 3 ejes coordenados.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Rotación sobre un eje&amp;nbsp;arbitrario.&lt;/span&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/gui2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img alt=&quot;opengl con qt&quot; border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/gui2.png&quot; height=&quot;362&quot; title=&quot;Transformaciones en opengl&quot; width=&quot;550&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- Los Botones &quot;+&quot; y &quot;-&quot; permiten la transformación hacia la parte positiva y negativa del eje coordenado.&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;- En ángulo de rotación esta predeterminado como 30.&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/gui3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img alt=&quot;opengl en qt&quot; border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/gui3.png&quot; height=&quot;361&quot; title=&quot;Transformaciones con opengl&quot; width=&quot;550&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Configuraciones&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Instalación del plugin de C/C++ en netbeans, generalmente viene con el netbeans y solo hay que activarlo, en todo caso dejo &amp;nbsp;una guía que explica como configurar para programar Qt con NetBeans en Windows y Linux(Ubuntu):&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;a href=&quot;http://pedroluis02.blogspot.com/2012/08/qt-con-netbeans-windows-linuxubuntu.html&quot;&gt;Qt con NetBenas en Windows y Linux(Ubuntu)&lt;/a&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Hay que agregar&amp;nbsp;librería&amp;nbsp;del &lt;b&gt;glu.h&lt;/b&gt;, ya que la nueva versión de Qt ha quitado esa librería y solo posee la &lt;b&gt;gl.h&lt;/b&gt;, y la glu.h es necesaria para la vista de la aplicación y para otras funcionalidades.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;En esta aplicación se le&amp;nbsp;añadió&amp;nbsp;de la siguiente forma: &amp;nbsp;Al añadir la libería glu.h es necesario también colocar el linker &lt;b&gt;-lGLU &lt;/b&gt;para que se pueda compilar correctamente esta librería en otro caso nos arrojaría error.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;1.-&lt;/b&gt; Click derecho &lt;b&gt;propiedades del proyecto&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;2.- &lt;/b&gt;En &lt;b&gt;Build&lt;/b&gt; seleccionar &lt;b&gt;Linker&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;3.-&lt;/b&gt; Click en&lt;b&gt; Add Option&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;4.-&lt;/b&gt; Seleccionar &lt;b&gt;Other Option&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;5.-&lt;/b&gt; Colocar -lGLU, aceptar y aplicar los cambios hechos.&lt;/span&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/config1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/gltrans/config1.png&quot; height=&quot;281&quot; width=&quot;550&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Verificación de activación de QtCore, QtGui y QtOpenGL&lt;/span&gt;&lt;/blockquote&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/gltrans/config2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/gltrans/config2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Consideraciones&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Como el IDE es NetBeans las&amp;nbsp;configuraciones&amp;nbsp;son casi las mismas y este IDE crea un ejecutable de acuerdo al sistema en el que se ejecute.&lt;/span&gt;&lt;/blockquote&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Código&amp;nbsp;Fuente&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Enlace de descarga:&amp;nbsp;&lt;a href=&quot;http://www.4shared.com/zip/WXh0z0i7ce/Qt_OpenGL_1.html&quot;&gt;Download code&lt;/a&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/2950377970209221964/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/qtopengl-netbeans-ejemplo-de.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/2950377970209221964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/2950377970209221964'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/qtopengl-netbeans-ejemplo-de.html' title='Qt/OpenGL - NetBeans: Ejemplo de Transformaciones'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4223185244692502259.post-2729197353395572497</id><published>2012-08-16T16:55:00.000-07:00</published><updated>2016-11-05T14:15:25.950-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Java: Editor de Texto Plano</title><content type='html'>&lt;div class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Descripción&lt;/b&gt;&lt;/div&gt;
&lt;blockquote&gt;
Una simple aplicación que permite crear , manipular y guardar archivos de texto plano con una extensión y fuente de texto predefinida.&lt;br /&gt;
&lt;br /&gt;
Barra de&amp;nbsp;menús&amp;nbsp;de archivo y de edición.&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/editor-t/gui4-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/editor-t/gui4-1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;br /&gt;
Barra de herramientas de archivo.&lt;br /&gt;
&lt;br /&gt;
Panel de pestañas para la manipulación de varios archivos, permitiendo&amp;nbsp;así&amp;nbsp;mismo la navegación por los distintos archivos que se tuviese abiertos en la aplicación.&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;br /&gt;
Menú&amp;nbsp;Contextual para el panel de pestañas.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/editor-t/gui4-3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/editor-t/gui4-3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Cada archivo que se cree o obra el texto se colocará en una área de texto&lt;b&gt;&amp;nbsp;&lt;/b&gt;para su manipulación del mismo en una nueva pestaña.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Menú Contextual para los archivos de texto con opciones de edición.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/editor-t/gui4-2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/editor-t/gui4-2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Barra de Estado que permite la visualización de la dirección del archivo en edición y además permite aumentar el tamaño de fuente de texto si se quisiera.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://dl.dropbox.com/u/84589183/blog/editor-t/gui5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;Código&amp;nbsp;Fuente&lt;/b&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Enlace de descarga:&amp;nbsp;&lt;a href=&quot;http://www.4shared.com/zip/g942Kucwce/MyTextEditorPL.html&quot;&gt;Download code&lt;/a&gt;&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/2729197353395572497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/simple-editor-de-texto-plano-en-java.html#comment-form' title='11 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/2729197353395572497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/2729197353395572497'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/simple-editor-de-texto-plano-en-java.html' title='Java: Editor de Texto Plano'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4223185244692502259.post-1912301996136589303</id><published>2012-08-16T10:07:00.001-07:00</published><updated>2014-11-03T20:07:33.103-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="java 3d"/><title type='text'>Java 3D: Representación de un Juego de Soccer</title><content type='html'>&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/gs1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img alt=&quot; juego soccer en java 3d&quot; border=&quot;0&quot; height=&quot;327&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/gs1.png&quot; title=&quot;Simulacion de juego de Soccer&quot; width=&quot;570&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Requerimientos&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
- jdk (java)&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
-&amp;nbsp;Java 3D&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
- NetBeans&lt;/blockquote&gt;
&lt;b&gt;Descripción General:&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Representación de un&amp;nbsp;vídeo&amp;nbsp;juego de soccer &amp;nbsp;en 3d: campo de juego, jugadores de ambos equipos, formación de los jugadores y realización de una simple jugada de ejemplo. Además algunas manipulaciones de la vista del juego.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Para la creación del escenario gráfico con los componentes y manipulación del mismo mediante las&amp;nbsp;librerías&amp;nbsp;y funciones que provee el java 3d.&amp;nbsp;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La integración a una ventana de visualización de la representación del juego y manipulación de algunas características del mismo utilizando la GUI de java.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/gs2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;juego soccer en java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/gs2.png&quot; title=&quot;Simulacion de un juego de soccer en java&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/gs3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;juego soccer en java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/gs3.png&quot; title=&quot;Simulacion de un juego de soccer en java&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Escenario del Juego y sus componentes&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Campo&amp;nbsp;rectangular&amp;nbsp;de juego:&lt;/b&gt; &amp;nbsp;Uso de figuras geométricas para su diseño y aplicación de una textura para crear la vista de un verde campo de juego.&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/cam1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;campo de juego en java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/cam1.png&quot; title=&quot;Campo de juego en java&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Arcos:&lt;/b&gt; Para la creación de los arcos de juego se hizo uso de figuras geométricas &amp;nbsp;y además de la creación de Superficies de Bézier para generar las mallas que poseen estos.&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/arc2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;diseño de un arco de soccer con java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/arc2.png&quot; title=&quot;Arco con java 3d&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/arc1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;diseño de masllas un arco de soccer con java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/arc1.png&quot; title=&quot;Arcos de soccer con java&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;Jugadores: &lt;/b&gt;Los jugadores fueron creados casi complemente con el uso de figuras&amp;nbsp;geométricas&amp;nbsp;primitivas que proporciona el java 3d, pero también se hace uso de Superficies de Bézier.&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/ju1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;diseño de un jagador de soccer con java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/ju1.png&quot; title=&quot;Jugador en java&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/ju2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;diseño de un jagdor en java 3d&quot; border=&quot;0&quot; src=&quot;https://dl.dropbox.com/u/84589183/blog/soccer3d/ju2.png&quot; title=&quot;Jugador en java&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
A cada uno de los componentes en particular y general de esta representación del juego se aplico las características correspondientes a:&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
-&amp;nbsp;Colores, Transparencias, etc.&lt;br /&gt;
-&amp;nbsp;Transformaciones &lt;br /&gt;
-&amp;nbsp;Proporción de vista o cubo de vista del juego. &lt;br /&gt;
-&amp;nbsp;Dirección de vista. &lt;br /&gt;
-&amp;nbsp;etc.&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;b&gt;Consideraciones&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Solo realiza una simulación&amp;nbsp;de un jugada.&lt;/blockquote&gt;
&lt;b&gt;Código&amp;nbsp;Fuente&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Enlace de descarga:&amp;nbsp;&lt;a href=&quot;http://www.4shared.com/zip/Gw6-RGR_ba/GameSoccer3D.html&quot;&gt;Download Code&lt;/a&gt;&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pedroluis02.blogspot.com/feeds/1912301996136589303/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/representacion-de-juego-de-soccer-con.html#comment-form' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/1912301996136589303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4223185244692502259/posts/default/1912301996136589303'/><link rel='alternate' type='text/html' href='http://pedroluis02.blogspot.com/2012/08/representacion-de-juego-de-soccer-con.html' title='Java 3D: Representación de un Juego de Soccer'/><author><name>Pedro Luis</name><uri>http://www.blogger.com/profile/17951921884519557300</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry></feed>