Exemplo n.º 1
0
void		move_inv_for_light(t_data *data, t_obj *obj, t_spot *spot)
{
  rotate_inv(&(data->scene.eyes.pos), &(obj->rotation));

  rotate_inv(spot->pos, &(obj->rotation));
  rotate_inv(&(data->scene.vec), &(obj->rotation));
  translation_inv(spot->pos, &(obj->pos));
  translation_inv(&(data->scene.eyes.pos), &(obj->pos));
}
static int test_rotate(void)
{
	int i, j, k;
	vector_3_t v = {1, 2, 3};
	vector_3_t w;

	for (i = 0; i < ARRAY_SIZE(test_matrices); i++) {
		for (j = 0; j < 100; j += 10) {
			for (k = X; k <= Z; k++) {
				v[k] += j;
				v[k] %= 7;
			}

			rotate(v, test_matrices[i], w);
			rotate_inv(w, test_matrices[i], w);
			for (k = X; k <= Z; k++)
				TEST_ASSERT(v[k] == w[k]);
		}
	}
	return EC_SUCCESS;
}
Exemplo n.º 3
0
int main(int argc, char **argv)
{
 
  // Lecture de l'image à redimensionner
  char fileName[250];

  // LOUP
  strcpy(fileName, "./images/loup.pgm");
  int sizeY = 425;
  int sizeX = 290;
  unsigned char * iml = new unsigned char [sizeX*sizeY];
  printf("\n Ouverture de %s de taille [%d,%d]", fileName, sizeY, sizeX);
  readPGM_Picture(fileName, iml, sizeX, sizeY);

  reduceS(iml,90,sizeX,sizeY);

  strcpy(fileName, "loup_reduced.pgm");
  writePGM_Picture(fileName, iml, sizeX, sizeY);
  // FIN LOUP
  
  // MER
  sizeY = 353;
  sizeX = 500;
  int sizeY_m = sizeY;
  int sizeX_m = sizeX;
  unsigned char * imm = new unsigned char [sizeX*sizeY];
  unsigned char * imt = new unsigned char [sizeX*sizeY];
  unsigned char * imm_masque = new unsigned char [sizeX*sizeY];
  unsigned char * imt_masque = new unsigned char [sizeX*sizeY];
  strcpy(fileName, "./images/mer.pgm");
  printf("\n Ouverture de %s de taille [%d,%d]", fileName, sizeY, sizeX);
  readPGM_Picture(fileName, imm, sizeX, sizeY);
  strcpy(fileName, "./images/mer_mask.pgm");
  printf("\n Ouverture de %s de taille [%d,%d]", fileName, sizeY, sizeX);
  readPGM_Picture(fileName, imm_masque, sizeX, sizeY);

  rotate(imm, imt, sizeX, sizeY);
  rotate(imm_masque, imt_masque, sizeX_m, sizeY_m);

//reduceS(imt,imt_masque,90,sizeX,sizeY);
  reduceS(imt,90,sizeX,sizeY);

  rotate_inv(imt, imm, sizeX, sizeY);

  strcpy(fileName, "mer_reduced.pgm");
  writePGM_Picture(fileName, imm, sizeX, sizeY);
  // FIN MER
  
  // Lecture d'un masque si besoin

  /* Supression d'une seule couture
  unsigned char * ime = new unsigned char [sizeX*sizeY];
  unsigned char * im2 = new unsigned char [sizeX*(sizeY-1)];
  // 1) Calculer la matrice d'énergie de l'image 
  IMgradient(im1,ime,sizeX,sizeY);

  strcpy(fileName, "energie.pgm");
  writePGM_Picture(fileName, ime, sizeX, sizeY);

  // 2) Déterminer le chemin d'énergie minimale 
  int seam[sizeX];
  min_path(ime, seam, sizeX, sizeY);

  // 3) L'enlever de l'image 
  del_seam(im1,im2,seam,sizeX,sizeY);
  //*/



    return 0;
}