How do you plot a 3D circle segment?

14 Ansichten (letzte 30 Tage)
Laurence hutton-smith
Laurence hutton-smith am 21 Mai 2015
Beantwortet: Image Analyst am 28 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?

Akzeptierte Antwort

Cindy Solomon
Cindy Solomon am 22 Mai 2015
Bearbeitet: Cindy Solomon am 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!

Weitere Antworten (1)

Image Analyst
Image Analyst am 28 Mai 2015

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by