Найдите минимальное значение для бесконечно связанной изоповерхности
Входные данные следующие: массив точек (x,y,z,f). Все это np.arrays. Это (x,y,z) просто сетка ячейки, а f - значение энергии в каждой точке сетки. Я пытаюсь решить следующую задачу: построить изоповерхность (поверхность, содержащую точки (x,y,z), для которых значение f совпадает с некоторым значением допуска), которая проникает в эту ячейку, т.е. вы можете нарисовать путь (в этой поверхности), которая является непрерывной и касается противоположных (не пересекающихся) плоских поверхностей (или противоположных вершин, ребер) ячейки. Под бесконечно взаимосвязанными я подразумеваю, что у меня есть периодические граничные условия (но это уже другая история). Я подумал о следующем псевдокоде:
input (x, y, z, f)
take minimum f value
determine iso-surfaces at this f value
check connectivity of iso-surfaces
are they interconnected inside the cell&and they intersect opossite vertexes ( or edges, plane surfaces) of the cell?
yes
good work
break
no
repeat for bigger f value
Итак, не могли бы вы порекомендовать инструменты для ее решения?