lunes, 22 de agosto de 2011

DevC portable con OpenGL::2.programar





Continuando , ya configuramos (  leer como configurar ) , ahora para programar ...












9. abre el devc, nuevo proyecto ene este icono , indicas el lugar de guardar y el nombre











10. propiedades de proyecto


11.parámetros o argumentos en otros , porque ? , pos no se


12.linkear , añadir librería


13. escoges la librerías, *.lib, solo son 4 , y van a destacar justo porqué están en mayúscula




Aceptar. 

**no siempre va aparecer en los links , lib/opengl..etc, depende de donde se allá guardado el proyecto , va aparecer la ruta

14.listo , ahora a escribir el código ,..hagamos una prueba
15. este es el código




//inicio de codigo
#include <stdlib.h>
#include<conio.h>
#include <gl/glut.h>
#include <math.h>

//permite ajustar la escala visual
double esc=0.3;
//guarda el angulo de rotacion del sol y los planetas
//azul, rojo y verde respectivamente
int velocidad=3;
double sol=0;
double azul=0;
double rojo=0;
double verde=0;
//guarda el angulo de traslacion de los planetas
//azul, rojo y verde respectivos
double tazul=0;
double tverde=0;
double trojo=0;
//guarda el sentido de la rotacion del sol y los
//planetas respectivos
static int sen1=1; //sol
static int senA=1; //azul
static int senR=1; //rojo 
static int senV=1; //verde 
//guarda el sentido de la traslacion del los
//planetas respectivos
static int senta=1; //azul
static int sentv=1; //rojo
static int sentr=1; //verde 

// para el elipse a es el radio del eje horizontal
// y b el del eje vertical el valor de c sera la distancia
// del foco al centro que sera calculado como: c=b-a

double a=4;
double b=5;

void dibu_sol()
{	glColor3f(1,1,0);
	glutWireSphere(0.75,20,20);
}
void dibu_verde()
{	glColor3f(0,1,0);
	glutWireSphere(0.2,10,10);
}
void dibu_azul()
{	glColor3f(0,0,1);
	glutWireSphere(0.2,10,10);
}
void dibu_rojo()
{	glColor3f(1,0,0);
	glutWireSphere(0.2,10,10);
}
void init(void)
{
	glClearColor(1,1,1,0);
	glShadeModel(GL_FLAT);
}

void objeto_geometrico(void)
{	glScalef(esc,esc,esc);//genera una escala de visualizacion
	//grafica al sol y sus movimientos
	glRotatef(sol,0,1,0);
		dibu_sol();
	glRotatef(-sol,0,1,0);
	//grafica al planeta azul y sus movimientos
	glRotatef(tazul,0,1,0);
	glTranslatef(-4,0,0);
		glRotatef(azul,0,1,0);
			dibu_azul();
		glRotatef(-azul,0,1,0);
	glTranslatef(4,0,0);
	glRotatef(-tazul,0,1,0);
	//grafica al planeta verde y sus movimientos
	glRotatef(tverde,0,0,1);
	glTranslatef(0,2.5,0);
		glRotatef(verde,0,1,0);
			dibu_verde();
		glRotatef(-verde,0,1,0);
	glTranslatef(0,-2.5,0);
	glRotatef(-tverde,0,0,1);
	//grafica al planeta rojo y sus movimientos
	glTranslatef(a*cos(trojo),b*sin(trojo),0);
		glTranslatef(0,b-a,0);
			glRotatef(rojo,0,1,0);
				dibu_rojo();
			glRotatef(rojo,0,1,0);
		glTranslatef(0,a-b,0);
	glTranslatef(-a*cos(trojo),-b*sin(trojo),0);
}

