Один из способов будет вращать вектор и создать surface
. Данные Z поверхности (ваш повернутый вектор) будут кодироваться цветом в соответствии с выбранной вами цветовой палитрой, если вы отображаете поверхность сверху, вы получаете свои круги с разной яркостью.
Если вас действительно интересует только «вид сверху» этой поверхности, тогда вам не нужно создавать полную поверхность, простую pcolor
выполнит эту работу.
пример:
%% // input data (and assumptions)
E=[0 3 1 5 2 7];
nBrightness = 10 ; %// number of brightness levels
r = (0:numel(E)) ; %// radius step=1 by default for consecutive circles
%// otherwise define different thickness for each circle
Так что, если я использую stairs([E 0])
вы получите ваши различные уровни яркости:
мне пришлось добавить последний 0
к вектору «закрыть» последнее уровень, мы должны будем сделать это снова в приведенном ниже решении.
Теперь, чтобы повернуть/повторить, что вокруг Y, цветовой код высота, и смотреть на него сверху:
%% // replicate profile around axis
ntt = 50 ; %// define how many angular division for the plot
theta = linspace(0,2*pi,ntt) ; %// create all the angular divisions
[rr,tt]=meshgrid(r,theta) ; %// generate a grid
z = repmat([E 0] , ntt , 1) ; %// replicate our "E" vector to match the grid
[xx,yy,zz] = pol2cart(tt,rr,z) ; %// convert everything to cartesian coordinates
pcolor(xx,yy,zz) %// plot everything
colormap(gray(nBrightness)) %// make sure we use only "nBrightness" colors (Shades of gray)
caxis([0 nBrightness])
shading flat ; axis equal %// refine the view (axis ratio and "spokes" not visible) etc...
colorbar
axis off
даст следующее:
Обратите внимание, что ваша проблема не была полностью определена, мне пришлось принять предположения о:
- Какой радиус должен иметь круг яркости? (Я сделал их все равно, но вы можете это изменить)
- Сколько уровней яркости вы хотите? (Вы также можете легко это изменить).
Большое спасибо, но это не совсем решает проблему, я думаю, что я объяснил это довольно плохо. Я хочу повернуть его и сформировать твердое тело, а не просто повернуть его, чтобы переместить кривую. – Jack