tipo_de_macro=R2

Idioma=espa&ntilde;ol

id='debug' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='O.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='O.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='O.activo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A.activo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B.activo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='sec.r' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='alfa' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='alfaGrados' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='___COLORES___'

id='O.ancho' constante='s&iacute;' expresi&oacute;n='6' evaluar='una-sola-vez'

id='O.alfa' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='O.rojo' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='O.verde' constante='s&iacute;' expresi&oacute;n='25/255' evaluar='una-sola-vez'

id='O.azul' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='O.borde.alfa' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='O.borde.rojo' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='O.borde.verde' constante='s&iacute;' expresi&oacute;n='25/255' evaluar='una-sola-vez'

id='O.borde.azul' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='A.ancho' constante='s&iacute;' expresi&oacute;n='6' evaluar='una-sola-vez'

id='A.alfa' constante='s&iacute;' expresi&oacute;n='72/255' evaluar='una-sola-vez'

id='A.rojo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A.verde' constante='s&iacute;' expresi&oacute;n='153/255' evaluar='una-sola-vez'

id='A.azul' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='A.borde.alfa' constante='s&iacute;' expresi&oacute;n='72/255' evaluar='una-sola-vez'

id='A.borde.rojo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A.borde.verde' constante='s&iacute;' expresi&oacute;n='153/255' evaluar='una-sola-vez'

id='A.borde.azul' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='B.ancho' constante='s&iacute;' expresi&oacute;n='6' evaluar='una-sola-vez'

id='B.alfa' constante='s&iacute;' expresi&oacute;n='72/255' evaluar='una-sola-vez'

id='B.rojo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B.verde' constante='s&iacute;' expresi&oacute;n='153/255' evaluar='una-sola-vez'

id='B.azul' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='B.borde.alfa' constante='s&iacute;' expresi&oacute;n='72/255' evaluar='una-sola-vez'

id='B.borde.rojo' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B.borde.verde' constante='s&iacute;' expresi&oacute;n='153/255' evaluar='una-sola-vez'

id='B.borde.azul' constante='s&iacute;' expresi&oacute;n='1' evaluar='una-sola-vez'

id='___VAR ESPACIO___'

id='Esp.mouse_x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.mouse_y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.w' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.h' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.Ox' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.Oy' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.escala' constante='s&iacute;' expresi&oacute;n='45' evaluar='una-sola-vez'

id='Esp.mouse_pressed' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='___VAR_INTERNAS___'

id='Esp.minX' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.minY' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.maxX' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.maxY' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A0.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='A0.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B0.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='B0.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='U.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='U.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='V.x' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='V.y' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='maxRadio' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='verInfoSec' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='verInfoRec' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='verInfoVer' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='rectaActiva' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='_xProy' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='_yProy' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='pressAnt' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.mouse_xPix' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='Esp.mouse_yPix' constante='s&iacute;' expresi&oacute;n='0' evaluar='una-sola-vez'

id='___FUNCIONES___'

id='distPtoP(P1.x,P1.y,P2.x,P2.y)' algoritmo='s&iacute;' expresi&oacute;n='_dist' algoritmo='s&iacute;' hacer='_dist=(P1.x-P2.x)^2+(P1.y-P2.y)^2;_dist=sqrt(_dist)'

id='distPunToRec(Px,Py,Rx1,Ry1,Rx2,Ry2)' algoritmo='s&iacute;' expresi&oacute;n='D' algoritmo='s&iacute;' hacer='N=distPtoP(Rx1,Ry1,Rx2,Ry2);;U=(Rx2-Rx1)/N;V=(Ry2-Ry1)/N;D=abs(-V*(Px-Rx1)+U*(Py-Ry1))'

id='angleVtoV(_x1,_y1,_x2,_y2)' algoritmo='s&iacute;' expresi&oacute;n='_alfa' algoritmo='s&iacute;' hacer='_NU=sqrt(_x1^2+_y1^2);_Ux=_x1/_NU;_Uy=_y1/_NU;;;_NV=sqrt(_x2^2+_y2^2);_Vx=_x2/_NV;_Vy=_y2/_NV;;;_cosa=_Ux*_Vx+_Uy*_Vy;_sena=_Ux*_Vy-_Uy*_Vx;;_alfa=acos(_cosa);_alfa=(_sena&lt;0)?(2*pi-_alfa):_alfa;;;'

