Использование функции патча для визуализации меша - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь визуализировать сетку, используя функцию "patch" в matlab R2016b.

Мои данные сетки представляют собой простую сферу, состоящую из матрицы граней 512x3 и матрицы вершин 258x3, структурированнойкак на следующем рисунке (но с 3 вершинами на грани):

enter image description here

Когда я визуализирую сетку одним сплошным цветом со следующимикоманда:

patch('Faces', mesh.sharedVert, 'Vertices', mesh.vertices, ...
      'FaceColor', [0.9290 0.6940 0.1250])

Нет проблем:

enter image description here

Однако, когда я пытаюсь визуализировать разные цвета для лица илидля каждой вершины я получаю следующий результат:

enter image description here

Это скрипт для неудачных попыток:

patch('Faces', mesh.sharedVert, 'Vertices', mesh.vertices, ...
      'FaceVertexCData', colors)

My *Переменная 1032 * является либо вектором столбца 512x1 (для граней), либо 258x1 для вершин (сейчас я использую в нем случайные числа).В соответствии с документацией matlab "patch", в разделе "FaceVertexCData" он должен работать в обоих случаях, но не ...

1 Ответ

1 голос
/ 10 апреля 2019

Согласно сотрудникам Matlab , необходимо установить для свойства FaceColor значение «плоский» (если используются цвета для отдельных лиц) или «interp» (если используются цвета для отдельных вершин), поскольку по умолчаниюзначение [0 0 0] перезаписывает значения per-face / vertex.

Интересно, что они не удосужились добавить эту информацию на страницу руководства.

...