How to Draw an ellipsoid between two 3d coordinates
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I want to draw a 3d ellipsoid between two 3d coordinates x1,y1,z1 and x2,y2,z2. The ellipsoid need to be rotated so its top and buttom touch the coordinates. It should have height of r derived from square root and thickness of r/10.Any help please.so far I manage to draw the ellipsoid using ellipsoid() and draw it using surf in the center of axis. I dont know how to calculate and add the required angles to rotate it and the offset.Thanks.
0 commentaires
Réponses (2)
Matt J
le 26 Juil 2021
Modifié(e) : Matt J
le 26 Juil 2021
Another way would be to use the ellipsoidalFit.groundTruth method in this File Exchange submission.
P1=[x1,y1,z1]; P2=[x2,y2,z2];
center=(P1+P2)/2;
r=norm(P2-P1)/2;
ABC=[r, r/10 , r/10];
[az,el,~]=cart2sph(x2-x1,y2-y1,z2-z1);
plot( ellipsoidalFit.groundtruth([],center,ABC,[az,-el,0]*180/pi) );
0 commentaires
Voir également
Catégories
En savoir plus sur Computational Geometry dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!