Can MATLAB do radial enlargements of plots?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have attached an image to illustrate what I mean. I will gladly appreciate any advice on this. Many thanks.
0 Kommentare
Akzeptierte Antwort
DGM
am 26 Jun. 2022
You could do this by simply transforming the data itself
scale = 2;
center = [1 2]; % [x y]
r = 1;
th = 0:360;
x = r*cosd(th) + center(1);
y = r*sind(th) + center(2);
% transform data
x = (x - center(1))*scale + center(1);
y = (y - center(2))*scale + center(2);
hp1 = plot(x,y);
axis equal
grid on
... or you could do it by manipulating the graphics object directly
scale = 2;
center = [1 2]; % [x y]
r = 1;
th = 0:360;
x = r*cosd(th) + center(1);
y = r*sind(th) + center(2);
hp1 = plot(x,y);
axis equal
grid on
Ms = makehgtform('scale',scale);
Mtc = makehgtform('translate',[-center 0]);
t = hgtransform('parent',gca);
set(hp1,'parent',t)
set(t,'Matrix',Mtc*Ms)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!