Гаврилов Николай Игоревич
персональная веб-страница
|
|
Qt-приложения для научной визуализации. Здесь я изучал QT и делал первые попытки создать систему визуализации научных данных, что-то вроде ParaView. Одна из программ отображает изоповерхности скалярного поля, которое задано явно в виде функции в файле фрагментного шейдера frB.h (функция Equ). Программа визуализирует множество точек пространства, где поле приобретает значения из интервала, задаваемого вертикальными ползунками справа, т.е. на экран выводится множество точек (x,y,z), для которых a < f(x,y,z) < b. Причём это множество выводится только внутри ограничивающего параллелепипеда, углы которого можно выделять и перетаскивать мышью. Другая программа визуализирует векторное поле с помощью отображения движущихся частиц, вектор скорости движения которых задаёт поле.
Вычисление электростатического поля на графическом процессоре методом Монте-Карло. Программа визуализирует изоповерхности поля электрического потенциала. Это поле задаётся заряженными телами, беспорядочно разбросанными в пространстве. При нажатии на кнопку 'Анимировать' внутри ограничивающего бокса начинается генерация заряженных частиц, которые под действием поля движутся в направлении значения нулевого потенциала с целью найти изоповерхность. Таким образом, 'налипшие' на изоповерхность точки визуализируют это поверхность. Для вычисления поля в точке производится равномерная случайная выборка точек (равномерная по поверхности треугольников). Для нахождения точек изоповерхности вычисляется как поле потенциала P, так и поле напряжённости E. P - чтобы узнать, точка это изоповерхности, или нет. E вычисляется для определения направления движения частиц.
|
|
| © 2009-2024 Гаврилов Николай |