id='proyToRecta(_iRec,x,y)' algoritmo='s&iacute;' algoritmo='s&iacute;' hacer='_x1=O.x;_y1=O.y;;_x2=(_iRec==0)?A0.x:B0.x;_y2=(_iRec==0)?A0.y:B0.y;;_N=distPtoP(_x1,_y1,_x2,_y2);_U=(_x2-_x1)/_N;_V=(_y2-_y1)/_N;_Pr=_U*(x-_x1)+_V*(y-_y1);_xProy=_x1+_Pr*_U;_yProy=_y1+_Pr*_V'

id='clickEnSector(_mx,_my)' algoritmo='s&iacute;' expresi&oacute;n='_dentro' algoritmo='s&iacute;' hacer='_v1.x=(O.x-A.x);_v1.y=(O.y-A.y);;_v2.x=(O.x-_mx);_v2.y=(O.y-_my);;_dist=sqrt(_v2.x^2+_v2.y^2);_dentro=_dist&lt;=sec.r;;;_angActSec=(_dentro)?angleVtoV(_v1.x,_v1.y,_v2.x,_v2.y):(alfa+0.1);_dentro=(_dentro)&amp;(_angActSec&lt;=alfa);;'

id='clickRecta(_mx,_my)' algoritmo='s&iacute;' expresi&oacute;n='_click1|_click2' algoritmo='s&iacute;' hacer='actualizaAlfa();;proyToRecta(0,_mx,_my);_click1=distPtoP(_mx,_my,_xProy,_yProy);_click1=(_click1&lt;(3/Esp.escala));_K1=(A.x-O.x)/U.x;_usarY=(_K1&lt;=0.000001);_K1=(_usarY)?_K1:((A.y-O.y)/U.y);_K2=(_usarY)?((_yProy-O.y)/U.y):((_xProy-O.x)/U.x);_click1=(_click1)&amp;(_K2&gt;=0)&amp;(_K2&lt;=_K1);rectaActiva=(_click1)?0:-1;;;;tt=(_click1)?0:proyToRecta(1,_mx,_my);_click2=(_click1)?100:(distPtoP(_mx,_my,_xProy,_yProy));_click2=(_click2&lt;(3/Esp.escala));_K1=(B.x-O.x)/V.x;_usarY=(_K1&lt;=0.000001);_K1=(_usarY)?_K1:((B.y-O.y)/V.y);_K2=(_usarY)?((_yProy-O.y)/V.y):((_xProy-O.x)/V.x);_click2=(_click2)&amp;(_K2&gt;=0)&amp;(_K2&lt;=_K1);rectaActiva=(_click2)?1:rectaActiva;;;;;;'

id='clickEnVertice(_mx,_my)' algoritmo='s&iacute;' expresi&oacute;n='_click1' algoritmo='s&iacute;' hacer='_click1=distPtoP(_mx,_my,O.x,O.y);_click1=(_click1&lt;(5/Esp.escala));;;'

id='actualizaAlfa()' algoritmo='s&iacute;' algoritmo='s&iacute;' hacer='U.x=A.x-O.x;U.y=A.y-O.y;;NU=sqrt(U.x^2+U.y^2);U.x=U.x/NU;U.y=U.y/NU;V.x=B.x-O.x;V.y=B.y-O.y;;NV=sqrt(V.x^2+V.y^2);V.x=V.x/NV;V.y=V.y/NV;;;cosa=U.x*V.x+U.y*V.y;sena=U.x*V.y-U.y*V.x;;alfa=acos(cosa);alfa=(sena&lt;0)?(2*pi-alfa):alfa;alfaGrados=alfa*180/pi;'

