IMA5 2022/2023 P20 : Différence entre versions

De Wiki de Projets IMA
(Travail hebdomadaire réalisé)
(Travail hebdomadaire réalisé)
Ligne 68 : Ligne 68 :
 
**Étude de la collision entre deux boules
 
**Étude de la collision entre deux boules
 
*Commencer la constructions des classes pour l'interface
 
*Commencer la constructions des classes pour l'interface
<br style="clear: both;" />
 
  
==Semaine 2 (19/09/2022 - 25/09/2022)==
+
==Semaine 2 (19/09/2022 - 23/09/2022)==
  
 
*Réalisation du cahier des spécifications
 
*Réalisation du cahier des spécifications
 
*Étude sur le choix du matériau pour la queue
 
*Étude sur le choix du matériau pour la queue
*Brainstroming sur la hierarchie de nos classes java
+
*Brainstorming sur la hiérarchie de nos classes java
 
*Étude mathématique :
 
*Étude mathématique :
 
**Étude des nouvelles vitesses après un choc
 
**Étude des nouvelles vitesses après un choc
 
**Étude de la collision avec un mur
 
**Étude de la collision avec un mur
 
*Codage de la classe "Renderer" pour la simulation graphique
 
*Codage de la classe "Renderer" pour la simulation graphique
 +
 +
==Semaine 3 (3/10/2022 - 7/10/2022)==
 +
 +
 +
<br style="clear: both;" />
  
 
= <div class="mcwiki-header" style="border-radius: 10px; padding: 20px; font-weight: bold; text-align: center; font-size: 80%; background: #9FE7FF; vertical-align: top ; width: 100%;">Liens externes</div> =
 
= <div class="mcwiki-header" style="border-radius: 10px; padding: 20px; font-weight: bold; text-align: center; font-size: 80%; background: #9FE7FF; vertical-align: top ; width: 100%;">Liens externes</div> =

Version du 3 octobre 2022 à 15:44

Présentation générale

Contexte

En 2015 des étudiants de la filière IMA de Polytech ont réalisé une table connectée comportant un écran tactile pour leur projet de fin d'études. Cette table est aujourd'hui inexploitée.

Objectifs

L'objectif de ce projet est donc de créer un jeu de billard en réalité augmentée en profitant des caractéristiques de la table. En plus d'offrir une expérience unique grâce à une caméra qui permet de jouer avec une queue adaptée similaire à celle d'un véritable billard. Il sera également possible de suivre les parties grâce à une application mobile sur un appareil connecté en Bluetooth à la table.

Historique

Ce projet sera le deuxième projet réalisé sur cette table connectée, après la réalisation en 2018 d'une table de bar connectée par des étudiants en IMA de Polytech Lille. [1] La réalisation de la table de billard a été fait par sur ce wiki [2]

Cahier des charges

Fichier:P20 2022 2023 cahier des charges.pdf

Cahier des spécifications

Fichier:P20 2022 2023 cahier des spec.pdf

Diagramme de Gantt prévisionnel

P20 2022 2023 gantt.png


Mathématiques générale liée au billard

Calcul de collision entre deux balles

Il faut calculer si deux balles sont en collision, il existe une façon simple de calculer cette collision. Soit deux objets circulaire :

  • C1 de centre (x1,y1) et de rayon r1
  • C2 de centre (x2,y2) et de rayon r2

Si on imagine une ligne entre les deux centres des cercles, la distance D qui sépare les deux centres est :

  • D < |r1-r2| si les deux boules sont en collision
  • D > |r1-r2| si les deux boules ne sont pas en collision

Pour faire l'algorithme de collision, il suffit de vérifier que : (x2-x1)^2+(y2-y1)^2\leq(r1+r2)^2

P20 2022 2023 traingle collision.png

Il est aussi possible de calculer l'angle α à partir de formules basique de trigonométrie :

  • cos(\alpha )=\frac{|x2-x1|}{r1+r2}
  • sin(\alpha )=\frac{|y2-y1|}{r1+r2}
  • tan(\alpha )=\frac{|y2-y1|}{|y2-y1|}

Et éventuellement le point de collision (x3,y3) à partir du centre de la boule C1 (x1,y1,r1) :

  • x3 = x3 - r1*cos(\alpha )
  • y3 = y3 + r1*sin(\alpha )


Travail hebdomadaire réalisé

Semaine 1 (05/09/2022 - 09/09/2022)

  • Réalisation du cahier des charges
  • Ébauche d'un diagramme de Gantt prévisionnel en début de projet
  • Étude des moyens disponible pour la réalisation de l'interface graphique
  • Étude des mathématiques appliquée au billard
    • Étude de la collision entre deux boules
  • Commencer la constructions des classes pour l'interface

Semaine 2 (19/09/2022 - 23/09/2022)

  • Réalisation du cahier des spécifications
  • Étude sur le choix du matériau pour la queue
  • Brainstorming sur la hiérarchie de nos classes java
  • Étude mathématique :
    • Étude des nouvelles vitesses après un choc
    • Étude de la collision avec un mur
  • Codage de la classe "Renderer" pour la simulation graphique

Semaine 3 (3/10/2022 - 7/10/2022)


Liens externes

Lien GitLab : lien

Cahier des charges : Fichier:P20 2022 2023 cahier des charges.pdf