void display(void)
{	
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glLoadIdentity();
	glColor3f(1,1,1);
	//dibuja los ejes cordenados
	glBegin(GL_LINES);
		glVertex3f(0,0,0);
		glVertex3f(0,0,1.5);
		glVertex3f(0,0,0);
		glVertex3f(0,1.5,0);
		glVertex3f(0,0,0);
		glVertex3f(1.5,0,0);
	glEnd();
	objeto_geometrico ();
	glFlush();
	glutSwapBuffers();
}
//genera el momiento de rotacion del sol usando presisamente rotaciones
void girar_sol()
{
	sol +=0.7*sen1*velocidad;
	if(sol>360) sol -= 360.0;
	if(sol<0) sol += 360.0;
	display();
}
//genera el momiento de rotacion del planeta azul usando presisamente rotaciones
void girar_Azul()
{
	azul += 0.6*senA*velocidad;
	if(azul>360) azul -= 360.0;
	if(azul<0) azul += 360.0;
	display();
}
//genera el momiento de rotacion del planeta verde usando presisamente rotaciones
void girar_Verde()
{	verde += 0.6*senV*velocidad;
	if(verde>360) verde -= 360.0;
	if(verde<0) verde += 360.0;
	display();
}
//genera el momiento de rotacion del planeta rojo usando presisamente rotaciones
void girar_Rojo()
{	rojo += 0.6*senR*velocidad;
	if(rojo>360) rojo -= 360.0;
	if(rojo<0) rojo += 360.0;
	display();
}
//genera el momiento de rotacion del planeta azul usando rotaciones
void trans_azul()
{	tazul+=0.8*senta*velocidad;
    if(tazul>360) tazul -= 360.0;
	if(tazul<0) tazul += 360.0;
	display();
}
//genera el momiento de rotacion del planeta verde usando rotaciones
void trans_verde()
{	tverde+=0.8*sentv*velocidad;
    if(tverde>360) tverde -= 360.0;
	if(tverde<0) tverde += 360.0;
	display();
}
//genera el momiento de rotacion del planeta rojo usando transalaciones 
//adaptando la ecuacion de la circunferencia para el elipse
void trans_rojo()
{	trojo+=0.015*sentr*velocidad;
    if(trojo>360) trojo -= 360.0;
	if(trojo<-360) trojo += 360.0;
	display();
}
//permite cambiar el sentido de las rotaciones y translaciones
//de los planetas y el sol
void teclado(unsigned char tecla,int x,int y)
{
	switch(tecla)
	{	case 'q' :
		case 'Q' : sen1 = 1; break;
		case 'w' :
		case 'W' : sen1 = -1; break;
		case 'a' :
		case 'A' : senA=1;break;
		case 's' :
		case 'S' : senA=-1;break;
		case 'E' :
		case 'e' : senta=1;break;
		case 'r' :
		case 'R' : senta=-1;break;
		case 'O' :
		case 'o' : senV=1;break;
		case 'p' :
		case 'P' : senV=-1;break;
		case 'C' :
		case 'c' : sentv=1;break;
		case 'v' :
		case 'V' : sentv=-1;break;
		case 'z' :
		case 'Z' : senR=1;break;
		case 'X' :
		case 'x' : senR=-1;break;
		case 'D' :
		case 'd' : sentr=1;break;
		case 'F' :
		case 'f' : sentr=-1;break;
		case 'K' :
		case 'k' : exit(0) ;
	}
}


void myReshape(int w, int h)
{
	glViewport(0,0,w,h);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	if(w <=h)
	glOrtho(-2.0,2.0,-2.0*(GLdouble)h/(GLdouble)w,
	2.0*(GLdouble)h/(GLdouble)w, -10.0, 10.0);
	else
	glOrtho(-2.0*(GLdouble)w/(GLdouble)h,
	2.0*(GLdouble)w/(GLdouble)h, -2.0,2.0,-10.0,10.0);
	glMatrixMode(GL_MODELVIEW);
}

void menu1(int op)
{
 switch(op){
 case 1: sen1=1; break;
 case 2: sen1=-1; break;
 case 3: senA=1; break;
 case 4: senA=-1; break;
 case 5: senta=1; break;
 case 6: senta=-1; break;
 case 7 :senV=1; break;
 case 8: senV=-1; break;
 case 9: sentv=1; break;
 case 10:sentv=-1; break;
 case 11:senR=1; break;
 case 12:senR=-1; break;
 case 13:sentr=1 ; break;
 case 14 :sentr=-1 ; break;
 case 15 : exit(0); break;
 }
}

void inicio()
{	girar_sol();
	girar_Azul();
	trans_azul();
	girar_Verde();
	trans_verde();
	girar_Rojo();
	trans_rojo();
}

