Besoin d'aide algo grille de losanges

Discutez d'informatique ici !
amatokus
Messages: 2
Enregistré le: 28 Aoû 2017, 03:05

Besoin d'aide algo grille de losanges

par amatokus » 28 Aoû 2017, 03:34

Bonjour à tous, je travail actuellement sur un petit projet, or je suis actuellement dans l'impasse!

L'objectif de mon code: déterminer dans quelle losange d'une grille de losange l'utilisateur clique.
Je dispose des coordonnées en pixels d'où l'utilisateur à cliqué sur la grille.

J'ai commencé par m'y prendre de la même manière que si a grille était composée de carrés. Je ne peux donc pas savoir si le clic s'effectue sur le losange central de la zone carrée ou sur un des quatre autres quarts des quatres losanges adjacents

Image

Voici un exemple: j'ai détecté un clic et je l'encadre pour déterminer son emplacement, or comment puis-je savoir si le clic ne s'est pas fait sur une partie d'un des autres losanges contenue dans le carré rouge?

Je bloque, merci de votre aide!



danyL
Membre Rationnel
Messages: 681
Enregistré le: 03 Jan 2015, 14:29

Re: Besoin d'aide algo grille de losanges

par danyL » 28 Aoû 2017, 17:46

bonjour
une suggestion : faire un changement de repère
utiliser un repère oblique qui suit les lignes de losanges :

Image

avec les nouvelles coordonnées on sait directement dans quel losange on a cliqué

pour les formules de changement de repère, chercher sur internet ou demander aux pros de maths-forum ;)

joel76
Membre Relatif
Messages: 230
Enregistré le: 11 Fév 2013, 16:31

Re: Besoin d'aide algo grille de losanges

par joel76 » 30 Aoû 2017, 19:01

Quel langage utilises-tu pour ce projet ?
Si tu as la possibilité d'utiliser des objets graphiques, une possibilité est de définir l'objet losange.
A chaque objet losange tu associes un nombre et lorsqu'on clique sur un losange, tu peux récupérer son numéro.

FLBP
Habitué(e)
Messages: 289
Enregistré le: 25 Aoû 2017, 02:07

Re: Besoin d'aide algo grille de losanges

par FLBP » 30 Aoû 2017, 21:22

La meilleure façon de résoudre ton problème est comme le disait danyL: faire un changement de base.

Si j'ai bien compris, tu cherches à déterminer dans quel losange se situe le curseur.
Partir de coordonnée (x;y) en pixel du curseur et obtenir le losange sélectionné, par exemple (5;-3) ?

Si oui, voilà comment effectuer ce changement de base :

Changement de base.png
Changement de base.png (2.81 Kio) Vu 1091 fois

Dans le schéma ci-dessus, nous avons deux bases : la base actuelle et la base que tu voudrais avoir pour simplifier ton code.

Si l'angle aigu entre et vaut et que pixels, les vecteurs directeur sont :

et

donnant la matrice-colonnes des vecteurs directeurs :



et tu cherches avoir une base unitaire orthogonale :

et

donnant la matrice-colonnes des vecteurs directeurs :



Sachant qu'il nous faut trouver la matrice de passage tel que :





Si tu as tes coordonnées en pixels :
Que tu trouve le vecteur
Et que tu arrondis les composantes du vecteur à la valeur inférieur; tu obtiendras le numéro du losange par rapport aux axes donné par DanyL.

amatokus
Messages: 2
Enregistré le: 28 Aoû 2017, 03:05

Re: Besoin d'aide algo grille de losanges

par amatokus » 31 Aoû 2017, 01:17

Merci à tous de votre aide. Pour plus de précision, j'utilise le langage Java, et je n'ai rien qui défini la grille, je souhaite juste diviser virtuellement l'écran de l'utilisateur sous forme d'un quadrillage de losange. Je me pencherai d'avantage sur vos réponses quand j'en aurai le temps.

Je vous remerci de votre aide !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite