Добавить новость
ru24.net
Работа
Декабрь
2024
1 2 3 4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Доработать код с диаграммой Вороного, импортировав визуализацию в gmsh

0
есть такой код:
import numpy as np
import pyvista as pv
from scipy.spatial import Voronoi
import matplotlib.colors as mcolors

# Установка seed для воспроизводимости результатов
np.random.seed(14)
# Количество генераторов
n_points = 10
# Толщина стенок ячейки
wall_thickness = 1.0

def generate_points(n_points, cube_size=1.0):
"""
Генерация случайных точек внутри куба
:param n_points: количество точек
:param cube_size: размер куба
:return: массив точек размером (n_points, 3)
"""
return np.random.random((n_points, 3)) * cube_size

def create_voronoi_diagram(points):
"""
Создание диаграммы Вороного
:param points: массив точек
:return: объект Voronoi
"""
# Добавляем далекие точки для ограничения диаграммы
center = np.mean(points, axis=0)
radius = 2.0
extra_points = []
for d in range(3):
for sign in [-1, 1]:
point = np.copy(center)
point[d] = center[d] + radius * sign
extra_points.append(point)

points_with_extras = np.vstack((points, extra_points))
return Voronoi(points_with_extras)

def analyze_voronoi_cells(vor):
"""
Анализ ячеек Вороного
:param vor: объект Voronoi
"""
print("\nАнализ ячеек Вороного:")
for i, region in enumerate(vor.regions):
if len(region) > 0 and -1 not in region: # Пропускаем пустые регионы и регионы с бесконечными вершинами
print(f"\nЯчейка {i}:")
print("Вершины:")
vertices = vor.vertices[region]
for j, vertex in enumerate(vertices):
print(f" Вершина {j}: ({vertex[0]:.3f}, {vertex[1]:.3f}, {vertex[2]:.3f})")

# Проверка пересечения с границами куба
if np.any(vertices < 0) or np.any(vertices > 1):
print(" Ячейка пересекает границы куба")

def visualize_voronoi_3d(vor, points, wall_thickness=1.0):
"""
Визуализация 3D диаграммы Вороного
:param vor: объект Voronoi
:param points: исходные точки
:param wall_thickness: толщина стенок ячеек (float, по умолчанию 1.0)
"""
# Создаем плоттер
plotter = pv.Plotter()

# Создаем куб
cube = pv.Box(bounds=(0, 1, 0, 1, 0, 1))
plotter.add_mesh(cube, style='wireframe', color='black', line_width=2)

# Добавляем исходные точки
point_cloud = pv.PolyData(points)
plotter.add_mesh(point_cloud, color='red', point_size=10, render_points_as_spheres=True)

# Добавляем ячейки Вороного
colors = list(mcolors.TABLEAU_COLORS.values())
for i, region in enumerate(vor.regions):
if len(region) > 0 and -1 not in region: # Пропускаем пустые регионы и регионы с бесконечными вершинами
vertices = vor.vertices[region]
# Создаем выпуклую оболочку для ячейки
cell = pv.PolyData(vertices).delaunay_3d()
# Обрезаем ячейку по границам куба
cell = cell.clip_box((0, 1, 0, 1, 0, 1), invert=False)
if cell.n_points > 0: # Проверяем, осталась ли ячейка после обрезки
# Добавляем ячейку с случайным цветом и прозрачностью
plotter.add_mesh(cell, color=colors[i % len(colors)], opacity=0.3)
# Добавляем каркас ячейки с заданной толщиной
edges = cell.extract_feature_edges()
plotter.add_mesh(edges, color='black', line_width=wall_thickness)

# Настройка камеры и отображение
plotter.camera_position = 'iso'
plotter.show()

def main():
# Генерация точек
points = generate_points(n_points)

# Создание диаграммы Вороного
vor = create_voronoi_diagram(points)

# Анализ ячеек
analyze_voronoi_cells(vor)

# Визуализация
visualize_voronoi_3d(vor, points, wall_thickness)

if __name__ == "__main__":
main()

надо сделать так чтобы визуализация этого кода была в gmsh



Moscow.media
Частные объявления сегодня





Rss.plus



Токсиколог Кутушов перечислил топ-5 наиболее токсичных веществ в бытовой химии

Подмосковные росгвардейцы получили более 100 новых служебных автомобилей

