среда, 15 июля 2015 г.

Рисование неструктурированных сеток с помощью библиотеки evtk (Python).

Введение

Сегодня мне потребовалось нарисовать сферу из треугольников как часть 3D визуализации для научного проекта. До этого я всегда экспортировал данные для визуализации в VTK с помощью замечательной библиотеки pyevtk [3], которая за меня строила довольно сложный XML файл, который я потом рисовал в ParaView.

На удивление, гугление "evtk unstructured grid example" давало только ссылку на открытый баг [2]; Яндекс тоже ничего не нашёл.

Взятый за основу файл с демонстрацией бага послужил достаточно хорошим толчком, спасибо Maxim Grechkin [2]. Ниже будет описан процесс правильного создания корректного VTK-файла с неструктурированными сетками, который годится для ParaView и товарищей.

Visualization of unstructured grid data using evtk library (Python).

Introduction

Today I had to visualize a spherical surface (made from triangles) as a part of my scientific project. In a past I always exported data into VTK files using the wonderful library, pyevtk [3], which easily constructs a complex XML files ParaView can draw.

Surprisingly, google got nothing on "evtk unstructured grid example", except for a link to an open bug [2]; Yandex got nothing either.


Taking file applied to the ticket (huge thanks to Maxim Grechkin [2]), I managed to figure out how to create valid unstructured grids with pyevtk. Below is the description of the technique.

четверг, 27 ноября 2014 г.

Про "облака"

Предисловие

В последнее время студенты приносят рефераты про "облачные технологии Google", и у меня возникает сильное ощущение, что у информатиков слово "облако" заменило приставку "нано-" у пустозвонов про физику и технологии.

Здесь я объясню вещи, за непонимание которых буду снижать оценку. Если же я сам что-то не понимаю, то прошу править эту заготовку, на будущее, для общего пользования. Очень надеюсь на комментарии.

вторник, 12 августа 2014 г.

Lisp и Prolog

Lisp и Prolog

В следующем семестре, после Си и Си++, мы переходим к изучению Лиспа и Пролога. Это качественного другие языки, и учить их тяжело. Материалы выложены здесь: ссылка.

По Лиспу я советую попробовать книгу sicp.pdf (перевод классического "Structure and Interpretation of Computer Programs"). Примеры лучше пробовать сразу:
  • есть online среда: http://www.compileonline.com/execute_lisp_online.php
  • есть компилятор в материалах (файл Lisp/lispbox...zip); он работает "из коробки", достаточно распаковать архив и запустить exe-шник (под виндой лучше под пользователем с именем из английских букв, иначе могут быть проблемы).

Замечания, впечатления, трудности оставляйте в комментариях. По мере накопления я буду обновлять пост.

вторник, 14 января 2014 г.

Программа - это маленькое дерево

Введение

Пример написания простой программы на Лиспе, ищущей самое маленькое слово, с замечаниями по ходу процесса. Программа пишется как лабораторная работа.

Выполнять будем в среде LispBox, я буду приводить текст сессии вместо скриншота, для простоты.

UPD 2016-12-03: эта задача гораздо проще и красивее решается циклом loop, как показано здесь: джентельменский минимум к экзамену по Лиспу

суббота, 19 октября 2013 г.

Bookmarklet для ускорения заполнения СЕДО.

Уважаемые коллеги!

У нас на кафедре используется скриптозакладка (bookmarklet), которая позволяет в один щелчок сократить список аудиторий в выпадающем списке СЕДО до необходимого лично вам.

Для работы надо перетащить эту ссылку на вашу панель закладок в браузере. После нажатия на неё скрипт удалит лишние аудитории.

Физически ничего нигде не меняется, и если страницу обновить - всё восстановится в первозданном виде. Это разовая оптимизация без сторонних эффектов.

В этом видео показан процесс установки, настройки и использования букмарклета (занимает примерно 4 минуты), а также разобран механизм его действия и метод создания:


Удачи всем!
Кафедра ИВТ.

P.S. Оставляйте в комментариях номера корпуса и аудиторий, если у вас не получилось сделать самим - буду выкладывать готовые букмарклеты на этой же странице.

P.P.S. Для желающих провести аудит скрипта (или делать себе такие инструменты самостоятельно), ниже приведён краткий анализ этого скрипта помимо описанного в видео.