point getProjecaoPontoNaReta(point a, point b, point c)
{
    point u(b.x-a.x, b.y-a.y);
    point v(c.x-a.x, c.y-a.y);
    double k = escalar(u, v)/escalar(u, u);
    point w((int)(k*u.x), (int)(k*u.y));
    point d(a.x+w.x, a.y+w.y);
    return d;
}
示例#2
0
void Lampara::escalaLampara(GLdouble x, GLdouble y, GLdouble z){
        escalar(x,y,z);
        alfa /= y;
        b *= y;
        posY /= y;
        GLfloat PosicionLuz[]={posX,posY,posZ,1.0};
        glLightfv(GL_LIGHT1, GL_POSITION, PosicionLuz);
        //glLightf(GL_LIGHT1, GL_SPOT_CUTOFF,alfa);
        //glLightf(GL_LIGHT1, GL_SPOT_EXPONENT,b);
        //GLfloat dir[]={0.0,-1.0,0.0};
        //glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, dir);
        //glEnable(GL_LIGHT1);*/
}
示例#3
0
文件: Menu.cpp 项目: ejpcr/lib-c
void menu(matriz A, matriz B)
{int op; limpiar();double x;
 gotoxy(10,5);  cout<<"[1] OBTENER UN ELEMENTO DE A..";
 gotoxy(10,6);  cout<<"[2] OBTENER UN ELEMENTO DE B..";
 gotoxy(10,7);  cout<<"[3] ASIGNAR UN ELEMENTO DE A..";
 gotoxy(10,8);  cout<<"[4] ASIGNAR UN ELEMENTO DE B..";
 gotoxy(10,9);  cout<<"[5] IGUALAR A<-B..............";
 gotoxy(10,10); cout<<"[6] IGUALAR B<-A..............";
 gotoxy(10,11); cout<<"[7] SUMAR A + B...............";
 gotoxy(10,12); cout<<"[8] NEGATIVA DE A.............";
 gotoxy(10,13); cout<<"[9] NEGATIVA DE B.............";
 gotoxy(10,14); cout<<"[10] RESTAR A - B.............";
 gotoxy(10,15); cout<<"[11] RESTAR B - A.............";
 gotoxy(10,16); cout<<"[12] ESCALAR PARA A...........";
 gotoxy(10,17); cout<<"[13] ESCALAR PARA B...........";
 gotoxy(10,18); cout<<"[14] PRODUCTO A * B...........";
 gotoxy(10,19); cout<<"[15] PRODUCTO B * A...........";
 gotoxy(10,20); cout<<"[16] TRANSPUESTA DE A.........";
 gotoxy(10,21); cout<<"[17] TRANSPUESTA DE B.........";
 gotoxy(10,22); cout<<"[18] DETERMINANTE DE A........";
 gotoxy(10,23); cout<<"[19] DETERMINANTE DE B........";
 gotoxy(10,24); cout<<"[20] INVERSA DE A.............";
 gotoxy(10,25); cout<<"[21] INVERSA DE B.............";
 gotoxy(10,26); cout<<"[22] SALIR....................";
 do{gotoxy(22,28); cout<<"Seleccione una opcion (1-22): ";cin>>op;
 if(op<1 || op>22)
  {gotoxy(20,28);cout<<"Opci¢n incorrecta vuelva a intentar";}
 }while(op<1 || op>22);
 switch(op)
 {case 1:  {limpiar();gotoxy(28,4);  cout<<"[1] OBTENER UN ELEMENTO DE A..";
	    obtener(A);menu(A,B);break;}
  case 2:  {limpiar(); gotoxy(28,4); cout<<"[2] OBTENER UN ELEMENTO DE B..";
	    obtener(B);menu(A,B);break;}
  case 3:  {limpiar(); gotoxy(28,4); cout<<"[3] ASIGNAR UN ELEMENTO DE A..";
	    imprimir(asignar(A));getchar();menu(A,B);break;}
  case 4:  {limpiar(); gotoxy(28,4); cout<<"[4] ASIGNAR UN ELEMENTO DE B..";
	    imprimir(asignar(B));getchar();menu(A,B);break;}
  case 5:  {limpiar(); gotoxy(28,4); cout<<"[5] IGUALAR A<-B..............";
	    imprimir(igual(A,B));menu(A,B);break;}
  case 6:  {limpiar(); gotoxy(28,4); cout<<"[6] IGUALAR B<-A..............";
	    imprimir(igual(B,A));menu(A,B);break;}
  case 7:  {limpiar(); gotoxy(28,4); cout<<"[7] SUMAR A + B...............";
	    imprimir(sumar(A,B));menu(A,B);break;}
  case 8:  {limpiar(); gotoxy(28,4); cout<<"[8] NEGATIVA DE A.............";
	    imprimir(negativa(A));menu(A,B);break;}
  case 9:  {limpiar(); gotoxy(28,4); cout<<"[9] NEGATIVA DE B.............";
	    imprimir(negativa(B));menu(A,B);break;}
  case 10: {limpiar(); gotoxy(28,4); cout<<"[10] RESTAR A - B.............";
	    imprimir(restar(A,B));menu(A,B);break;}
  case 11: {limpiar(); gotoxy(28,4); cout<<"[11] RESTAR B - A.............";
	    imprimir(restar(B,A));menu(A,B);break;}
  case 12: {limpiar(); gotoxy(28,4); cout<<"[12] ESCALAR PARA A...........";
	    imprimir(escalar(A));menu(A,B);break;}
  case 13: {limpiar(); gotoxy(28,4); cout<<"[13] ESCALAR PARA B...........";
	    imprimir(escalar(B));menu(A,B);break;}
  case 14: {limpiar(); gotoxy(28,4); cout<<"[14] PRODUCTO A * B...........";
	    imprimir(producto(A,B));menu(A,B);break;}
  case 15: {limpiar(); gotoxy(28,4); cout<<"[15] PRODUCTO B * A...........";
	    imprimir(producto(B,A));menu(A,B);break;}
  case 16: {limpiar(); gotoxy(28,4); cout<<"[16] TRANSPUESTA DE A.........";
	    imprimir(transpuesta(A));menu(A,B);break;}
  case 17: {limpiar(); gotoxy(28,4); cout<<"[17] TRANSPUESTA DE B.........";
	    imprimir(transpuesta(B));menu(A,B);break;}
  case 18: {limpiar(); gotoxy(28,4); cout<<"[18] DETERMINANTE DE A........";
	    x=det(A);gotoxy(5,5);cout<<"Determinante = "<<x;getchar();menu(A,B);break;}
  case 19: {limpiar(); gotoxy(28,4); cout<<"[19] DETERMINANTE DE B........";
	    x=det(B);gotoxy(5,5);cout<<"Determinante = "<<x;getchar();menu(A,B);break;}
  case 20: {limpiar(); gotoxy(28,4); cout<<"[20] INVERSA DE A.............";
	    inversa(A);menu(A,B);break;}
  case 21: {limpiar(); gotoxy(28,4); cout<<"[21] INVERSA DE B.............";
	    inversa(B);menu(A,B);break;}
  case 22: {limpiar(); gotoxy(28,4); cout<<"[22] SALIR....................";
	    gotoxy(10,10); cout<<"Saliendo...";
	    gotoxy(25,23); cout<<"Presione Enter Para Salir...";break;
	   }
 }
}