Thyseed — новый игрок на рынке товаров для мам и детей в «Детском мире»

В День Неизвестного Солдата подмосковные росгвардейцы почтили память Героев, отдавших свои жизни на благо Отечества


Продвижение Песни в Мою Волну музыкального стриминга Яндекс Музыка.

Токсиколог Кутушов перечислил топ-5 наиболее токсичных веществ в бытовой химии

Интересные каналы в Telegram. Лучшие каналы в Telegram.

На Казанском вокзале в Москве презентовали вагон-купе для инвалидов


Bigg Boss 18: Digvijay Rathee asks Chum Darang about the kind of guy she would like to marry; says ‘mere parents ko manana padega’

Bigg Boss 18: Netizens slam Raftaar and Ikka’s for calling Digvijay Singh Rathee ‘napti’; see tweets

Gujarat's Urvil Patel smashes another blazing century in SMAT

Watch: India boss Rohit gets down to pink-ball business in Adelaide


Bluetooth-сканер штрих-кодов SAOTRON P04 на базе CMOS-матрицы

Путешествия на НГ по России — куда поедем и сколько потратим

Элитродон двузубый

Thyseed — новый игрок на рынке товаров для мам и детей в «Детском мире»


Arcane co-creator reminds fans 'there are always constraints', dispels theories the show was rushed or restrained by Riot's higher-ups

Доступна предзагрузка Steam-версии Delta Force: Hawk Ops

Woolly Boy and the Circus можно предзаказать на iOS, Android и PC

MMORPG Journey of Monarch можно предзагрузить на iOS и Android



Интересные каналы в Telegram. Лучшие каналы в Telegram.

Thyseed — новый игрок на рынке товаров для мам и детей в «Детском мире»

Фонд борьбы с инсультом ОРБИ при поддержке Т-Банка запустили платформу волонтерского фандрайзинга

Интересные каналы в Telegram. Лучшие каналы в Telegram.




Лучшие студенческие энергетические отряды «Россети Центр» и «Россети Центр и Приволжье» награждены в Москве

Thyseed — новый игрок на рынке товаров для мам и детей в «Детском мире»

Токсиколог Кутушов перечислил топ-5 наиболее токсичных веществ в бытовой химии

Собянин: Три новых станции Троицкой линии метро откроют в начале 2025 года


Участникам Одинцовского отделения «Всероссийского общества глухих» подарили ноутбук

«Москвич» вне конкуренции: какие машины соперничали с первым массовым автомобилем

Юрист Цуков: Пелагея не вывезет дочь за границу без разрешения Телегина

Жителей и гостей Шатуры 11 декабря приглашают на дегустацию чая


Казахстанская теннисистка взлетела в рейтинге WTA

Организаторы теннисного турнира в Петербурге хотят пригласить для участия Шарапову

Рыбакина вошла в рейтинг самых высокооплачиваемых спортсменок мира в 2024 году. Известна сумма ее заработка

Жену белорусского теннисиста Герасимова обокрали в отеле в Петербурге


Жителей и гостей Шатуры 11 декабря приглашают на дегустацию чая

Участникам Одинцовского отделения «Всероссийского общества глухих» подарили ноутбук

В Красноярске простились с ветераном ВОВ Иваном Шпагиным

У миллиардера Беренштейн в Москве угнали Maybach за 21 млн рублей и разбили


Музыкальные новости

«На извращенца похож»: В Сети смеются над Джиганом с волосами

Секреты мотивации: как превратить рутину в увлекательный процесс

Певец Газманов заявил, что ИИ может помочь артистам при производстве демо

Продюсер Дарья Кузнецова: «Алсу — заложник своей семьи и фамилии. У нас в стране не любят богатых людей»



Фонд борьбы с инсультом ОРБИ при поддержке Т-Банка запустили платформу волонтерского фандрайзинга

На Воробьевых горах открылась фотовыставка «Без барьеров»

В День Неизвестного Солдата подмосковные росгвардейцы почтили память Героев, отдавших свои жизни на благо Отечества

Thyseed — новый игрок на рынке товаров для мам и детей в «Детском мире»


Росгвардия и Росрыболовство подвели итоги совместной работы по охране водных биоресурсов в Тюмени

Благотворительный фонд Потанина стал участником конференции «Технологии добра»

