How do you plot a 3D circle segment?

5 vues (au cours des 30 derniers jours)
Laurence hutton-smith
Laurence hutton-smith le 21 Mai 2015
It seems very straightforward to plot 3D polygons using fill3, however instead of a polygon is there a way to plot a circle segment?
Say we have 3 points in space, which represent the centre of the circle and two points on it's circumference, how can I draw the filled arc segment between these two points?

Réponse acceptée

Cindy Solomon
Cindy Solomon le 22 Mai 2015
Modifié(e) : Cindy Solomon le 22 Mai 2015
Hi Laurence,
There is no built-in function to plot a segment of a circle. However, it is still possible to do with combinations of existing functions in MATLAB! Assuming that the center is defined as a point in Cartesian coordinates (X, Y, Z), you can add those values to the final x, y, z coordinates before plotting. Although it is easier to start with spherical coordinates, if you have Cartesian coordinates you can use the function cart2sph to convert them to spherical coordinates.
I was unsure if you wanted to plot a "slice" of the sphere that used the full range of the radius, the full range of phi, and the full range of theta, so I added the ability to select a smaller area to plot. Attached is my code to do so- hope this helps!
  1 commentaire
Laurence hutton-smith
Laurence hutton-smith le 28 Mai 2015
Thank you for your help!

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 28 Mai 2015

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by