Write a function drawBox which draws boxes on the screen
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Khalid Khan
el 30 de Nov. de 2016
Respondida: Abu Yamen
el 3 de Dic. de 2016
I got a task but I am confused. This is My task The function is called with a character (ch) as the first argument and two positive integers which represent the width and the height of the box to be drawn. It automatically draws a box with the character (ch) by the specified width and height. Can Anyone help me out with the task.
1 comentario
Abu Yamen
el 3 de Dic. de 2016
function []= drawBox('s',w,h)
ch =input('ch-ch ','s'); w =input('width : '); h =input('hight : ');
x = repmat(ch, h, w); x(2:end-1, 2:end-1) = char(32); disp(x); end
Respuesta aceptada
KSSV
el 30 de Nov. de 2016
Editada: KSSV
el 30 de Nov. de 2016
function drawBox(str,w,h)
ch = [0. 0.] ;
%%get four corners of box
N = 20 ;
x = linspace(ch(1),ch(1)+w,N) ;
y = linspace(ch(2),ch(2)+h,N) ;
[X,Y] = meshgrid(x,y) ;
X(2:end-1,2:end-1) = NaN ;
Y(2:end-1,2:end-1) = NaN ;
x = X(~isnan(X)) ;y = Y(~isnan(Y)) ;
plot(x,y,'.w') ; hold on
text(x,y,str)
axis off
4 comentarios
Más respuestas (2)
KSSV
el 30 de Nov. de 2016
what is ch? Actually to draw a box four numbers are needed. First two position/ origin of the box and then width, height. I think ch is a 1x2 array with two numbers which represent position of the box.
ch = [1. 1.] ;
h = 1. ;
w = 0.5 ;
box = [ch w h] ;
%%get four corners of box
p = [ch(1) ch(2) ;
ch(1)+w ch(2) ;
ch(1)+w ch(2)+h ;
ch(1) ch(2)+h ;
ch(1) ch(2)] ;
plot(p(:,1),p(:,2),'r')
3 comentarios
Abu Yamen
el 3 de Dic. de 2016
function []= drawBox('s',w,h)
ch =input('ch-ch ','s'); w =input('width : '); h =input('hight : ');
x = repmat(ch, h, w); x(2:end-1, 2:end-1) = char(32); disp(x); end
0 comentarios
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!