Бастрыкин потребовал доложить региональные СК о незаконном вывозе детей за границу

Подмосковные росгвардейцы получили более 100 новых служебных автомобилей


Regions Development: 79% россиян планируют потратить средства с депозитов на покупку недвижимости

В Москве водитель протащил по дороге инспектора ГАИ, державшегося за ручку авто

История суперкаров: модели, вдохновившие коллекцию Teboil

«Москвич» вне конкуренции: какие машины соперничали с первым массовым автомобилем


Меркель отказалась верить в слова Путина о Кони

Путин заявил о политических мотивах ухода Volkswagen из России

Александр Цыбульский принял участие в пленарном заседании инвестиционного форума «Россия зовёт!»

Путин: скоординированные действия ЦБ и кабмина нужны для сдерживания инфляции


Свыше 4,8 тыс. случаев заболевания коронавирусом выявили в городе за неделю




Только 6% женщин ориентируются на рекомендации врача при выборе косметики

Расслабляющий массаж: Сауна и Хаммам 24/7 — Релакс в TerraLux SPA

Переход на клинические рекомендации: что возмутило врачей по всей стране

В Москве врачи спасли мужчину со сломавшимся кардиостимулятором


Такер Карлсон заявил, что Киев запретил Зеленскому дать ему интервью

Bild рассказали, что настоящая цель визита Шольца в Киев - узнать, на что готов Зеленский ради мира

Такер Карлсон: Посольство США в Киеве запретило Зеленскому давать интервью


ТРЦ «Нора» провёл семейный шахматный турнир

Кубок Группы компаний «РЕГИОН»: Евгений Томашевский на вершине пьедестала

В Москве врачи спасли мужчину со сломавшимся кардиостимулятором

Суд передал олимпийский велотрек в Крылатском государству


Признают ли Лукашенко на Западе после «выборов»?



Сергей Собянин рассказал о развитии технопарка Руднево

Собянин: Ежегодно будем открывать новые маршруты речного электротранспорта

Собянин: Этапы строительства Рублево-Архангельской линии завершатся в 2026-2027

Собянин: Открытие ВСМ Москва — Петербург увеличит пассажиропоток между городами


«Метриум»: На страже комфорта

В Москве полицейские пресекли сбыт свыше 1,4 кг мефедрона уроженцем Хабаровского края

В Москве заработали первые платные городские зарядки для электромобилей

Hybrid представил первый в России рейтинг виртуальных миров


Судебные приставы Подмосковья депортировали 4617 незаконных мигрантов за год

Жителей и гостей Шатуры 11 декабря приглашают на дегустацию чая

Участникам Одинцовского отделения «Всероссийского общества глухих» подарили ноутбук

Чем заняться в День гостей в центрах московского долголетия?


Собянин: Этапы строительства Рублево-Архангельской линии завершатся в 2026-2027

ТСД SAOTRON RT-T50: высокопроизводительный терминал сбора данных промышленного класса

Какой будет погода на Новый год, спрогнозировали синоптики

Беспроводной сканер штрих-кодов SAOTRON P05i промышленного класса


Час мужества "Их подвиг жив, неповторим и вечен"

Беседа-рекомендация «Это важно знать»

Выставка-память «Пропавшие без вести, но не забытые», ко Дню Неизвестного солдата

Калмыкия может открыть авиарейсы в Петербург, Казань, Екатеринбург и Улан-Удэ


Участникам Одинцовского отделения «Всероссийского общества глухих» подарили ноутбук

Жителей и гостей Шатуры 11 декабря приглашают на дегустацию чая

У миллиардера Беренштейн в Москве угнали Maybach за 21 млн рублей и разбили

Судебные приставы Подмосковья депортировали 4617 незаконных мигрантов за год












Спорт в России и мире

Новости спорта


Новости тенниса
Даниил Медведев

«До 30 лет еще можно рваться к Большим шлемам» — Янчук о форме Медведева






В кинопарке «Москино» покажут масштабное мультимедийное шоу «Соборная площадь»

Жителей и гостей Шатуры 11 декабря приглашают на дегустацию чая

«Москвич» вне конкуренции: какие машины соперничали с первым массовым автомобилем

Судебные приставы Подмосковья депортировали 4617 незаконных мигрантов за год