int main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
	glutInitWindowSize(600,600);
	glutCreateWindow("Sistema Planetario");
	glutDisplayFunc(display);
	glutIdleFunc(inicio);
    int submenu=glutCreateMenu(menu1);//de los modelos
	
    glutCreateMenu(menu1);
    glutAddSubMenu("Planetas",submenu);
        

    glutAddMenuEntry("Rotacion Sol antihoraria",1);
    glutAddMenuEntry("Rotacion Sol horaria",2);
	glutAddMenuEntry("Rotacion Azul antihoraria",3);
	glutAddMenuEntry("Rotacion Azul horaria",4);
    glutAddMenuEntry("Traslacion Azul antihoraria",5);
	glutAddMenuEntry("Traslacion Azul horaria",6);
	glutAddMenuEntry("Rotacion Verde antihoraria",7);
	glutAddMenuEntry("Rotacion Verde horaria",8);
	glutAddMenuEntry("Traslacion Verde antihoraria",9);
    glutAddMenuEntry("Traslacion Verde horaria",10);
	glutAddMenuEntry("Rotacion Rojo antihoraria",11);
	glutAddMenuEntry("Rotacion Rojo horaria",12);
    glutAddMenuEntry("Traslacion Rojo antihoraria",13);
	glutAddMenuEntry("Traslacion Rojo horaria",14);
	
	glutAddMenuEntry("Salir",15);

	glutAttachMenu(GLUT_RIGHT_BUTTON);
	glutReshapeFunc(myReshape);
	
	glutKeyboardFunc(teclado);
	glEnable(GL_DEPTH_TEST);
	glutMainLoop();

}

//fin de codigo


16. F9 , para compilar y ejecutar , come primera ves taímen te va pedir guardar , y ponerle un nombre ……, lito


17. Bien!!! si funciona .

Todo listo , ahora pueden llevárselo en usb y programar a gusto .

domingo, 21 de agosto de 2011

Inteligencia Artificial clases gratuitas desde Stanford


Clases gratuitas on line con profesores de  la Universidad Stanford , aquellos que les interesa esta rama  , no pierdan la oportunidad , que esperan (00)/

para mas informacion y registrarte peude acceder a http://www.ai-class.com/

Datos :

  • 10 horas semanales
  • Habra exámenes parciales por cada una de las 20 clases y exámenes finales 
  • Estos  darán derecho a la obtención de un certificado de asistencia donde se incluya la materia estudiada.
  • Profesores : Sebastian Thrun y Peter Norvig
  • Entre el 10 de Octubre y el 16 de Diciembre de este año.

sábado, 20 de agosto de 2011

DevC portable con OpenGL::1.configurar


Configurare el dev-c++ portable para usar opengl , asi programar libremente donde queramos con opengl ,un amigo me lo pidió porque le hace una lata configurar en el visual , yo tampoco lo use :D , entonces lo hare paso a paso , y en mi usb desde cero para cerciórame que funciona.
Archivos Necesarios ::



<-- debemos llegar a esto -->

1. borramos el dev c


2. creo una carpeta nueva, nombre devc_portable


3. y se copian los siguientes archivos dentro de ella:

- dos bat
( los envíe como *.txt , solo le cambias la extensión a *.bat )

 
- la carpeta OPENGL95
( La que envíe, solo porsiacaso)
- y el instalador del devc_portable
(Son 11mb y no pasaban por aquí , así que se lo pueden descargar los que no los tengan con este link : )

**no te preocupes si aparece la extensiones *.bat o *.exe , aquí aparece porque esta configurado para que se vean., se hace en herramientas -> opciones de carpeta-> ficha ver y desactivan la opción ocultar extensión o algo parecido

4. Doble clic en el instalador del devc_portable ,extract ( acepta ) ….paciencia , demora un poco

5. bien , luego buscas dentro de la carpeta que se creo , el icono devc.exe , doble clic , y esperamos que abra , te saldrá un mensaje como el que esta en la imagen , solo acepta , luego escoges idioma , estilo de iconos , acepta acepta acepta ….carga y ok


*solo acepta
Next, next,next -ok
Cargue.

