Триангуляция неявно заданных поверхностей презентация

ННГУ, ВМК, 2005 г Тестирование GridBean API План презентации О чем поговорим? Постановка задачи Алгоритм решения Реализация Демонстрация Выводы

Слайд 1ННГУ, ВМК, 2005 г
Тестирование GridBean API
Триангуляция неявно заданных поверхностей
Алехин Александр
Боголепов Денис
Нижегородский

государственный университет им.Н.И.Лобачевского
Факультет Вычислительной математики и кибернетики
Лаборатория «Информационные технологии»


Слайд 2ННГУ, ВМК, 2005 г
Тестирование GridBean API
План презентации
О чем поговорим?

Постановка задачи

Алгоритм решения
Реализация
Демонстрация
Выводы

Слайд 3ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи
Определение
Неявно заданной поверхностью называется множество

точек трехмерного пространства, отвечающих уравнению
F(x, y, z) = C,
где C есть некоторое постоянное число


Примеры
x2 + y2 + z2 = 9
x2 + y2 - z2 = 0
sin(x) - cos(y) - cos(z) = 0


Слайд 4ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи
Постановка задачи
Постановка
Требуется построить поверхность, отвечающую

уравнению
F(x, y, z) = C,
где C есть некоторое постоянное число.
Уравнение предполагается заданным в прямоугольной системе координат. Задаются границы параллелепипеда, в котором строится поверхность, а также строка, содержащая уравнение. Результатом работы программы является изображение поверхности, выполненное средствами какой-либо графической библиотеки.


Слайд 5ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи
Постановка задачи
Где мы встречаемся с

этим
Трехмерные поверхности часто встречаются в медицине. Так что алгоритм MC часто используется для представления различных медицинских данных

Различные разделы математики и физики, а также других точных наук, где изучается распределение некоторой характеристики процесса в трехмерном пространстве

Топография, трехмерное представление рельефа местности, моделирование


Слайд 6ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи


Слайд 7ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи


Слайд 8ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи
Алгоритм марширующих кубов
Алгоритм MC
Область разбивается

на кубики. Вычисляются значения функции в каждой вершине вокселя и сравнивается с нулем.
Если на концах ребра функция имеет различные знаки, то поверхность пересекает это ребро. Просмотрев все ребра каждого вокселя, определить способ аппроксимации

Слайд 9ННГУ, ВМК, 2005 г
Тестирование GridBean API
Постановка задачи
Алгоритм марширующих кубов
Примеры


Слайд 10ННГУ, ВМК, 2005 г
Тестирование GridBean API
Алгоритм марширующих кубов
12
20
50
12a
20a


Слайд 11ННГУ, ВМК, 2005 г
Тестирование GridBean API
Реализация алгоритма


Слайд 12ННГУ, ВМК, 2005 г
Тестирование GridBean API
Описание задания
Описание Grid-задания

public void setupJobDefinition(Job job)

throws GridBeanException;

Заполнение полей задания

GPEJob gpeJob = (GPEJob) job;
gpeJob.setApplicationName(APPLICATION_NAME);
gpeJob.setApplicationVersion(APPLICATION_VERSION);
gpeJob.setWorkingDirectory(GPEConstants.JobManagement.TEMPORARY_DIR_NAME);
gpeJob.addField(FUNCTION_FIELD,
((String)get(FUNCTION)).replace('\n',' '));
gpeJob.addField(TARGET_FIELD, ((AbstractFile) get(TARGET)).getTargetSystemFile());

Слайд 13ННГУ, ВМК, 2005 г
Тестирование GridBean API
Реализация алгоритма
Спецификация выходных параметров

SurfaceBuilder генерирует два

файла. Первый файл содержит грубую модель поверхности, второй точную и требующую больше времени на прорисовку

public GridBeanParameter[] getOutputParameters()
{
GPEFile[] files = getFiles();
GridBeanParameter[] parameters = new GridBeanParameter[files.length];
for (int i = 0; i < files.length; i++)
{
QName paramName = QNameUtil.derive(TARGET, "file" + i);
parameters[i] = new GridBeanParameter(paramName,
GridBeanParameterType.GPE_FILE);
set(paramName, files[i]);
}
return parameters;
}

Слайд 14ННГУ, ВМК, 2005 г
Тестирование GridBean API
Построение пользовательского интерфейса
При создании элементов управления

на панели ввода или вывода необходимо:

связать элемент управления с некоторым именем

JTextField funcTextField = new JTextField();
add(new JLabel("Function:"), LayoutTools.makegbc(0, 1, 1, 1,false));
add(funcTextField, LayoutTools.makegbc(1, 1, 5, 100, true));
linkTextField(GraphGridBean.FUNCTION, funcTextField);

задать процедуру валидации введенного значения

setValueValidator(GraphGridBean.FUNCTION,
NotNullValidator.getInstance());

задать процедуру преобразования значения, введенного в элемент управления, во внутреннее представление

setValueTranslator(GraphGridBean.FUNCTION,
StringValueTranslator.getInstance());
задать описание элемента управления

setDescription(GraphGridBean.FUNCTION, "Function");

Слайд 15ННГУ, ВМК, 2005 г
Тестирование GridBean API
Выводы
Преимущества GridBean
Удобство использования. Пользователь работает

с «одной» программой, а не с двумя отдельными
Кроссплатформенность. Не требуется даже перекомпиляции исходных текстов программы, в отличие от программ, написанных на Си/Си++.
Доступ к программе из любой точки мира. Требуется лишь загрузить компактный GridBean
Единые принципы работы с различными GridBean’ами
Приложение работает в распределенной среде, получая, таким образом, доступ к почти неограниченным вычислительным ресурсам

Слайд 16ННГУ, ВМК, 2005 г
Тестирование GridBean API
Выводы
Недостатки GridBeans
Высокие требования к оборудованию.

В первую очередь к объему ОП (в нашем случае разница почти двукратная)
Трудно проектировать пользовательский интерфейс. Крайне сложно программировать пользовательский интерфейс с большим числом компонент и динамическим поведением. Легко ошибиться. Мало стандартных компонент.
Пока это удаленный запуск программы и получение результатов ее работы, но не приложение, работающее в Grid – среде
Недостатки GPE
При переходе от одной ОС к другой требуется переписывать конфигурационные файлы. Что проще: перекомпилировать программу или переписать файлы?

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика