Foro de programacion

programacion
RegistrateNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Foros de Programacion - Cominidad de Programadores
 
Foros de programacion
es una web de ayuda a los programadores y webmasters, la buena utilizacion del foro sera el premio que tendremos para q este elemento sea util para los usuarios.

Colaborar: Si deseais ser moderadores de alguno de los foros estaremos encantados en que nos presteis esa ayuda , tan solo es necesario tener algun conocimiento
del tema que trata el foro y tener ganas ganas de colaborar para ser moderador mandar un mail indicando de que foro deseais ser moderador

Deseais que pongamos algun nuevo foro de programacion? ¿quieres crear un nuevo foro y ser su moderador? ponte en contacto con nosotros

Retroceder   Foros > Programacion > visual basic

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 10 de octubre,2005, 21:57
Junior Member
 
Fecha de Ingreso: ago 2005
Mensajes: 9
Predeterminado trayectorias circulares

DEMO trayectorias circulares
Código:
uses crt,uteclado,graph;
     var a:real;
         b:integer;
         c:real;

         extension:byte;
         gd,gm:integer;
         ancho,alto:real;
         centrox,centroy:integer;
         cociente:integer;
         tsin,tcos:integer;
         n_puntos:real;

         I_bucle:real;
         F_bucle:real;
         D:real;
         giro_ancho:boolean;
         giro_alto:boolean;
         tocavez:boolean;

begin
    gd:=0; { 0,1 }
    gm:=1;
    initgraph(gd,gm,'c:\tp\bgi');{}

    directvideo:=false;


{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-}
textcolor(3);
gotoxy(1,1);
writeln('MICROPAIS 2005 - DEMO Trayectorias Circulares ');
textcolor(7);
writeln('usa las teclas ARRIBA y ABAJO ¢ ESC para SALIR');

 centrox:=640 div 2 ;  { la resolucion de la pantalla  div 2 }
 centroy:=(400 div 2)+100;




tsin:=90;
tcos:=90;


  cociente:=10{1}; { multiplicador de tama¤o normal=1 para aspecto RATIO }
  ancho:=(50 * cociente) / 10 {16}; { aspecto ratio }
  alto :=(50 * cociente) / 10 {14}; { aspecto ratio }
{
  10,13 gd=3

  si cociente =1 nos podemos evitar la division si multiplicamos por 10 y
  dividimos por 10 nos quedamos igual,paro como la pantalla no mide lo
  mismo de ancho que de alto, al crear un circulo ,parecera una elipse,
  al usar aspecto ratio podemos aproximarnos mas al crear circulo perfectos
  dependiendo del tipo de pantalla que usemos tambien podra se usado para
  crear elipses a nuestro gusto
}
  {ancho y alto del circulo aqui podemos meter el aspecto 1:1 normal}
  {si cociente =10 aqui lo normal es 10:10   16:14 etc              }


{ tsin:=trunc(sin(1)*ancho)+centrox;
 tcos:=trunc(cos(1)*alto)+centroy;{}
n_puntos:=trunc(6);{  numero de puntos totales que formam el circulo}
 extension:=2;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-}
textcolor(14);
F_bucle:=2*pi; {2*pi}
I_bucle:=0;

{ para probar aspecto ratio _____________________ }
{
setcolor(14);
circle(centrox,centroy,150);
{_________________________________________________ }
c:=0;
d:=0;

repeat
{ aqui dibujamos los puntos con el color 15 }
c:=c+0.05;
if c>2*pi then c:=0;

d:=+0.5;
a:=I_bucle+c;

if (ancho>50) and (tocavez=false) then
             begin giro_ancho:=true;
             tocavez:=true;
             end;
if (ancho<-50) and (tocavez=false) then
              begin giro_ancho:=false;
              tocavez:=false;
              end;


if (alto>50)  and (tocavez=true) then
               begin
               giro_alto:=true;
               tocavez:=false;
               end;

if (alto<-50) and (tocavez=true) then
               begin
               giro_alto:=false;
               tocavez:=true;
               end;

if giro_alto=true then alto:=alto-d else alto:=alto+d;
if giro_ancho=true then ancho:=ancho-d else ancho:=ancho+d;


{alto:=alto+d;{}

while a < F_bucle+c do

    begin

    {writeln(trunc(sin(a)*10),trunc(cos(a)*10));}
    {setcolor(15);         {color de los puntos}

    tsin:=trunc(sin(a)*ancho)+centrox;
    tcos:=trunc(cos(a)*alto)+centroy;
      REPEAT UNTIL PORT[$3DA]AND 8=0;{}

      for b:=1 to extension do
      begin
      putpixel (tsin+b,tcos,15);
      putpixel (tsin-b,tcos,15);
      putpixel (tsin,tcos+b,15);
      putpixel (tsin,tcos-b,15);{}

      end;
      a:=a+( (2*pi) / n_puntos );
      end;
    REPEAT UNTIL PORT[$3DA]AND 8<>0;{}
{repeat
      repeat
      delay(1);
      until tecla_pulsada=0;
      delay(50);
until tecla_pulsada<>0;{}

{--------------------------------------------------------------------------}
{--------------------------------------------------------------------------}
{ aqui borramos los puntos con el color 0 }
a:=I_bucle+c;
while a < F_bucle+c do
    begin
    {writeln(trunc(sin(a)*10),trunc(cos(a)*10));}
    {setcolor(0);{}
    tsin:=trunc(sin(a)*ancho)+centrox;
    tcos:=trunc(cos(a)*alto)+centroy;

    REPEAT UNTIL PORT[$3DA]AND 8=0;{}
    for b:=1 to extension do
    begin
      putpixel (tsin+b,tcos,0);
      putpixel (tsin-b,tcos,0);
      putpixel (tsin,tcos+b,0);
      putpixel (tsin,tcos-b,0);{}

    end;
    a:=a+((2*pi) / n_puntos);
    end;


if tecla_pulsada=arriba then n_puntos:=n_puntos+1;
if tecla_pulsada=abajo  then n_puntos:=n_puntos-1;
if n_puntos<1 then n_puntos:=1;
if n_puntos>36 then n_puntos:=36;{}

gotoxy(1,4);
writeln('Puntos ',n_puntos:3:0);

until tecla_pulsada=1;



end.



readln;
end.
Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Las caritas están Activado
El codigo [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado
Ir al Foro

Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSL Ipueblos20
Areas exclusivas:cursosIofertasIadslIwebtutoriales ISMSareaItutorialesItrucos de windows IgooglemaniaI programatium.netIcompras
noticias: SaludIOcio/cineIMusicaIMotorIDeportes IJuegos I FinanzasIMovilesIEnergiaIEcologiaITech-yIMujerIMACISaludIViajes-Pueblos
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

Content Relevant URLs by vBSEO 3.2.0