elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación Visual Basic / Re: ayuda visual basic c++ .. en: 24 Junio 2007, 02:19 am
void main() {
  register unsigned int a;
  int i,j;
  unsigned char pl[3];
  float D1,D2;
  int color;

  // Inicialitza el mode 13h:
  InitMode(0x13);

  // Mostra la paletta per defecte:
  WaitRetrace();         // Abans de dibuixar en pantalla hem d'esperar un retraçat vertical.
  for(i=0;i<256;i++) {
    for(j=0;j<200;j++) {
      vd[j*320+i]=i;      // Dibuixa un punt de color 'i' en la coordenada (i,j)
    }
  }
  getch();                // Espera a que apreti una tecla l'usuari.

  // Esborra la pantalla:
  WaitRetrace();
  for(a=0;a<64000U;a++) {
    vd[a]=0;
  }

  // Paleta negra:
  for(i=0;i<256;i++) {
    pal
  • =0;         // Vermell
    pal[1]=0;         // Verd
    pal[2]=0;         // Blau
  }
  WaitRetrace();
  FastSetVGAPalette();

  // Dibuixa linies per a l'animació de paleta:
  for(i=0;i<320;i++) {
    for(j=0;j<190;j++) {
      vd[j*320+i]=50+(40*sin((float)(i+j+random(2))/10.0));
    }
  }

  // Barra inferior:
  for(a=0;a<320;a++) {
    for(j=190;j<200;j++) {
      color=((a<<7)/160)+random(5)-2;
      if(color>255) color=255;
      if(color<1) color=1;
      vd[j*320+a]=color;
    }
  }
  // Nota: el numero aleatori que se li suma suavitza la imatge (difumina).

  // Modifiquem la paletta:
  // Nota: Les intensitats de color RGB van de 0 a 63.
  for(i=0;i<128;i++) {
    pal
  • =0;         // Vermell
    pal[1]=i>>3;         // Verd
    pal[2]=i>>1;      // Blau

    pal[255-i][0]=0;         // Vermell
    pal[255-i][1]=i>>3;         // Verd
    pal[255-i][2]=i>>1;      // Blau
  }
  WaitRetrace();
  FastSetVGAPalette();

  // Animació per rotació de paletta:
  do {
    pl[0]=pal[255][0];
    pl[1]=pal[255][1];
    pl[2]=pal[255][2];
    for(i=255;i>1;i--) {
      pal
  • =pal[i-1][0];
      pal[1]=pal[i-1][1];
      pal[2]=pal[i-1][2];
    }
    pal[1][0]=pl[0];
    pal[1][1]=pl[1];
    pal[1][2]=pl[2];

    WaitRetrace();      // A mes a mes d'evitar les pampallugues, controla la velocitat de l'animació
    FastSetVGAPalette();
  } while(!kbhit());
  getch();

  // Esborra la pantalla:
  WaitRetrace();
  fclrscr();

  // ANIMACIó 3D amb linies (no esta gens optimitzada, utilitza coma flotant):
  // Com que nomes es dibuixen els vertex del cub, l'ull pot interpretar l'imatge
  // de dues maneres diferents, aixo provoca que a vegades no veiem un cub a la
  // pantalla. Es pot intentar solucionar tancant els ulls i tornant a mirar la
  // figura en pantalla.

  /* Taula de sinus i cosinus. Accelera els calculs de la rotació */
  for(i=0;i<256;i++) {
    sinus=sin(((float)i*M_PI)/128.0);
    cosinus=cos(((float)i*M_PI)/128.0);
  }

  AngX=AngY=AngZ=0;
  CentreX=0;
  CentreY=0;
  CentreZ=100;

  // Coordenades relatives al centre de l'objecte:
  RPt[0].X=-20;
  RPt[0].Y=20;
  RPt[0].Z=-20;
  RPt[1].X=20;
  RPt[1].Y=20;
  RPt[1].Z=-20;
  RPt[2].X=20;
  RPt[2].Y=20;
  RPt[2].Z=20;
  RPt[3].X=-20;
  RPt[3].Y=20;
  RPt[3].Z=20;
  RPt[4].X=-20;
  RPt[4].Y=-20;
  RPt[4].Z=-20;
  RPt[5].X=20;
  RPt[5].Y=-20;
  RPt[5].Z=-20;
  RPt[6].X=20;
  RPt[6].Y=-20;
  RPt[6].Z=20;
  RPt[7].X=-20;
  RPt[7].Y=-20;
  RPt[7].Z=20;

  SetVGAColor(252,20,20,20);
  SetVGAColor(253,0,0,63);
  SetVGAColor(254,0,63,0);
  SetVGAColor(255,63,0,0);

  do {
    // Incrementa l'angle de rotació:
    AngX+=INC_ANGLE;
    AngY+=INC_ANGLE;
    AngZ+=INC_ANGLE;

    /* Rotar l'Objecte: */
    for(i=0;i<8;i++) {
      Pt.X=RPt.X;
      Pt.Y=RPt.Y;
      Pt.Z=RPt.Z;

      // Utilitza matrius de rotació:
      // Rotar Y-Z
      D1=Pt.Y;
      D2=Pt.Z;
      Pt.Y=cosinus[AngX&0xFF]*D1+sinus[AngX&0xFF]*D2;
      Pt.Z=-sinus[AngX&0xFF]*D1+cosinus[AngX&0xFF]*D2;

      // Rotar X-Z
      D1=Pt.X;
      D2=Pt.Z;
      Pt.X=cosinus[AngY&0xFF]*D1-sinus[AngY&0xFF]*D2;
      Pt.Z=sinus[AngY&0xFF]*D1+cosinus[AngY&0xFF]*D2;

      // Rotar Y-X
      D1=Pt.X;
      D2=Pt.Y;
      Pt.X=cosinus[AngZ&0xFF]*D1+sinus[AngZ&0xFF]*D2;
      Pt.Y=-sinus[AngZ&0xFF]*D1+cosinus[AngZ&0xFF]*D2;

      Pt.X+=CentreX;
      Pt.Y+=CentreY;
      Pt.Z+=CentreZ;
    }

    // Projecta els punts 3D en pantalla:
    for(i=0;i<8;i++) {
      Scr.X=160+K3D*(Pt.X/Pt.Z);
      Scr.Y=100+K3D*(Pt.Y/Pt.Z);
    }

    // DIBUIXA EN PANTALLA:
    WaitRetrace();
    for(a=19840;a<44160;a++) {
      vd[a]=0;
    }
    for(i=0;i<8;i++) {
      for(j=i+1;j<8;j++) {
        fline(Scr.X,Scr.Y,Scr[j].X,Scr[j].Y,252);
      }
    }
    for(i=0;i<4;i++) {
      fline(Scr.X,Scr.Y,Scr[(i+1)&0x03].X,Scr[(i+1)&0x03].Y,253);
      fline(Scr[i+4].X,Scr[i+4].Y,Scr[((i+1)&0x03)+4].X,Scr[((i+1)&0x03)+4].Y,254);
      fline(Scr.X,Scr.Y,Scr[i+4].X,Scr[i+4].Y,255);
    }
    //WaitRetrace();
  } while(!kbhit());
  getch();

  // Torna al mode text:
  ModeText();

  printf("DEMO MODE 13h. Ver. 1.0\t\t\t\tRoger Vilaseca\n");
}   
 
  este seria uno .... muy buena respuesta.. y si me sacas de esta duda de verdad que me va a ayudar mucho...
