Как построить интерполированное скалярное поле на трехмерной триангулированной поверхности в Python - PullRequest
1 голос
/ 16 мая 2019

Моя проблема заключается в следующем: у меня есть триангулированная поверхность с массивами X,Y,Z, содержащими координаты вершин сетки, и массив Triangles, содержащий индексы точек вершин для каждого угла треугольника (т.е. каждой линиимассив содержит триплет, определяющий треугольник в терминах вершин).Кроме того, у меня есть массив Field, содержащий значения скалярных полей в каждой вершине меша.Я хочу построить треугольную сетку в Python, где каждый треугольник окрашен в соответствии со значениями полей его вершин.

Я нашел решение этой проблемы, если назначить один цвет на треугольник. (см. здесь ).Что если я захочу интерполировать значения полей по поверхности каждого отдельного треугольника, чтобы была непрерывная (сглаженная, еще лучше) окраска сетки?

Я подумал использоватьtri_api из Matplotlib, потому что он также может выполнять интерполяцию по треугольным сеткам, однако я не нашел решения, которое отвечало бы моим потребностям. Эта демонстрация подходит близко, но она ограничена на плоских поверхностях и интерполируется на прямоугольной сетке.

Конечно, решение не должно включать Matplotlib, это может быть любая другая библиотека Python/ящик для инструментов.Буду благодарен за любые предложения!

...