How do you plot a 3D circle segment?

14 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Cindy Solomon
Cindy Solomon il 22 Mag 2015
Modificato: Cindy Solomon il 22 Mag 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!

Più risposte (1)

Image Analyst
Image Analyst il 28 Mag 2015

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by