How to convert arc circle plot into binary circle?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
afiq rauf
am 17 Jun. 2021
Beantwortet: Walter Roberson
am 19 Jun. 2021
how to change the circumference into binary circle ?
0 Kommentare
Akzeptierte Antwort
KSSV
am 17 Jun. 2021
R = 1;
th = linspace(0,2*pi,1000) ;
x = R*cos(th) ; y = R*sin(th) ;
xi = linspace(-2,2,100) ;
yi = linspace(-2,2,100) ;
[X,Y] = meshgrid(xi,yi) ;
Z = zeros(100) ;
idx = knnsearch([X(:) Y(:)],[x' y']) ;
Z(idx) = 1 ;
imagesc(Z)
3 Kommentare
Walter Roberson
am 19 Jun. 2021
Change
th = linspace(0,2*pi,1000) ;
to only have the range of angles that you want the arc to cover.
Weitere Antworten (1)
Walter Roberson
am 19 Jun. 2021
https://matlab.fandom.com/wiki/FAQ#How_do_I_create_an_arc.3F shows how to create an arc.
But for your purpose, instead of using plot(), multiply the coordinates by the resolution you want, and round() them, and then subtract off the minimum x and y . Now you have matrix coordinates.
resolution = 25;
th = linspace(0, 7*pi/9, 500);
r = 5;
xc = 3;
yc = 7;
[x,y] = pol2cart(th, r);
x = x + xc;
y = y + yc;
%the above are data coordinates. Make them into array coordinates.
buffer = 5;
xm = round(x * resolution);
ym = round(y * resolution);
xmin = min(xm);
ymin = min(ym);
xmax = max(xm);
ymax = max(ym);
xmc = xm - xmin + 1 + buffer;
ymc = ym - ymin + 1 + buffer;
arc_image = accumarray([ymc(:), xmc(:)], 1);
imshow(arc_image)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Polar 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!