6. un ves que salga esta ventana , CIÉRRALO :p


7. doble clic en los bat’s , el orden no importa , lo que debió salir es algo así .

ufff..... , eso es todo….para la instalación ahora para programar , solo sigue estos pasos( siguientes pasos >> ) 

viernes, 12 de agosto de 2011

Obtener Modulo de Cubo de Pago:SIN PAGAR Parte 2


<Leer Parte1<
Bueno continuando, dije que haría una extensión , pero solo habiamos entendido como funciona , y lo hemos descargado , ahora solo falta volverlo una extensión , podría ser un componente , un plugin, modulo o hasta parte de un plantilla , o simplemente para no complicarnos meter el codigo en un ,mod_custom o como un iframe , pero no hay gracia (--) ...,  para hacerlo lo más parecido a lo que nos ofrecían por “pagar” :P , lo haremos como modulo.

Viendo la página donde nos dan instrucciones de uso

http://www.webmaster-tips.net/Joomla-1.0-and-1.5/Joomla-1.5-Modules/WMT-3D-Banner-Box-Joomla-Extension.html


Dando un vistazo rápido mm.., valla son muchas opciones , seria muy trabajoso hacerlo indentico  , asi que haremos que sea configurable pero con simples parámetros , al final el resultados son muy parecidos , iguales diría :D.


Ok, entonces Primero:

Como hacemos un módulo en joomla? ,..rápido: joomla 1.5.x trabaja con el patrón MVC ( modelo vista controlador ) , eso quiere decir que tiene separados sus archivos de control vista y lógica ,haciendo más fácil su mantenimiento.
La estructura básica se cumple para todo los módulos , énfasis en los nombres pues asi como joomla los busca ,es su forma de mapearlos.

Por cada modulo hay una carpeta con su nombre de esta forma : mod_XXXXX , nuestro caso
mod_cuboBanner

Básicamente , al momento de mostrar el modulo , joomla accede primero al archivo mod_cuboBanner.php , este es nuestro punto de entrada , la lógica estara en helper.php , y nuestra vista estará en la carpeta template : tmpl , para nuestro caso una vista , será un archivo default.php, como su nombre indica será llamada por defecto , podemos tener varias vistas , estas se colocarían dentro de la carpeta tmpl , y por ultimo para el back-end , la parte de administrador un archivo mod_cuboBanner.xml , para parametrisar los valores de configuración de nuestro cubo ( velocidad , imágenes tamaño , lo que se nos ocurra )

Es la estructura básica , vamos a variarla un poco, agregando solamente según necesitemos..
OK. Entonces primero el punto de entrada: mod_cuboBanner.php





<?php
//por seguridad
defined('_JEXEC') or die('Acceso denegado');
//incluimos helper
require_once(dirname(__FILE__).DS.'helper.php');
//seteamos la configuracion  
modCubobannerHelper::setParamsXML($params);
//llamamos al layout con nombre default
require(JModuleHelper::getLayoutPath('mod_cuboBanner','default'));
?>

Como vimos para el cubo , toma parámetros de un XML , este va ser construido por el archivo helper.php

NOTA: para la lectura y escritura de archivos , es posible que a veces falle, si se da , entonces revisar los permisos , es lo mas probable, si tu hosting es remoto entonces comunícaselo a tu proveedor para que te indique los pasos ,ok solo eso.


En el helper creamos la clase y el método que vamos a usar para construir el XML :

<?php