id='cambiaAngRec(_iRec,Mx,My)' algoritmo='s&iacute;' expresi&oacute;n='x' algoritmo='s&iacute;' hacer='_dist1=distPtoP(O.x,O.y,A.x,A.y);_dist2=distPtoP(O.x,O.y,B.x,B.y);;_rActual=(_iRec==1)?_dist2:_dist1;;_v1.x=(Mx-O.x);_v1.y=(My-O.y);_nV1=distPtoP(_v1.x,_v1.y,0,0);cosa=((_v1.x*1)+(_v1.y*0))/(_nV1*1);_angActual=acos(cosa);_angActual=(_v1.y&lt;0)?-_angActual:_angActual;_angActual=ent(_angActual*180/pi);;_angActual=ent(_angActual);_angActual=ent(_angActual);_angActual=ent(_angActual);;_angActual=_angActual*pi/180;;;_newX=O.x+_rActual*cos(_angActual);_newY=O.y+_rActual*sen(_angActual);;;A.x=(_iRec==0)?_newX:A.x;A.y=(_iRec==0)?_newY:A.y;;B.x=(_iRec==1)?_newX:B.x;B.y=(_iRec==1)?_newY:B.y;;actualizaAlfa();'

id='mantenDentro()' algoritmo='s&iacute;' algoritmo='s&iacute;' inicio='_estaDentro=0;_facReg=1/Esp.escala' hacer=';_dentroX=(A.x&gt;=Esp.minX)&amp;(A.x&lt;=Esp.maxX);_dentroY=(A.y&gt;=Esp.minY)&amp;(A.y&lt;=Esp.maxY);_dentro1=(_dentroX)&amp;(_dentroY);;A.x=A.x-((_dentro1)?0:U.x*_facReg);A.y=A.y-((_dentro1)?0:U.y*_facReg);;_dentroX=(B.x&gt;=Esp.minX)&amp;(B.x&lt;=Esp.maxX);_dentroY=(B.y&gt;=Esp.minY)&amp;(B.y&lt;=Esp.maxY);_dentro2=(_dentroX)&amp;(_dentroY);;B.x=B.x-((_dentro2)?0:V.x*_facReg);B.y=B.y-((_dentro2)?0:V.y*_facReg);;_estaDentro=(_dentro1)&amp;(_dentro2)' mientras='!_estaDentro'

id='constricCtrEsp()' algoritmo='s&iacute;' expresi&oacute;n='x' algoritmo='s&iacute;' hacer='tt=(A.activo)?proyToRecta(0,A.x,A.y):0;A.x=(A.activo)?_xProy:A.x;A.y=(A.activo)?_yProy:A.y;;tt=(B.activo)?proyToRecta(1,B.x,B.y):0;B.x=(B.activo)?_xProy:B.x;B.y=(B.activo)?_yProy:B.y;;;Esp.minX=(10-Esp.w/2-Esp.Ox)/Esp.escala;Esp.maxX=(Esp.w-10-Esp.w/2-Esp.Ox)/Esp.escala;;Esp.maxY=-(10-Esp.h/2-Esp.Oy)/Esp.escala;Esp.minY=-(Esp.h-10-Esp.h/2-Esp.Oy)/Esp.escala;;O.x=max(Esp.minX,min(Esp.maxX,O.x));O.y=max(Esp.minY,min(Esp.maxY,O.y));;;actualizaAlfa();tt=(O.activo)?cambiaAngRec(0,O.x+U.x,O.y+U.y):0;tt=(O.activo)?cambiaAngRec(1,O.x+V.x,O.y+V.y):0;;;mantenDentro();;_dist1=distPtoP(O.x,O.y,A.x,A.y);_dist2=distPtoP(O.x,O.y,B.x,B.y);maxRadio=min(_dist1,_dist2);;;'