2  Programación / Programación Visual Basic / Re: ayuda visual basic c++ .. en: 23 Junio 2007, 07:15 am
Gracias por la atencion.. de verdad..
3  Programación / Programación Visual Basic / ayuda visual basic c++ .. en: 23 Junio 2007, 03:48 am
Es primera ves que escribo en este foro y en realidad es el primero en el que lo hago..veo muchos monitos y cosas que me desorientan un poco.......!! je
    Bueno hace tiempo que leo en el foro y por eso no he dudado en escribir mi inquetud.. estoy seguro que la gente  con dudas como yo tienen un espacio en este grupo de personas..
....ahora que me he presentado quiero plantear mi dudita.
    Hace muy poco tiempo estoy estudiando programacion..en C. Primero fui con turbo c y luego con dev c++ en el que estoy ahora.. muy poco se de programacion y estoy estudiando los algoritmos mas faciles.. hace poco cruce la puerta del "hola mundo" y por esto mismo mis dudas son muy elementales para muchos..  Hoy  buscando informacion de este tema me tope con una pag creado por un joven igual que yo que tiene como fin ..emm... muchas cosas en relacion a C.  entre ellas bibliotecas para crear figuras en 3D y bueno esto me gusto mucho.. por suerte tenia tenia escrito el programa en codigo fuente y lo descarge obvio!. este chico programo en visual basic y yo abri el codigo en dev c++. por cosas que no se y suponiendo que el codigo esta bien escrito el compilador me encontro varios errores.. que yo al ser principiante no puedo arreglar.. mi pregunta es esta: ¿ los errores que me arroja el compilador de dev c++ sera causa que el programa fuente esta escrito en visual basic y si la libreria tiene relacion con este problemita.. no si abro el codigo en visual basic y lo compilo alomejor no me arroja algun error.. lo otro..donde puedo descargar visual basic?? je.je
Gracias y perdon por la ortografia
4  Foros Generales / Sugerencias y dudas sobre el Foro / ayuda visual basic c++ en: 23 Junio 2007, 03:36 am
Es primera ves que escribo en este foro y en realidad es el primero en el que lo hago..veo muchos monitos y cosas que me desorientan un poco.......!! je
    Bueno hace tiempo que leo en el foro y por eso no he dudado en escribir mi inquetud.. estoy seguro que la gente  con dudas como yo tienen un espacio en este grupo de personas..
....ahora que me he presentado quiero plantear mi dudita.
    Hace muy poco tiempo estoy estudiando programacion..en C. Primero fui con turbo c y luego con dev c++ en el que estoy ahora.. muy poco se de programacion y estoy estudiando los algoritmos mas faciles.. hace poco cruce la puerta del "hola mundo" y por esto mismo mis dudas son muy elementales para muchos..  Hoy me buscando informacion de este tema me tope con una pag creado por un joven igual que yo que tiene como fin ..emm... muchas cosas en relacion a C.  entre ellas bibliotecas para crear figuras en 3D y bueno esto me gusto mucho.. por suerte tenia tenia escrito el programa en codigo fuente y lo descarge obvio!. este chico programo en visual basic y yo abri el codigo en dev c++. por cosas que no se y suponiendo que el codigo esta bien escrito el compilador me encontro varios errores.. que yo al ser principiante no puedo arreglar.. mi pregunta es esta: ¿ los errores que me arroja el compilador de dev c++ sera causa que el programa fuente esta escrito en visual basic y si la libreria tiene relacion con este problemita.. no si abro el codigo en visual basic y lo compilo alomejor no me arroja algun error.. lo otro..donde puedo descargar visual basic?? je.je
Gracias y perdon por la ortografia

....
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines