Как создать 2D Цилиндр, используя массивы - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь создать различные геометрии в MATLAB, но я изо всех сил пытаюсь создать некоторые формы.Я думал, что если бы я сделал круг, я мог бы просто сложить их и создать цилиндр.Однако я понял, что это не даст мне вид сбоку цилиндра, который я хочу, и поэтому мне нужно создать прямоугольник.

Поскольку изображение, которое я создаю, является двоичным, я считаю, что я должен использовать некоторые для создания массива.Однако я не получаю нужное прямоугольное изображение.

Я также очень новичок в MatLab и вообще использую массивы.Может кто-нибудь подсказать, как создать прямоугольник в MATLAB?

Ниже приведен пример попытки:

X = zeros(5,2);
rectanglePixels = X <= 1;
image(rectanglePixels) ;
colormap([0 0 0; 1 1 1]);

ОБНОВЛЕНИЕ

Я ближе к тому, что хочучтобы сделать, но я хотел бы знать, как написать мой код чище.

a = [0 0 0 0 0 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 0 0 0 0 0]
rectanglePixels = a <= 0;
image(rectanglePixels) ;
colormap([1 1 1; 0 0 0]);

Двоичное изображение прямоугольника:

Binary Image of Rectangle

1 Ответ

0 голосов
/ 26 июня 2018

Как насчет следующего?

rectanglePixels = true(5,8);
rectanglePixels(2:4,4:5) = false;
image(rectanglePixels);
colormap([1 1 1; 0 0 0]);
...