Esempio n. 1
0
void		Trantorien::draw(t_player *tmp, gdl::AShader &shader, gdl::Clock const &clock)
{
  tmp->time += clock.getElapsed();
  // Set la position
  _position = glm::vec3(tmp->x + 1.5, 0.5, tmp->y + 1.5);
  _scale = glm::vec3(tmp->l / 2.0f, tmp->l / 2.0f, tmp->l / 2.0f);
  
  // set L'orientation
  _orient = getOrient(_posCam);
  float		angle;
  angle  = scalaire(glm::vec2(0, 1), glm::vec2(_position.z - _posCam.z,
					       _position.x - _posCam.x));
  if (_position.z < _posCam.z)
    rotate(glm::vec3(0, 1, 0), (angle) * 180 / PI);
  else
    rotate(glm::vec3(0, -1, 0), (angle) * 180 / PI);
  int a = _orient + tmp->o;
  if (a > 4)
    a -= 4;
  // Set l'animation
  if (tmp->anime > _nb_anime - 1)
    tmp->anime = 0;
  // Bind la texture et draw
  (void)clock;
  _geometry[a - 1][tmp->anime].draw(shader, getTransformation(), GL_QUADS);
  _rotation = glm::vec3(0, 0, 0);
}
Esempio n. 2
0
int main(void) {
	int const N_MAX = 10;
	double v1[N_MAX];
	double v2[N_MAX];
	size_t n = 0;
	
	do {
		printf("Veuillez rentrer la taille effective des vecteurs : ");
		scanf("%d", &n);
	} while (n < 1 || n > N_MAX);
	
	for (int i = 0; i < n; ++i) {
		
		printf("Entrez maintenant la valeur %d du vecteur v1 : ", i + 1);
		scanf("%lf", &v1[i]);
	}
	
	for (int i = 0; i < n; ++i) {
		
		printf("Entrez maintenant la valeur %d du vecteur v2 : ", i + 1);
		scanf("%lf", &v2[i]);
	}
	
	
	double result = scalaire(v1, v2, n);
	printf("Voici le resultat du produit scalaire des deux vecteurs que vous avez rentrés : %lf", result);
	
	return 0;
}