id='initEscena()' algoritmo='s&iacute;' expresi&oacute;n='x' algoritmo='s&iacute;' hacer='_margen=10;_radio=min(Esp.w,Esp.h)/2;_radio=(_radio-2*_margen)/Esp.escala;;_tmpA=ent(rnd*359);_tmpA=_tmpA;_tmpB=_tmpA+ent(rnd*330);;_tmpA=_tmpA*pi/180;_tmpB=_tmpB*pi/180;;;O.x=0;O.y=0;;A.x=O.x+_radio*(cos(_tmpA));A.y=O.y+_radio*(sen(_tmpA));;B.x=O.x+_radio*(cos(_tmpB));B.y=O.y+_radio*(sen(_tmpB));;;verInfoSec=0;verInfoRec=0;verInfoVer=0;A0.x=A.x;A0.y=A.y;B0.x=B.x;B0.y=B.y;'

id='actualizar()' algoritmo='s&iacute;' algoritmo='s&iacute;' hacer='recienPress=(!pressAnt)&amp;(Esp.mouse_pressed);;;_limpiaVar=(recienPress)|(A.activo)|(B.activo)|(O.activo);rectaActiva=(Esp.mouse_pressed)?rectaActiva:-1;verInfoSec=(_limpiaVar)?0:verInfoSec;verInfoRec=(_limpiaVar)?0:verInfoRec;verInfoVer=(_limpiaVar)?0:verInfoVer;;_puedeB=(recienPress);verInfoVer=(_puedeB)?clickEnVertice(Esp.mouse_x,Esp.mouse_y):verInfoVer;verInfoVer=verInfoVer|O.activo;;_puedeB=(!verInfoVer)&amp;(_puedeB);verInfoRec=(_puedeB)?clickRecta(Esp.mouse_x,Esp.mouse_y):verInfoRec;;_puedeB=(!verInfoRec)&amp;(_puedeB);verInfoSec=(_puedeB)?clickEnSector(Esp.mouse_x,Esp.mouse_y):verInfoSec;;;tt=((Esp.mouse_pressed)&amp;(rectaActiva&gt;-1))?cambiaAngRec(rectaActiva,Esp.mouse_x,Esp.mouse_y):0;;constricCtrEsp();actualizaAlfa();;;A0.x=A.x;A0.y=A.y;B0.x=B.x;B0.y=B.y;;pressAnt=Esp.mouse_pressed'

id='___ALGORITMOS___'

id='INICIO' algoritmo='s&iacute;' evaluar='una-sola-vez' hacer='sec.r=60/Esp.escala;initEscena();;'

id='CALCULOS' algoritmo='s&iacute;' evaluar='siempre' hacer='actualizar()'

tipo='arco' color='3666de33' dibujar-si='verInfoSec' centro='(O.x,O.y)' radio='min(sec.r,maxRadio)+4/Esp.escala' inicio='_(U.x,U.y)' fin='(V.x,V.y)' vectores='s&iacute;' fuente='Monospaced,PLAIN,12' fijo='s&iacute;' ancho='6' 

tipo='arco' color='41a70d' centro='(O.x,O.y)' radio='min(sec.r,maxRadio)' inicio='_(U.x,U.y)' fin='(V.x,V.y)' vectores='s&iacute;' fuente='Monospaced,PLAIN,12' fijo='s&iacute;' relleno='66de33' ancho='3' 

tipo='pol&iacute;gono' color='720099ff' dibujar-si='verInfoRec' expresi&oacute;n='(A.x,A.y)(O.x,O.y)(B.x,B.y)' ancho='12' 

tipo='pol&iacute;gono' color='0065cc' expresi&oacute;n='(A.x,A.y)(O.x,O.y)(B.x,B.y)' ancho='5' 

tipo='punto' color='fd1371' dibujar-si='verInfoVer' expresi&oacute;n='(O.x,O.y)' fuente='Monospaced,PLAIN,12' fijo='s&iacute;' tama&ntilde;o='10' 

tipo='punto' color='fd1371' expresi&oacute;n='(O.x,O.y)' fuente='Monospaced,PLAIN,12' fijo='s&iacute;' tama&ntilde;o='6' 

