2010-01-03 14 views
1

Quelqu'un peut-il m'expliquer comment utiliser la fonction produit croisé dans matlab?Fonction de produit croisé dans matlab

Un exemple, j'ai l'image suivante avec 6 points fixes sur le cube, comment trouver les deux autres points du cube? alt text http://img24.imageshack.us/img24/6479/drawcube01.png

+0

vous voulez dire que vous avez des coordonnées 3D des points fixes? –

+0

Je ne vois pas la nécessité d'utiliser des produits croisés ici. L'addition/soustraction de vecteur devrait être suffisante. –

+0

Salut Antony, vous pouvez obtenir les points en utilisant la fonction getpts, ceux-ci sont en 2D, vous devez les faire devenir 3D en ajoutant une dimension supplémentaire (valeur 1). –

Répondre

2

Il est bon de savoir ce que signifie la fonction de produits croisés sans utiliser Matlab.

Si vous avez deux vecteurs A = ax i + ay j + az k et B = bx i + par j + bz k, le produit croisé est défini comme étant le vecteur C de la manière suivante:

C = (ay bz - par az) i - (ax bz - bx az) j + (ax par - bx ay) k

Vous pouvez visualiser C comme perpendiculaire à la fois A et B dans le sens d'une vis à droite lorsque vous faites pivoter A en B.

Une autre façon d'écrire est:

C = ab sin (θ) n, où a est l'amplitude du A, b est la grandeur de B, et n est égal à le vecteur normal de l'unité.

Dans votre cas, les grandeurs de A et B sont les longueurs des côtés du Rubik's Cube. Le point que vous voulez est la fin du vecteur C.

D'autres détails:

Dans votre cas, le vecteur A fonctionne à partir du point bas vers le coin à droite; le vecteur B commence à ce point inférieur commun au coin à gauche. Traversez A en B pour obtenir le vecteur perpendiculaire au plan inférieur vers le point d'angle inconnu. Faites-en un vecteur d'unité. Multipliez le vecteur unité par la longueur du côté du cube. Ajouter le point bas commun aux composants de ce vecteur et vous avez les coordonnées absolues du coin inconnu. Répétez pour les trois autres points et vous avez terminé.

+0

Salut duffymo, pourriez-vous me donner quelques codes avec explication, j'ai assez lu sur wiki: -s Pour résoudre c'est un problème, je n'ai pas immaginé comment puis-je obtenir les résultats, merci. –

+3

Modifier votre question avec des détails montrant comment vous le feriez et je vais voir si je peux vous aider. Je ne suis pas la salope de devoirs. – duffymo

+0

oups, merci pour votre suggestion, j'ai mis un autre tag à ma question: D –

Questions connexes