Collision entre un point et un rectangle incliné Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -17%
SSD interne Crucial SSD P3 1To NVME à ...
Voir le deal
49.99 €

 

 Collision entre un point et un rectangle incliné

Aller en bas 
5 participants
AuteurMessage
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Collision entre un point et un rectangle incliné Empty
MessageSujet: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptySam 26 Fév 2011 - 22:01

Bonjour, je cherche un algorithme ou du code pouvant calculer si il y a une collision entre un point un et rectangle et possiblement retourner le point de collision. J'ai déja la position des 4 coins.

J'ai penser à utiliser les coins pour créé des lignes et essayer de savoir si le point est à l'intérieur

ou de gèrrer le rectangle comme une grosse ligne

mais dans tout les cas, aucune idée comment faire sans faire 10 000 calculs

Et sans fonction préfaite genre collision_ligne.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptySam 26 Fév 2011 - 22:18

lol, y a pourtant rien de plus con comme algo

si x<left ou x>right ou y<top ou y>bottom
pas de collision
sinon collision aux coordonnées x-left, y-top (coordonnées relatives au rectangle)


Left/top indique le sommet gauche du rectangle et
right/bottom en bas a droite
Revenir en haut Aller en bas
Invité
Invité




Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptySam 26 Fév 2011 - 22:30

peut être que son rectangle est pivoté
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptySam 26 Fév 2011 - 22:37

Effectivement ça complexifie un peut la chose mais ça n'as pas l'air non plus sorcier.
Un ptit lien pour de la 3d si j'ai bien compris : http://www.blitzbasic.com/codearcs/codearcs.php?code=414

Faut chercher point collision oriented bounding box
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptySam 26 Fév 2011 - 22:40

Ba ouai il est incliné c'est dans le titre awesome
sinon merci pour le lien, je vais lire Smile
edit: je vois pas où il fait une rotation d'objet dedans, tout comme une gestion sur un objet incliné :/
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptySam 26 Fév 2011 - 22:55

J'avoue, mais fait une recherche sur les oob, je suis sur que tu trouveras ton bonheur.
Au pire sur mon 2eme pc je crois que j'ai un lien ou y a toutes les collisions inimaginables, donc si a la rentrée t'as toujours rien je te le passerais :p
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyDim 27 Fév 2011 - 1:29

oob?
Sinon même is je trouve je serais quand même interesser de voir ce lien, histoire de savoir si j'ai bien fait le truc ^^
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyDim 27 Fév 2011 - 10:08

AABB : Axis Aligned Bounding Box
OBB : Oriented Bounding Box (dsl j'avais fait une faite de frappe)

Je vais essayer de te bricoler un algo dans la journée, j'ai une petite idée de comment faire :p

Avant faut juste que je finisse un ptit truc par contre Wink


Pour le lien faudra attendre la rentré (a moins que je le retrouve la) car il est a ma cité universitaire.
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense Collision entre un point et un rectangle incliné Panicpr9

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyDim 27 Fév 2011 - 10:57

onilink_ a écrit:
si x<left ou x>right ou y<top ou y>bottom
Ah ! police
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyDim 27 Fév 2011 - 11:05

lol j'avais pas vu le incliné (suis un peu crevé ces derniers temps ._.)
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyDim 27 Fév 2011 - 14:25

Ah je vois^^ J'espère juste pas tomber sur trop de truc 3D, dur de convertir certaines parties, comme ya rarement de commentaires kill

Merci d'avance pour l'algo =)
Sinon je crois que tu peux laisser tomber pour ton site, on risque d'avoir oublié d'ici là awesome
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 1:03

la réponse n'est pas simple ...

Soit P le point à vérifier.

Si P N'EST PAS dans le rectangle circonscrit alors, on arrête.

Si P N'EST PAS dans les triangles formés entre le rectangle et le rectangle circonscrit, alors on arrête

Sinon, le point est en collision.
Revenir en haut Aller en bas
http://www.tdms.fr
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 1:10

Y a la technique des coté projeté sur des axes aussi, qui parait simple a coder et rapide.
C'était dans le lien que j'avais trouvé ...
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 13:01

Un calcul vectoriel pour passer le point dans le référentiel du rectangle sinon ?
Ou alors un test de collision avec les deux triangles qui composent le rectangle.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 13:15

Le problème c'est que calculer si un point dans un triangle est assez couteux (a ce que je sais en tout cas).
Normalement pour ce genre de truc faut utiliser le théorème de l'axe séparateur.
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense Collision entre un point et un rectangle incliné Panicpr9

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 13:55

Encore plus compliqué, créer un nouveau repère de coordonnées dont l'origine si situe dans un angle du rectangle, puis ensuite ça revient à faire pareil que ce qu'avait dit onilink au début.

onilink_ a écrit:
lol j'avais pas vu le incliné (suis un peu crevé ces derniers temps ._.)
Je parlais pas de ça ^^
Même si le rectangle était pas incliné ton code est faux crossa
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 14:32

Ah bon ? Je vois pas pourquoi ça marcherais pas oO (je doit être vraiment très fatigué lol)

Edit : chez moi ça marche :
Code:
var xx, yy, left, right, top, bottom;
xx=argument0 yy=argument1
left=argument2 top=argument3
right=argument4 bottom=argument5

draw_rectangle(left, top, right, bottom, 1)

if(xx<left||xx>right||yy<top||yy>bottom)
return false
return true
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 14:53

nicoulas a écrit:
Encore plus compliqué, créer un nouveau repère de coordonnées dont l'origine si situe dans un angle du rectangle, puis ensuite ça revient à faire pareil que ce qu'avait dit onilink au début.

Just what I said awesome
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer


Messages : 6938
Projet Actuel : Bataille de cake au fruits

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 16:42

mort2 J'ai tellement rien comrpis que j'soe même pas imaginer coder ca en plus.
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense Collision entre un point et un rectangle incliné Panicpr9

Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné EmptyLun 28 Fév 2011 - 17:00

Non non c'était moi qui était fatigué ... double fail, j'ai rien dit Yum!
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Contenu sponsorisé





Collision entre un point et un rectangle incliné Empty
MessageSujet: Re: Collision entre un point et un rectangle incliné   Collision entre un point et un rectangle incliné Empty

Revenir en haut Aller en bas
 
Collision entre un point et un rectangle incliné
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Collision entre rectangle et un triangle
» [résolu] Determiner le point de collision sur un sprite
» [résolu] Créer un mask
» rectangle de selection
» [Résolu] Position en X d'une collision entre deux objet

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: