Построение параметрических объектов в виде сетки в PyVistaPython

Программы на Python
Ответить
Anonymous
 Построение параметрических объектов в виде сетки в PyVista

Сообщение Anonymous »

Возможно, я столкнулся с простой проблемой, но после прочтения документации pyvista я все еще ищу ответ. Я пытаюсь построить сетку, в которой каждая ячейка будет представлять собой сетку, определенную как параметрическую форму, то есть супертор. В ранней версии pyvista я определял «свой собственный» супертор следующим образом:

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

def supertorus(yScale, xScale, Height, InternalRadius, Vertical, Horizontal,
deltaX=0, deltaY=0, deltaZ=0):

#  initial range for values used in parametric equation
n = 100
u = np.linspace(-np.pi, np.pi, n)
t = np.linspace(-np.pi, np.pi, n)
u, t = np.meshgrid(u, t)

# a1: Y Scale 
a1 = yScale
# a2: X Scale 
a2 = xScale
# a3: Height 
a3 = Height
# a4: Internal radius 
a4 = InternalRadius
# e1: Vertical squareness 
e1 = Vertical
# e2: Horizontal squareness 
e2 = Horizontal

# Definition of parametric equation for supertorus
x = a1 * (a4 + np.sign(np.cos(u)) * np.abs(np.cos(u)) ** e1) *\
np.sign(np.cos(t)) * np.abs(np.cos(t)) ** e2
y = a2 * (a4 + np.sign(np.cos(u)) * np.abs(np.cos(u)) ** e1) *\
np.sign(np.sin(t)) * np.abs(np.sin(t)) ** e2
z = a3 * np.sign(np.sin(u)) * np.abs(np.sin(u)) ** e1

grid = pyvista.StructuredGrid(x + deltaX + 5, y + deltaY + 5, z + deltaZ)
return grid
Я мог манипулировать deltaX, deltaY и deltaZ, чтобы расположить суперторы в выбранном мной месте.
К сожалению, этот подход оказался неэффективным, и я планирую использовать супертороидальные сетки, предоставленные PyVista. (https://docs.pyvista.org/examples/00-lo ... upertoroid). Мой вопрос: как я могу разместить несколько сеток (например, супертори) в месте, определенном координатами x, y, z?

Подробнее здесь: https://stackoverflow.com/questions/614 ... in-pyvista
Ответить

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

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

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

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

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