class modCubobannerHelper{
	function setParamsXML($params){
		$direccion="modules/mod_cuboBanner/util/box.xml";
		$archivo=fopen($direccion,w);
		
    
		  $contenidoxml = "<box>
	 
        	<width>".$params->get('ancho3d')."</width>
        	<height>".$params->get('alto3d')."</height>
        	<length>".$params->get('profundidad3d')."</length>
        	
        	<viewportWidth>".$params->get('vistaAncho')."</viewportWidth>
        	<viewportHeight>".$params->get('vistaAlto')."</viewportHeight>
        	<fieldOfView>100</fieldOfView>
        	
        	<strokeWidth>".$params->get('anchoSeleccion')."</strokeWidth>
        	<strokeColor>".$params->get('colorSeleccion')."</strokeColor>
        	<strokeAlpha>".$params->get('alphaSeleccion')."</strokeAlpha>
	   <top src='".$params->get('imgTop')."' alpha='".$params->get('alphaTop')."' 
link='".$params->get('linkTop')."' target='".$params->get('targetTop')."'/>
	   <bottom src='".$params->get('imgBottom')."' alpha='".$params->get('alphaBottom')."' link='".$params->get('linkBottom')."' target='".$params->get('targetBottom')."'/>
	   <left src='".$params->get('imgLeft')."' alpha='".$params->get('alphaLeft')."' link='".$params->get('linkLeft')."' target='".$params->get('targetLeft')."'/>
	   <right src='".$params->get('imgRight')."' alpha='".$params->get('alphaRight')."' link='".$params->get('linkRight')."' target='".$params->get('targetRight')."'/>
	   <front src='".$params->get('imgFront')."' alpha='".$params->get('alphaFront')."' link='".$params->get('linkFront')."' target='".$params->get('targetFront')."'/>
	   <back src='".$params->get('imgBack')."' alpha='".$params->get('alphaBack')."' link='".$params->get('linkBack')."' target='".$params->get('targetBack')."'/>
	   
	   <backHFlip>false</backHFlip>
	<backVFlip>false</backVFlip>

	<initRotationX>0</initRotationX>
	<initRotationY>0</initRotationY>
	<initRotationZ>0</initRotationZ>
	
	<autoRotate>true</autoRotate>
	<autoRotateXSpeed>1</autoRotateXSpeed>
	<autoRotateYSpeed>1</autoRotateYSpeed>
	<autoRotateZSpeed>1</autoRotateZSpeed>
	<pauseOnMouseOver>true</pauseOnMouseOver>	
	
	<mouseRotation>false</mouseRotation>
	<maxRotationX>2</maxRotationX>
	<maxRotationY>2</maxRotationY>
	<pauseOnMouseOut>true</pauseOnMouseOut>
	
	<easingFactor>0.1</easingFactor>
	
	<mouseDrag>true</mouseDrag>
	<halfXRotationDist>150</halfXRotationDist>
	<halfYRotationDist>200</halfYRotationDist>
	<dragEasingTime>0.5</dragEasingTime>
	
</box>";

	fwrite($archivo,$contenidoxml);
	fclose($archivo);
	}
		
}
?>

Como habrán visto se usa la variable $params , es con esta y su método get(‘XXXX’) , con el cual tomamos los valore que hemos indicado desde el administrador con el archivo XML , ahora como saber con qué nombre llamar a cada parámetro? , esto se indica en el archivo que va para el administrador ( se verá más abajo ), un ejemplo de cómo quedaría box.xml , al ser generado seria así:

<box>
	 
        	<width>145</width>
        	<height>145</height>
        	<length>145</length>
        	
        	<viewportWidth>200</viewportWidth>
        	<viewportHeight>200</viewportHeight>
        	<fieldOfView>100</fieldOfView>
        	
        	<strokeWidth>2</strokeWidth>
        	<strokeColor>0x8080FF</strokeColor>
        	<strokeAlpha>1</strokeAlpha>
	   <top src='http://localhost/ozono/images/powered_by.png' alpha='1' link='#' target='_blank'/>
	   <bottom src='http://localhost/ozono/images/powered_by.png' alpha='0.5' link='#' target='_blank'/>
	   <left src='http://localhost/ozono/images/powered_by.png' alpha='0.5' link='#' target='_blank'/>
	   <right src='http://localhost/ozono/images/powered_by.png' alpha='0.5' link='#' target='_blank'/>
	   <front src='http://localhost/ozono/images/powered_by.png' alpha='0.5' link='#' target='_blank'/>
	   <back src='http://localhost/ozono/images/powered_by.png' alpha='0.5' link='#' target='_blank'/>
	   
	   <backHFlip>false</backHFlip>
	<backVFlip>false</backVFlip>

	<initRotationX>0</initRotationX>
	<initRotationY>0</initRotationY>
	<initRotationZ>0</initRotationZ>
	
	<autoRotate>true</autoRotate>
	<autoRotateXSpeed>1</autoRotateXSpeed>
	<autoRotateYSpeed>1</autoRotateYSpeed>
	<autoRotateZSpeed>1</autoRotateZSpeed>
	<pauseOnMouseOver>true</pauseOnMouseOver>	
	
	<mouseRotation>false</mouseRotation>
	<maxRotationX>2</maxRotationX>
	<maxRotationY>2</maxRotationY>
	<pauseOnMouseOut>true</pauseOnMouseOut>
	
	<easingFactor>0.1</easingFactor>
	
	<mouseDrag>true</mouseDrag>
	<halfXRotationDist>150</halfXRotationDist>
	<halfYRotationDist>200</halfYRotationDist>
	<dragEasingTime>0.5</dragEasingTime>
	
