Что является причиной того, что некоторые точки не выполняют выборку охватывающей сетки? / Как предотвратить сбои точек Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Что является причиной того, что некоторые точки не выполняют выборку охватывающей сетки? / Как предотвратить сбои точек

Сообщение Anonymous »

Я использую пакет PyVista для преобразования сетки .vtk из несоответствующих прямоугольных призм в сетку точек. Однако некоторым точкам не удается выполнить выборку набора данных, что приводит к значению «0» в индексе этой точки в pointset_sample.point_data['vtkValidPointMask'] и либо 0, либо некоторому значению цвета NaN при построении графика. точек.
Вот минимальный воспроизводимый пример:

Код: Выделить всё

import pyvista as pv
import numpy as np

mesh = pv.read("xg36ieja.vtk")
mesh.set_active_scalars('Resistivity[Ohm-m]')

points = np.load("rprogbs9.npy")
pointset = pv.PointSet(points)
pointset_sample = pointset.sample(mesh)
print(pointset_sample.point_data['vtkValidPointMask'])

plot = pv.Plotter()
plot.add_mesh(pointset_sample, scalars = 'Resistivity[Ohm-m]', cmap = 'turbo_r',
render_points_as_spheres=True, point_size=20,
log_scale=True, clim=[5e0, 5e2])
plot.add_mesh(mesh, scalars = 'Resistivity[Ohm-m]', cmap = 'turbo_r',
opacity=0.3, show_edges=True, line_width=2, edge_opacity=1.0,
log_scale=True, clim=[5e0, 5e2])
plot.show()
В результате получается график, на котором 12 точек, пропущенных в этом примере, находятся на красном конце цветовой шкалы, а все остальные согласуются с ячейками, которые их содержат, и имеют зеленый или фиолетовый цвет, а vtkValidPointMask имеет значение:

Код: Выделить всё

[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
Почему некоторые точки не могут выполнить выборку охватывающей сетки? Как предотвратить попадание точек в охватывающую сетку?

Подробнее здесь: https://stackoverflow.com/questions/793 ... do-i-preve
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»