tipo='punto' color='ff20303a' expresi&oacute;n='(A.x+cos(s)*(1/Esp.escala),A.y+sen(s)*(1/Esp.escala))' familia='s' s.intervalo='[0,2*pi]' s.pasos='8' texto='{\rtf1\uc0{\fonttbl\f0\fcharset0 Times New Roman;\f1\fcharset0 Arial;\f2\fcharset0 Courier New;}{\colortbl\red224\green224\blue224;\red32\green48\blue58;}\f1\fs44\b\cf0 A\cf1\f2\fs24\b0}' fuente='Arial Bold,BOLD,22' fijo='s&iacute;' tama&ntilde;o='4' 

tipo='punto' color='ff20303a' expresi&oacute;n='(A.x,A.y)' texto='{\rtf1\uc0{\fonttbl\f0\fcharset0 Times New Roman;\f1\fcharset0 Arial;\f2\fcharset0 Courier New;}{\colortbl\red64\green120\blue153;\red32\green48\blue58;}\f1\fs44\b\cf0 A\cf1\f2\fs24\b0}' fuente='Arial Bold,BOLD,22' fijo='s&iacute;' tama&ntilde;o='4' 

tipo='punto' color='ff20303a' expresi&oacute;n='(B.x+cos(s)*(1/Esp.escala),B.y+sen(s)*(1/Esp.escala))' familia='s' s.intervalo='[0,2*pi]' s.pasos='8' texto='{\rtf1\uc0{\fonttbl\f0\fcharset0 Times New Roman;\f1\fcharset0 Arial;\f2\fcharset0 Courier New;}{\colortbl\red224\green224\blue224;\red32\green48\blue58;}\f1\fs44\b\cf0 B\cf1\f2\fs24\b0}' fuente='Arial Bold,BOLD,22' fijo='s&iacute;' tama&ntilde;o='4' 

tipo='punto' color='ff20303a' expresi&oacute;n='(B.x,B.y)' texto='{\rtf1\uc0{\fonttbl\f0\fcharset0 Times New Roman;\f1\fcharset0 Arial;\f2\fcharset0 Courier New;}{\colortbl\red64\green120\blue153;\red32\green48\blue58;}\f1\fs44\b\cf0 B\cf1\f2\fs24\b0}' fuente='Arial Bold,BOLD,22' fijo='s&iacute;' tama&ntilde;o='4' 

tipo='punto' expresi&oacute;n='(O.x+cos(s)*(1/Esp.escala),O.y+sen(s)*(1/Esp.escala))' familia='s' s.intervalo='[0,2*pi]' s.pasos='4' texto='{\rtf1\uc0{\fonttbl\f0\fcharset0 Times New Roman;\f1\fcharset0 Arial;\f2\fcharset0 Courier New;}{\colortbl\red224\green224\blue224;\red32\green48\blue58;}\f1\fs44\b\cf0 O\cf1\f2\fs24\b0}' fuente='Arial Bold,BOLD,22' fijo='s&iacute;' tama&ntilde;o='4' 

tipo='punto' expresi&oacute;n='(O.x,O.y)' texto='{\rtf1\uc0{\fonttbl\f0\fcharset0 Times New Roman;\f1\fcharset0 Arial;\f2\fcharset0 Courier New;}{\colortbl\red64\green120\blue153;\red32\green48\blue58;}\f1\fs44\b\cf0 O\cf1\f2\fs24\b0}' fuente='Arial Bold,BOLD,22' fijo='s&iacute;' tama&ntilde;o='4' 

tipo='texto' fondo='s&iacute;' dibujar-si='0' expresi&oacute;n='[__DEBUG__,0]' fuente='Arial Bold,BOLD,18' fijo='s&iacute;' 

tipo='segmento' color='203038' dibujar-si='debug==1' expresi&oacute;n='(0,0)(2*cos(_angActSec) , 2*sen(_angActSec))' fuente='Monospaced,PLAIN,12' fijo='s&iacute;' 

tipo='texto' dibujar-si='debug==1' expresi&oacute;n='[20,20]' texto='_K1=[_K1]\n_K2=[_K2]\n' fuente='Monospaced,PLAIN,12' decimales='20' fijo='no' 