</box>



Por ultimo 

una vez construido el archivo XML con lo parámetros seteados desde el back-end , construimos la vista , es decir default.php
<?php
$dim1="style=\"width:".$params->get('vistaAncho')."px;";
$dim1.="height:'".$params->get('vistaAlto')."px;overflow: hidden;\"";

$dim2="width=\"".$params->get('vistaAncho')*2.744."\" ";
$dim2.="height=\"".$params->get('vistaAlto')*1.395."\" ";

?><div 
<?php echo $dim1; ?>
>
    <object id="FlashID42" 
    
    <?php echo $dim2; ?>
    
    classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" style="visibility: inherit;">
        <param value="./modules/mod_cuboBanner/util/main.swf?xmlFile=modules/mod_cuboBanner/util/box.xml" name="movie">
        <param value="high" name="quality">
        <param value="transparent" name="wmode">
        <param value="8.0.35.0" name="swfversion">
        <param value="./modules/mod_cuboBanner/util/expressInstall.swf" name="expressinstall">
        <object  <?php echo $dim2; ?> data="./modules/mod_cuboBanner/util/main.swf?xmlFile=modules/mod_cuboBanner/util/box.xml" type="application/x-shockwave-flash">
            <param value="high" name="quality">
            <param value="transparent" name="wmode">
            <param value="8.0.35.0" name="swfversion">
            <param value="./modules/mod_cuboBanner/util/expressInstall.swf" name="expressinstall">
            <div>
                <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
                <p>
                	<a href="http://www.adobe.com/go/getflashplayer"><a href="http://OnSinfo.blogspot.com"/>
                </p>
            </div>
        </object>
    </object>
</div><a href="http://OnSinfo.blogspot.com"><center><strong>By OnSinfo (^^)/</strong></center></a>


Bueno, ahora solo falta hacer el instalable , que al aves indica los parámetros que podremos setear:mod_cuboBanner.xml
 
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
	<name>Cubo Banner 3D!!!</name>
	<author>Javier Solis F.</author>
	<creationDate>7.08.11</creationDate>
	<description>OnSinfo :D .Para tus banner rodando en un cubo 3D(*o*)</description>
	<authorEmail>solis.unmsm@gmail.com</authorEmail>
	<authorUrl>http://OnSinfo.blogspot.com</authorUrl>
	<version>1.0</version>
	<copyright>GNU General Public License</copyright>
	<files>
		<filename module="mod_cuboBanner">mod_cuboBanner.php</filename>
		<filename>helper.php</filename>
		<filename>mod_cuboBanner.xml</filename>	
		<filename>tmpl/default.php</filename>
		<filename>util/box.xml</filename>
		<filename>util/main.swf</filename>
		<filename>util/expressInstall.swf</filename>
		<filename>util/img/cara1.png</filename>
		<filename>util/img/cara2.png</filename>
		<filename>util/img/cara3.png</filename>
	</files>
	<params>
	<!--lalala-->
		<param name="ancho3d" type="text" default="145" label="Ancho del cubo 3D" description="este parametro es para la figura 3d" />
		
	<param 
			name="profundidad3d" 
			type="text" 
			default="145" 
			label="Profundidad del cubo 3D"
			description="este parametro es para la figura 3d"
		/>
		<param 
			name="alto3d" 
			type="text" 
			default="145" 
			label="alto del cubo 3D"
			description="este parametro es para la figura 3d"
		/>	
