|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
Bonjour,
j'ai suivi ce tutoriel pour déterminer un plan a partir de plusieurs points. J'ai essayé de suivre au mieux les indications, mais mon resultat est peu probant : Code :
Je souhaiterais dessiner mon plan calculé mais je ne sais pas comment m'y prendre. Merci |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : avril 2004 Messages : 1 246 ![]() |
Une autre façon de faire consiste à calculer les valeurs singulières de la matrice formée par tes points, centrés en zéro.
En gros : Code :
|
||
|
|
10
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
Merci pour ton aide, mais il y a un probleme a la ligne : n/=n(3) et je n'ai pas suffisamment compris pour corriger moi meme
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : avril 2004 Messages : 1 246 ![]() |
n/=n(3) c'est équivalent à n=n/n(3).
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
je vois, mais j'ai une erreur de dimension en utilisant mean(). Je dois soustraire la valeur moyenne de X, Y et Z pour chaque point ?
Par exemple : X(1) - moy(X) ? |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : avril 2004 Messages : 1 246 ![]() |
oui.
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
Merci beaucoup, cela fonctionne "presque". J'obtiens en effet un plan avec la bonne inclinaison, mais j'aurais aimé qu'ils soit proche des points, il se positionne pas toujours correctement, j'ajoute + mean(Z)
|
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
Cette méthode donne la bonne inclinaison du plan, mais la position en Z est erronée.
Mes modifications precedentes n'y ont rien changé |
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Inscription : avril 2004 Messages : 1 246 ![]() |
ok, une autre façon de faire...
Code :
|
||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
Au risque de jouer les rabajoie, j'obtiens une erreur de dimension a
et la Merci quand meme pour ton temps |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : avril 2004 Messages : 1 246 ![]() |
v=[v(1:2);v(4)];
pardon. |
|
|
00
|
|
|
#12 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
J'ai essayé de modifier mon code de cette maniere, mais je crois faire fausse route. Le probleme est que je n'ai qu une vague idee de ce que je poste la...
Code :
|
||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Inscription : avril 2004 Messages : 1 246 ![]() |
La ligne 8 est pas bonne.
Quand tu fais la SVD de la matrice M, la 4e colonne des vecteurs propres à droite correspond à l'équation du plan, comme indiqué dans la ligne 4. Donc, pour obtenir Z, la 3e coordonnée, tu fais : -(v(1)*x+v(2)*y+v(4)) / v(3) Donc, pour simplifier le calcul, tu pars de ton vecteur v original (celui de la ligne 3), tu divises chaque composante par v(3). Ensuite tu crées un nouveau vecteur V=-[v(1:2);v(4)]. A partir de là, tout point [x y 1] multiplié par le vecteur V te donnera la 3e coordonnée, Z. Dans le cas des meshgrid, tu dois donc faire ceci : Z=-(v(1)*x+v(2)*y+v(4))/v(3) |
|
|
00
|
|
|
#14 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2010 Messages : 48 ![]() |
Merci beaucoup, j'ai enfin trouvé !
j'avoue m'etre aidé de ce poste, mais c'est juste parce que j'ai du mal. Je donne quand meme la solution car il y avait un pti souci avec le vecteur v(4): Code :
Code :
Merci beaucoup pour ton aide ! |
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com