Programmation créative – Les vecteurs

Slides:



Advertisements
Présentations similaires
Chapitre 9 La mécanique de Newton.
Advertisements

SPHOA Unité 1 La cinématique Leçon 3 ©Jean-Pierre Villeneuve Page 1 Unité 1:La cinématique vendredi, 15 février, 2002 Leçon 4
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Enseigner l’arithmétique en série L
Paramètres et pointeurs
La fonction Style Permet de créer des types de texte, par exemple
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
12 novembre 2012 Grégory Petit
Programmes du cycle terminal
Physique mécanique (NYA)
Structures de données linéaires
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
203-NYA-05 Physique mécanique Cinémato 1 Par André Girard.
De manière plus scientifique:
Algorithmique et Programmation
ASI 3 Méthodes numériques pour l’ingénieur
IFT3730: Infographie 3D Transformations Géométriques
Chapitre 2 Les vecteurs 2.0 Introduction
Deuxième Loi de Newton Chapitre 5.
Mouvement rectiligne uniformément accéléré
Tout d’abord on exprime t en fonction de x, ce qui donne : t = x / 2
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Leçon 2 : Surcharge des opérateurs IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Espaces vectoriels Montage préparé par : S André Ross
Modélisation du robot Azimut-3
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
Partie 2 : programmation stochastique
Chapitre 9 Les sous-programmes.
Chapitre 4 L’inertie et le mouvement à deux dimensions
Chapitre 3 La cinématique à une dimension
COURS DE PROGRAMMATION ORIENTEE OBJET :
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
31 octobre 2012 Grégory Petit
Physique mécanique (NYA)
Géométrie épipolaire (deux vues)
Programmation créative – Les vecteurs
Les vecteurs.
8.1 LES NOMBRES COMPLEXES cours 26. Avec la venue de: Doigts Dettes Tartes Distances.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Vers les fonctions …. Objectifs Travailler sur les tableaux (type tableaux de proportionnalité, mais pas seulement !) Travailler sur la représentation.
Tutorat en bio-informatique
L’énergie Qu’est-ce que c’est ? 1 est un pouvoir de déplacer les corps
Les mathématiques au CE2 À la découverte du manuel de maths !
La vitesse.
CHAPITRE III Calcul vectoriel
OUTILS MATHEMATIQUES POUR LES SII
Cours LCS N°4 Présenté par Mr: LALLALI
Chapitre 4 PRINCIPE DE LA MECANIQUE CLASSIQUE
Chapitre 1 Nombres relatifs.
Physique mécanique (NYA)
Définitions de physique
Post-optimisation, analyse de sensibilité et paramétrage
GRAPHISME PAR ORDINATEUR
Opérations sur les nombres relatifs
Introduction à la programmation (420-PK2-SL) cours 16 Gestion des applications Technologie de l’information (LEA.BW)
Programmation créative Semaine 03. Agenda de leçon  Rotation d’un sprite  Modifier la couleur d’un sprite.
Semaine 05.
Scratch Partie 03 Version A15.
3. Inertie et force La première loi de Newton:
Programmation créative – Les vecteurs
Chapitre 1: Nombres relatifs M. FELT
Traitement d’images Semaine 09 v.A15.
Traitement d’images Semaine 13 – Modèle correspondant.
ALGORITHME DE VOLÉES Programmation créatives Les volées, le spawning et les collisions.
PROCESSING Semaine 03. PLAN DE LEÇON Interaction avec un programme Gestion de la souris Gestion du clavier.
Formation.
Equilibre d’un solide.
Le codage des nombres en informatique
Opérations sur les nombres relatifs Chapitre 1 Classe de 4ème.
Programmation créative – Les vecteurs
Transcription de la présentation:

Programmation créative – Les vecteurs Processing Programmation créative – Les vecteurs

Plan de leçon Vecteurs

Exercice À l’aide de LibGdx, faites déplacer une image qui rebondit sur les bords de la fenêtre

Vecteur : définition Le terme vecteur peut signifier plusieurs choses dépendant du contexte En biologie : Décrit un organisme qui transmet une infection d’un hôte à un autre En programmation : Décrit une structure de tableau de donné En mathématique, un vecteur est un concept permettant de représenter une longueur (magnitude) et une direction Longueur  Magnitude

Vecteur : utilité Dans le monde des jeux vidéo, réalité virtuelle ou autre simulation, les vecteurs sont utilisés partout C’est une connaissance fondamentale à la programmation C’est un bloc de construction nécessaire pour toute application ayant des implications mathématiques

Vecteur : exemple À votre niveau (3e année informatique), vous avez sûrement déjà fait une balle qui rebondit sur les murs Peut-être l’avez-vous fait sans vecteur avec un code qui ressemblait à celui-ci

Vecteur : exemple Ce que l’on remarque est l’utilisation de plusieurs variables X et Y similaires Position X et Y Vitesse X et Y Une des complications c’est la gestion de toutes ces variables Imaginez maintenant que vous devez gérer l’accélération, la position d’une cible, le vent et la friction Quelles seraient les variables probables? Utilisation de deux variables dans chacun des cas Dans un monde 3D ce serait 3 variables…

Vecteur : exemple float x; float y; Vector location; float xSpeed; float ySpeed; Vector speed; On simplifie le code en utilisant les vecteurs.

Vecteur : classe Il faut se construire une classe Vecteur pour faciliter le travail Dans cette classe, on y retrouve les propriétés X et Y en float On y retrouve au minimum une méthode pour additionner un vecteur à l’objet vecteur ainsi que la même méthode surchargée qui acceptera les paramètres X et Y

Vecteur : déplacement Pour simuler du mouvement à l’aide des vecteurs, il faut utiliser la translation Le mouvement est un déplacement dans le temps La vitesse représente un déplacement dans le temps La vitesse peut être représenté par un vecteur Le déplacement est une distance dans une unité donnée Exemple : location = new PVector (50, 50); vitesse = new PVector (1, 1); location.add(vitesse)

Exercice Créez une classe PVector avec les propriétés X et Y ainsi qu’un méthode qui additionne les vecteurs Améliorez le premier exercice pour utiliser les vecteurs pour déplacer l’image

Vecteur : opérations Soustraction Multiplication par un scalaire Idem que l’addition Multiplication par un scalaire On multiplie pour chacun des composants du vecteur par une valeur scalaire Division par un scalaire Idem que la multiplication Magnitude La magnitude est la longueur du vecteur en utilisant le théorème de Pythagore Normalisation Ramène le vecteur à une longueur de 1 unité On divise le vecteur par sa longueur

Vecteur : accélération L’accélération est le taux de variation de la vitesse En programmation, on additionne l’accélération à la vitesse Exemple acceleration = new PVector (1, 1); vitesse = new PVector (0, 0); vitesse.add (acceleration); location.add (vitesse);

Vecteur : autres opérations Dans un jeu, on limite souvent les vitesses Pour limiter les vitesses, on ajoute une méthode limite la longueur d’un vecteur L’algorithme est le suivant Si vecteur.longueur > max vecteur.normalise() vecteur.mult(max) Fin si

Exercices Modifiez la classe PVector pour avoir toutes les opérations mentionnées dans les diapositives précédentes Ajoutez une méthode statique qui additionne deux vecteurs et qui retourne un nouveau vecteur Exemple : PVector v = PVector.add(vitesse, acceleration) Ajoutez une méthode statique qui retourne un vecteur normalisé aléatoire Modifiez le programme principal pour que lorsque l’utilisateur appuie sur une flèche, l’image accélère dans la direction de la flèche

Références http://natureofcode.com/book/chapter-1-vectors/