MATLAB: разные альфы для разных объектов патча - PullRequest
0 голосов
/ 20 февраля 2012

Хорошо, поэтому функция patch позволяет нам рисовать несколько полигонов, например,

patch(X,Y,'r')

, где X и Y - матрицы размером m на n. Это рисует n полигонов с m вершинами.

Но что, если я хочу, чтобы каждый из этих n полигонов имел уникальное значение альфа-прозрачности?

patch(X,Y,'r', ??? SOME CODE TO USE A VECTOR OF ALPHA VALUES ???)

Документация сбивает меня с толку. Я не могу использовать цикл for, поскольку мне нужно очень быстро нарисовать много объектов патча. Может ли кто-нибудь любезно предоставить пример кода? Спасибо всем.

1 Ответ

4 голосов
/ 20 февраля 2012

Похоже, ключом является свойство FaceVertexAlphaData. Вот пример кода:

X = [...
    1  2  3 ; ...
    4  5  6 ; ...
    7  8  9 ; ...
    10 11 12];
Y = [...
    2  5  8; ...
    3  6  9; ...
    1  4  7; ...
    -1 3  6];
h = patch( X, Y, 'r');
set(h,'FaceAlpha','flat','FaceVertexAlphaData',[.2; .4; .8])

docsearch patch properties для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...