Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_гр.220201_МихайловА.Д. варNo.20_ver_1.0.6.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.48 Mб
Скачать
  1. Определение попадания точки в четырехугольник

Рассмотрим математическое описание алгоритма определения попадания точки внутрь трапеции. Пусть даны координаты вершин трапеции abcd. Точка f с координатами (x,y) попала в трапецию abcd (рис.3):

Рис. 3 Определение попадания точки в трапецию

Известно, что координаты точек v и z можно рассчитать, тогда для определения попадания точки необходимо выполнение условий: точка должна лежать ниже прямых и , точка задается в прямоугольнике, описывающего трапецию. Математически запись этих условий выглядит следующим образом: точки , , имели одно значение в координате x, а координаты y задавались следующим способом и . Из рис. 3 ясно, что точка f окажется внутри трапеции, если значение ординаты ,будет одновременно меньше ординат точек и .

Известно, что формула прямой задается таким уравнением:

, тогда формула для вычисления ординаты примет такой вид . Так как точка z прямой ab, то обозначив b первой точкой и a второй точкой имеем уравнение для нахождения ординаты точки z: . Так как точка v прямой cd, то обозначив d первой точкой и c второй точкой имеем уравнение для нахождения ординаты точки: . Составим систему неравенств, при выполнении которых точка гарантированно попадет во внутрь трапеции:

где – координата х соответствующих точек, а – координата y соответствующих точек.

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

;

  1. Настольное приложение на базе erlang

  1. Создание приложения в среде ErlyBird

Erlang – функциональный язык программирования с динамической типизацией, предназначенный для создания распределенных вычислительных систем. Язык включает в себя средства порождения параллельных процессов и их коммуникации с помощью асинхронных сообщений. В Erlang отлично реализована работа с процессами. Отличительной особенностью языка является модель легковесных процессов (аналогично потокам в OpenMP), реализация поощряет создание большого количества таких процессов. Эти процессы изолированы друг от друга и не имеют общего состояния, между процессами можно установить связь и получить сообщение об их состоянии. Для взаимодействия процессов используется асинхронный обмен сообщениями. Процесс имеет свою очередь сообщений, а при её обработке используется сопоставление с образцом. Отсутствие необходимости блокировки доступа к состоянию процесса для синхронизации их взаимодействия упрощает разработку. Для работы с ресурсами, как правило, создаётся процесс-монитор.

По мнению разработчиков, важным преимуществом языка является принцип работы процесса «let it crash» («пускай падает»). Вместо перехвата ошибок и попытки продолжения работы, часть программы, содержащая рискованный код, выделяется в отдельный «процесс-смертник», который система завершает в случае возникновения ошибки, а процесс-родитель получает соответствующие сообщения и обрабатывает их. Это позволяет избавиться от многочисленных проверок.

Для разработки приложения был использован программный продукт ErlyBird 071214, работающий на базе интегрированной среды разработки NetBeans. Интегрированная среда ErlyBird является удобной для разработки как консольных приложений, так и графических приложений. Самыми простыми с точки зрения пользовательского интерфейса являются консольные приложения, где взаимодействие с пользователем осуществляется при помощи встроенного консольного редактора, работающего в текстовом режиме. ErlyBird предоставляет разработчику довольно удобный интерфейс для проектирования различных приложений непосредственно на языке Erlang. Обеспечивая оригинальные инструменты и инфраструктуру, упрощающие решение задач разработчикам, ErlyBird не только предоставляет эффективный инструментарий разработки, но и позволяет решать новые задачи при снижении общего времени построения решений. Главным в ErlyBird является user-friendly интерфейс, который обеспечивают удобную (насколько это возможно) работу. Кроме того, можно отметить свободное распространение данной среды разработки и мизерное дисковое пространство, которое она занимает в уже установленном виде.

Для компиляции программы использовался самый свежий на момент разработки приложения релиз компилятора для языка Erlang Erlang/OTP R15B02, датированный сентябрем 2012-го года.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]