If I start with a matrix of zeros, how can I easily create a Hypocycloid of ones in that matrix?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to make an Hypocycloid with a matrix of zeros, it is for make the Fourier Transformation of the image. Something like this https://la.mathworks.com/help/images/fourier-transform.html but instead the Rectangle I need a Hypocycloid like the examples of this page https://es.wikipedia.org/wiki/Hipocicloide when K=3,4 and 5

2 comentarios
Jan
el 9 de Mzo. de 2022
Please mention the details. How should the "hypocycloid" look like? What have you tried so far? What is "the TF"?
Respuestas (1)
Jan
el 10 de Mzo. de 2022
Editada: Jan
el 11 de Mzo. de 2022
A point to start from - it is not hard to expand this to fill elements of the zero matrix:
M = zeros(512, 512);
a = linspace(0, 2*pi, 10000);
% Hypocycloid:
r1 = 1;
r2 = 0.2; % 1/n
x = (r1 - r2) * cos(a) + r2 * cos(a * (1 - r1 / r2));
y = (r1 - r2) * sin(a) + r2 * sin(a * (1 - r1 / r2));
xx = 1 + round((x + 1) / 2 * 511);
yy = 1 + round((y + 1) / 2 * 511);
M(sub2ind(size(M), xx, yy)) = 1;
% Circle:
x = r1 * cos(a);
y = r1 * sin(a);
xx = 1 + round((x + 1) / 2 * 511);
yy = 1 + round((y + 1) / 2 * 511);
M(sub2ind(size(M), xx, yy)) = 1;
colormap([1,1,1; 0,0,0]) % Display the matrix:
image(M + 1)
0 comentarios
Ver también
Categorías
Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!