How can I plot a new vector that have a relative length of another?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Marco Branco
le 12 Oct 2013
Commenté : Marco Branco
le 12 Oct 2013
I have two points with coordinates in 3d space, and now I want to plot other vector with the same origin and with 30% of the length of the first one. For that I create a new ending point representing 30% of the coordinates of the 2nd point. This code work well if I have coordinates without decimal places, but in my data every coordinates have decimal places. Could you help me? Thanks. The code that I have is:
p1=[70.025, 0.574, 0.370];
p2=[140.590, -0.431, -0.226];
x1=[p1(1) p2(1)];
y1=[p1(2) p2(2)];
z1=[p1(3) p2(3)];
p3=[(p1(1)+p2(1)*0.3), (p1(2)+p2(2)*0.3), (p1(3)+p2(3)*0.3)];
x2=[p1(1) p3(1)];
y2=[p1(2) p3(2)];
z2=[p1(3) p3(3)];
hold on
plot3(x1, y1, z1)
plot3(x2, y2, z2, 'r')
hold off
2 commentaires
Azzi Abdelmalek
le 12 Oct 2013
Modifié(e) : Azzi Abdelmalek
le 12 Oct 2013
Why decimals are a problem?
Réponse acceptée
Azzi Abdelmalek
le 12 Oct 2013
Modifié(e) : Azzi Abdelmalek
le 12 Oct 2013
You can write
p3=p1+0.3*p2
3 commentaires
Azzi Abdelmalek
le 12 Oct 2013
Because
p3=p1+0.3*p2
%is not corresponding to your question, try
p3=p1+(p2-p1)*.3
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!