<!-- seteamos el cuadro desde donde se vera el cubo -->	
		<param 
			name="vistaAncho" 
			type="text" 
			default="215" 
			label="Ancho del cuadro visible"
			description="este parametro sirve para definir el ancho de la parte visible , es como al ventena por donde se va ver el cubo"
		/>		
		<param 
			name="vistaAlto" 
			type="text" 
			default="215" 
			label="Alto del cuadro visible"
			description="este parametro sirve para definir el alto de la parte visible , es como al ventena por donde se va ver el cubo"
		/>		
	<!--setando las propiedades de la inea que aparece al momento de selecionar-->
		<param 
			name="anchoSeleccion" 
			type="text" 
			default="2" 
			label="Grosor de la linea de seleccion"
			description="define el grosor de la linea que rodea el cuadro al momento de pasar el moise por encima"
		/>
		<param 
			name="colorSeleccion" 
			type="text" 
			default="0x8080FF" 
			label="Color de la linea de seleccion"
			description="define el color de la linea que rodea el cuadro al momento de pasar el moise por encima debe escribirlo en hexadecimal"
		/>
		<param 
			name="alphaSeleccion" 
			type="text" 
			default="1" 
			label="Nivel Trasparente de Seleccion"
			description="define el nivel de transparencia 0 es invisible 1 totalmente opaco"
		/>

	<!--ahora setearemoas cada cara-->
		<!--TOP-->
		<param 
			name="imgTop" 
			type="text" 
			default="modules/mod_cuboBanner/util/img/cara1.png" 
			label="path imagen top"
			description="direcion de la imagen que se ubicara en la posicion TOP"
		/>				
		<param 
			name="alphaTop" 
			type="text" 
			default="0.5" 
			label="Nivel Trasparente"
			description="define el nivel de transparencia 0 es invisible 1 totalmente opaco"
		/>
		<param
			name="linkTop"
			type="text"
			default="http://onsinfo.blogspot.com/2011/01/joomla-cubo-3d-anuncios.html"
			label="link"
			description="direcion hacua donde ira si le hacemos click a la imagen"
		/>
		<param 
			name="targetTop" 
			type="radio" 
			default="_blank" 
			label="Donde abrir la nueva ventana"
			description="definimos si al hacer click se abrira en una nueva ventana o en la misma , etc"
		>
			<option value="_blank">en una nueva pagina</option>
			<option value="_top">misma pagina</option>
		</param>
		
		<!--BOTTOM--..continua no lo pongo porque solo se repite..para cad cara el archivo completo esta en el link al final del POST>

He añadido algunos archivos más para que arranque con valore por defecto y ver ya el funcionamiento de nuestro cubo , ahora solo toca instalarlo en cualquier hosting con joomla 1.5.x
Panel principal ->extensiones->install


Seleccionamos el archivo a cargar



Clic en upload



Ok ahora, solo habilitamos el modulo, lo buscamos en extensions->module manager




Si le damos click , veremos los parámetros que están definidlos por defecto , claro los puede cambiarlos



Ahora solo lo habilitamos (no está habilitado por defecto) y guardamos


Clic en Save , y vemos la pagina desde el front-end ,para ver como quedo …

(pagina en host remoto)


Bien (^^), es lo que esperaba , lo probé otros host y no problemas
(página en host local )


Y eso es todo. (--)/

Descargalo desde aquí a solo 0$ ( cambio de moneda actual ) :D


saludos (00)/


sábado, 25 de junio de 2011

Tutorial de Arena en videos

Aquí unos vídeos que encontré de Arena ,..y que es arena ?? , es un software que te permiten modelar las funciones de tu negocio como fabricacion , logística , servicio al cliente , etc , así como el análisis de procesos en las que intervienen varias áreas  , así también y lo mejor , simular lo que "podría pasar" de acuerdo como varias tus políticas recursos , etc , respondiendo  que podría pasar si hacemos esto o aquellos cambios en los procesos , hasta obtener los resultados deseados .

 sin mas ,les comparto el primero:


 

si quieren ver los siguientes solo sigan el siguiente Link  , son en total 12 , provecho :D



Pagina de arena

Eres el visitante numero ...