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); }
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; }