Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Применение метода Монте-Карло для определения площади и объема евклидовых тел

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.6.2024

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ ТЕХНИКУМ

Курсовой проект по дисциплине

«Математические методы»

Тема: «Применение метода Монте-Карло для определения площади и объема евклидовых тел»



Выполнил: студент группы П-410

Марфин Антон Валерьевич

Руководитель проекта:

Преподаватель спец. Дисциплин

Кулаков В. С.

Москва 2013

Утверждаю

На заседании цикловой комиссии «ПО ВТ и АС»

«____»    2013 г

Председатель цикловой комиссии

Асланов Р.Э.

ЗАДАНИЕ

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

Студента 4-го курса группы П-410

Московского Технического  Техникума

Марфина Антона Валерьевича

Тема курсовой работы «Применение метода Монте-Карло для определения площади и объема евклидовых тел»

Курсовая работа на указанную тему выполняется студентом колледжа в следующем объеме:

Часть 1. Пояснительная записка:

Титульный лист

Задание на курсовую работу

Оглавление

Введение

Основная часть

1. Теоретические основы. «Нахождение площади методом Монте-Карло».

2. Практическая задача.

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

В задаче имеются следующие условия:

A,B,C,F,G,H,P,Q,R,D – коэффициенты общего уравнения поверхности второго порядка  Ax2 + By2 + Cz2 + 2Fyz + 2Gzx + 2Hxy + 2Px + 2Qy + 2Rz + D = 0, 

Хотя бы один из коэффициентов A,B,C,F,G,H должен быть отличен от нуля

Требуется найти:

Определить тип фигуры

Площадь
Объем

2.2 Решение практической  задачи.

3. Разработка программного обеспечения

 3.1 Описание входных данных:

Edit1.text = коэффициент A

Edit2.text = коэффициент B

Edit3.text = коэффициент C

Edit4.text = коэффициент F

Edit5.text = коэффициент G

Edit6.text = коэффициент H

Edit7.text = коэффициент P

Edit8.text = коэффициент Q

Edit9.text = коэффициент R

Edit10.text = коэффициент D

Edit11.text = количество точек

3.2 Описание выходных данных:

Label12.Caption = Площадь и Объем

Label13.Caption = Тип фигуры

3.3 Основные функции программы

 

4. Проведение исследования

4.1 Руководство пользователя.

Заключение.

  Список использованной литературы.

1.. Н.В. Ефимов. Э.Р. Розендорн Линейная алгебра и многомерная геометрия;

2. Гурман В. Е. Теория вероятности и математическая статистика;

4. Советов Б. А., Яковлев С. А. Моделирование систем;

5. П. С. Моденов Аналитическая геометрия;

6. Т. Л. Партыка, И.И. Попов, Математические методы.

Приложение:

1. Распечатка кода программного обеспечения.

2. Результаты решения практической задачи, полученные с помощью вычислительной программы.

Часть 2. Графическая часть:

1. Блок – схема программы.

Часть 3. Отзыв преподавателя:

                                                                                                                                 

Дата выдачи       «____»   2013 г

 Срок окончания «____»    2014 г                                                                                                                          Преподаватель___________В. С. Кулаков

Оглавление:

1. Введение

2. Вычисление площади и объема методом Монте-Карло

3. Поверхности второго порядка

  3.1 Общие сведения

  3.2  Классификация поверхностей второго порядка

4. Заключение

Ведение

Данная курсовая работа описывает применение метода Монте-карло для определения площади поверхностей второго порядка и объема тел, ограниченных этими поверхностями. А также ПО, реализующее этот метод.

Метод Монте-Карло

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

Применительно к вычислению площади и объема, метод работает следующим образом:
Вокруг фигуры (
F), площадь(S) и объем(V) которой мы хотим найти, описываем куб с известными S и V. Далее внутрь куба бросаем n точек по случайным координатам. Точки, попавшие внутрь объекта F, обозначаем как m. Для нахождения S и V, необходимо точки m разделить на общее число брошенных точек, а результат умножить на площадь и объем куба для нахождения соответственно  S и V фигуры F. Надо обратить внимание, что для простоты считается площадь не самой поверхности, а площадь соответствующей кривой второго порядка, вписанной в одну из граней куба, то есть при вычислении площади, например сферы, будет найдена площадь окружности, для параболоида – парабола, эллипсоида – эллипс и тд.   

Поверхности второго порядка

Общие сведения 

Поверхность второго порядка - геометрическое место точек, декартовы прямоугольные координаты которых удовлетворяют уравнению вида

a11х2 + а22у2 + a33z2+ 2a12xy + 2a23уz + 2a13xz + 2а14 x + 2а24у+2а34z +а44  = 0  (1)

в котором по крайней мере один из коэффициентов a11 , а22 , a33 , a12 , a23 , a13 отличен от нуля. Если это уравнение не удовлетворяется ни одной действительной точкой x=(x, y, z), то говорят, что оно определяет мнимую поверхность.

Уравнение (1) мы будем называть общим уравнением поверхности второго порядка.

Его (уравнение) можно разделить на квадратичную и линейную части следующим образом:


Если ввести обозначения:

то уравнение примет вид:

Классификация поверхностей второго порядка.

Каждая поверхность, определяемая уравнением второй степени с вещественными коэффициентами, принадлежит к одному из следующих семнадцати классов:

. Эллипсоиды вещественные.

. Эллипсоиды мнимые.

. Гиперболоиды однополостные.

. Гиперболоиды двуполостные,

. Конусы вещественные,

. Конусы мнимые,

. Параболоиды эллиптические,

. Параболоиды гиперболические.

. Цилиндры эллиптические вещественные.

. Цилиндры эллиптические мнимые.

. Цилиндры гиперболические.

. Цилиндры параболические.

. Поверхности, распадающиеся на пару пересекающихся вещественных плоскостей.

. Поверхности, распадающиеся на пару пересекающихся мнимых сопряженных плоскостей.

. Поверхности, распадающиеся на пару (различных) параллельных вещественных плоскостей,

. Поверхности, распадающиеся на пару (различных) параллельных мнимых сопряженных плоскостей.

. Поверхности, распадающиеся на пару совпадающих вещественных плоскостей.

4. Основные виды поверхностей второго порядка и их свойства

Рис. 1 Эллипсоид

Положительные числа а, b, c называются полуосями эллипса. Эллипсоид лежит внутри прямоугольного параллелепипеда -а ≤ xa, -bya, -czc.То есть эллипсоид является ограниченной поверхностью.

Теорема 1. Плоское сечение поверхности второго есть кривая порядка не выше двух.

Доказательство. Выберем систему координат, в которой уравнение плоскости: Z=0. Тогда уравнение сечения G(x, y) := F(x, y, 0) = 0.

Следствие 2. Непустое плоское сечение эллипсоида - эллипс или точка.

Доказательство. Это единственные не пустые ограниченные кривые 0, 1 или 2-ого порядка.


Мнимый эллипсоид не имеет ни одной вещественной точки:

Рис. 2 мнимый эллипсоид

(Изображён на рисунке 3) В сечении плоскостью z = 0 эллипс:

Называемый горловым. Однополостный гиперболоид обладает следующим замечательным свойством.

Определение 3. Назовём прямолинейной образующей поверхности прямую, целиком в ней содержащуюся. Как правило, это понятие не применяется к распадающимся поверхностям.

Рис. 3 однополостный гиперболоид


Доказательство. Указанные свойства аффинные, поэтому достаточно доказать теорему для гиперболоида :

2 + y2 -z2 = 1.

x2 - z2=1 - y2,

(x-z)(x+z) = (1-y)(1+z)

Отсюда сразу видим два семейства прямолинейных образующих:

Где λ и μ - произвольные вещественные числа, не обращающиеся в нуль одновременно.

Тогда:

Так что пары плоскостей в пересечении действительно дают прямую.

Пусть точка (x0, y0, z0) принадлежит гиперболоиду. Тогда, взяв для I λ = x0 + y0 и μ = 1 + y0, а для II - λ = x0+z0 и μ=1-y0, получим прямые, проходящие через данную точку. Поскольку одно из чисел 1 - y0 или 1 + y0 отлично от 0, то пара (λ, μ) определенна по точке (x0, y0, z0) однозначно (с точностью до множителя) для каждого семейства.

Итак, через каждую точку проходит ровно одна прямая каждого семейства.

Покажем, что других образующих нет. Допустим, что образующая параллельна плоскости z = 0, то есть содержится в плоскости z = z0. Тогда она должна содержатся в окружности x2 + y2 = 1 + z²0 что невозможно. Итак, всякая образующая пересекает z=0, а значит, и горловой эллипс (окружность). В силу вращательной симметрии достаточно исследовать одну его точку, например, (1, 0, 0). Пусть через нее проходит образующая с некоторым направляющим вектором (α, β, γ):

=1+αt

y=βt

z=γt

так что уравнение (результат подстановки в уравнение гиперболоида)

(α222)t2+2αt=0

Должно иметь решением любое t, откуда

Значит, направляющий вектор (с точностью до ненулевого множителя) равен (0,1,±1), то есть имеются две возможности, а мы их уже нашли - это прямая первого семейства и прямая второго. Итак, других образующих нет.

Из аналогичного соображения получаем, что прямые одного семейства не могут пересекаться. Пусть они параллельны одному вектору (α, β, γ). Значит, он параллелен каждой из четырёх плоскостей, фигурирующих в записи двух прямых семейства. Тогда он является ненулевым решением системы четырёх линейных уравнений с матрицей:


Аналогично в обратной ситуации. Значит, можно считать, что μ=μ'=1, λ и λ' - ненулевые. Тогда для условия rk < 3 необходимо8

=

что в данной ситуации возможно только если λ = λ' и прямые совпадают. Итак, две прямые одного семейства скрещиваются.

Семейства не пересекаются, так как отображение (x, y, z) → (-x, -y, -z) переводит прямые одного семейства в прямые другого, параллельные своим прообразам. Действительно, если бы прямая принадлежала обоим семействам, то ее образ - так же, и тем самым, мы имели две параллельные прямые из одного семейства.

Теперь рассмотрим две прямые l1 и l2 из разных семейств. Пусть π - плоскость, проходящая через l1 и некоторую точку Ρ l2 P¢ l1 поэтому соответствующее плоское сечение гиперболоида, являясь по теореме 1 кривой порядка не старше 2, должно быть парой параллельных или пересекающихся прямых. Одна из них - l1 а другая - некоторая прямолинейная образующая lP. Она не совпадает и не скрещивается с l1, поэтому, по доказанному, не может принадлежать первому семейству, а значит, принадлежит второму, и в силу единственности прямой второго семейства, проходящей через Р, совпадает с l2.


(изображён на рисунке 4)

Рис. 4 двуполостный гиперболоид

Плоскость z = 0 не пересекает гиперболоид и разделяет его на две части, называемые полостями.

Теорема 4. Двуполостный гиперболоид не имеет прямолинейных образующих, Доказательство. Прямолинейная образующая не может пересекать плоскость z=0. Значит, она лежит в плоскости z = z0.Но соответствующее плоское сечение

ограниченно (эллипс, точка или Ǿ) и не может содержать прямую.

5.).

(изображён на рисунке 5а.).

Рис. 5 Конус второго порядка

Заметим, что уравнение однородно (второго порядка); F(λx, λy, λz) = λ,2F(x, y, z), и таким образом, любая прямая, содержащая О и некоторую другую точку конуса, является прямолинейной образующей.

Определение 5.Пусть Г - произвольная кривая, лежащая в плоскости π, а точка О не принадлежит π. Конической поверхностью над Г с центром в О называется объединение всех прямых вида ОХ, ХГ (рисунок 5 б). Прямые ОХ называются образующими, а кривая Г - направляющей конической поверхности

Мнимый конус не имеет ни одной вещественной точки (рисунок 6)

Рис. 6 мнимый конус

Теорема 6. Коническая поверхность над эллипсом является конусом второго порядка.

Доказательство. Выберем такую систему координат с центром в О, что плоскость π задается уравнением z = h ≠ 0 (рисунок 5 в.). Если мы выберем направления осей Ох и Оу параллельно главным осям эллипса Г, то уравнение эллипса в плоскости π примет вид:

=(x, y) =a11(x-x0)2+a22(y-y0)2-1=0

где 0<а1122. Тогда уравнение конической поверхности над ним:

Ф(x, y, z) = z2F(, )=0

Действительно, точка (x, y, z), z ≠ 0, принадлежит поверхности тогда и только тогда, когда точка ((x/z)*h, (y/z)h, h) принадлежит кривой, то есть :

(,) =0.

Но при сделанном предположении z ≠ 0 данное уравнение равносильно выводимому. Осталось доказать, что при z = 0 выводимое уравнение определенно и его множество решений совпадает с О. Определённость следует из того, что во втором сомножителе степень (1 / z) равна 2 и при умножении пропадает.

После умножения уравнение превращается (при z = 0) в h2q(x, y)=0. Поскольку асимптотических направлений γ эллипса нет, то x = y = 0.

Итак,

       

После замены x' = x - x0, y' = y - y0, z' = z получаем

Ф(x', y', z') = a11h2(x')2+a22h2(y')2-(z')2=0

То есть конус.

(изображён на рисунке 7 а.).

Теорема 7. Эллиптический параболоид не имеет прямолинейных образующих.

Доказательство. Дословно как с двуполостным гиперболоидом.

(изображён на рисунке 7 б.).

Определение 8. Ненулевой вектор (α, β, γ) задаёт асимптотические направление для поверхности F = 0, если он обнуляет квадратичную форму уравнения:

q(α, β, γ)=a11α2+a22β2+a33γ2+2a12αβ+2a13αγ+2α23βγ=0

Асимптотические направления не зависят от выбора системы координат.

Теорема 9. прямолинейные образующие любой поверхности имеют асимптотическое направление.

Доказательство. Пусть

-прямолинейная образующая. Подставив в уравнение F=0, получим

F2t2+2F1t+F0=0 для любого t. Значит, F2 = q(α, β, γ) = 0

Теорема 10. Гиперболический параболоид имеет два семейства образующих, проходящих через каждую точку. Образующие одного семейства попарно скрещиваются и параллельны одной плоскости, разных семейств пересекаются.

Доказательство. Асимптотические направления (α,β, γ) гиперболического

Параболоида находятся из уравнения , т.е. лежат в плоскостях:

π1 : , π1 : .

С учётом уравнения параболоида

Это означает, что имеются два семейства прямолинейных образующих

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

С некоторой константой k мы имеем

откуда из уравнения поверхности получаем второе уравнение(1). Таким образом, других Образующих нет.

Через каждую точку параболоида проходит ровно по одной образующей каждого семейства, так как определяется однозначно.

Заметим, что никакая вертикальная прямая не может быть прямолинейной образующей. Действительно, в этом случае x = const, откуда и z = const.

Два семейства не пересекаются. Действительно, предположим, что общая прямая имеет направляющий вектор

Тогда он должен удовлетворять однородной части уравнений обеих систем:

откуда α = β = 0 и прямая вертикальна, что невозможно.

Образующие одного семейства не могут пересекаться, так как это противоречило бы единственности. Они не могут быть параллельны, так как их направляющие вектора - (,,k) с различными k. Значит, они скрещиваются, причем (по определению) параллельны фиксированной плоскости.

Пусть теперь l1 и l2 - образующие из разных семейств. Покажем, что они пересекаются. Рассмотрим плоское сечение параболоида, проходящее через l1 и Р l2Р¢ l1. Это кривая, порядка не выше двух, значит состоящая из двух прямых l2 и l. Предположим ll2 причем они пересекаются (в точке Р). Значит, l не принадлежит второму семейству, то есть принадлежит первому. Но тогда она должна скрещиваться с l1 и не может лежать с ней в одной плоскости. Значит, l = l2. Допустим, l1l2. Тогда координаты (α, β, γ) удовлетворяют уравнениям:

откуда α = β = 0 и образующая вертикальна, что невозможно.

Вернёмся к гиперболоидам. Их асимптотический конус определяется уравнением:

Из уравнения однополостного гиперболоида имеем для положительных z:

а из уравнения (21) -

откуда:

Аналогично для двуполостного.

Предложение 11. Асимптотические направления (α, β, γ) однополостного гиперболоида совпадают с направлениями образующих его асимптотического конуса и являются решениями (21).

Для работы программы используется менее обширная классификация. Она определяет тип поверхности с помощью инвариантов.

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

a11х2 + а22у2 + a33z2 + а44 = 0         (2)

Так как инвариант I3 для центральной поверхности отличен от ноля и его значение, вычисленное для уравнения (2) , равно a11 • а22 • a33 , то коэффициенты a11 ,а22 , a33 удовлетворяют условию :

a11=/=0 ,а22=/=0 , a33=/=0  

Возможны следующие случаи :

  1.  Коэффициенты a11 ,а22 , a33  одного знака, а коэффициент а44 отличен от нуля. В этом случае поверхность S называется эллипсоидом

  1.  Из четырех коэффициентов a11 ,а22 , a33 , а44 два одного знака, а два других— противоположного. В этом случае поверхность S называется однополостным гиперболоидом.

  1.  Знак одного из первых трех коэффициентов a11 ,а22 , a33 , а44 противоположен знаку остальных коэффициентов. В этом случае поверхность S называется двуполостным гиперболоидом.


Основные функции программы

Определяет тип фигуры

Вычисляет площадь
Вычисляет объем

Руководство пользователя

  1.  Подставить коэффициенты в формулу. По умолчанию все они равны 1.   Красным помечена формула кривой второго порядка, для расчета ее площади введите нули в остальные поля формулы.
  2.  Ввести желаемое количество точек в поле «кол-во точек». По умолчанию их 10 000. Влияет на точность
  3.  Нажать кнопку «Расчет» для нахождения площади и объема

Заключение

В этом курсовом проекте описано ПО реализующие метод Монте-Карло для нахождения площади и объема тел, ограниченных поверхностями второго порядка, а также сами поверхности и их классификация.

Листинг кода программы

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, math;

type

 TForm1 = class(TForm)

   Edit1: TEdit;

   Label1: TLabel;

   Edit2: TEdit;

   Label2: TLabel;

   Edit3: TEdit;

   Label3: TLabel;

   Edit4: TEdit;

   Edit5: TEdit;

   Edit6: TEdit;

   Edit7: TEdit;

   Edit8: TEdit;

   Edit9: TEdit;

   Edit10: TEdit;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   Label9: TLabel;

   Label10: TLabel;

   Button1: TButton;

   Label11: TLabel;

   Label12: TLabel;

   Label13: TLabel;

   Edit11: TEdit;

   Label14: TLabel;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

Var

a,b,c,d,e,f,g,h,p,q,m,x,y,z,s,v,fm: double;

 i,n:integer;

begin

//заполнения коэффициентов формулы

 a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

c:=StrToFloat(edit3.Text);

d:=StrToFloat(edit4.Text);

e:=StrToFloat(edit5.Text);

f:=StrToFloat(edit6.Text);  

g:=StrToFloat(edit7.Text);

h:=StrToFloat(edit8.Text);

p:=StrToFloat(edit9.Text);

q:=StrToFloat(edit10.Text);

n:=StrToInt(Edit11.Text);

randomize;

m:=0;

//определние типа поверхности

if ((a>0)and(b>0)and(c>0)and(q<>0))or((a<0)and(b<0)and(c<0)and(q<>0)) then

  label13.Caption:='эллипсоид';

if ((a>0)and(b>0)and(c>0)and(q>0))or((a<0)and(b<0)and(c<0)and(q<0)) then

  label13.Caption:='минимый эллипсоид';

if ((a>0)and(b>0)and(c<0)and(q<0))or((a<0)and(b<0)and(c>0)and(q>0))or

   ((a<0)and(b>0)and(c<0)and(q>0))or((a>0)and(b<0)and(c>0)and(q<0)) then

  label13.Caption:='однополостный гиперболоид';

if ((a>0)and(b>0)and(c>0)and(q<0))or((a<0)and(b<0)and(c<0)and(q>0))or

   ((a<0)and(b>0)and(c>0)and(q>0))or((a>0)and(b>0)and(c>0)and(q<0)) then

  label13.Caption:='двуполостный гиперболоид';

if q=0 then

  label13.Caption:='конус';

if (a*b-sqr(f))>0 then

  begin

   label13.Caption:='точка';

   Label12.Caption:=('Площадь =0 Объем =0');

  end

//реализация метода Монте-Карло

//для поверхности второго порядка, при условии, что она не точка

 else

 begin

  for i:=1 to n do

    Begin

     x:=random(2000)/2000-1;

     y:=random(2000)/2000-1;

     z:=random(2000)/2000-1;

     fm:=a*sqr(x)-b*sqr(y)+c*sqr(z)-2*d*y*z+2*e*x*z+2*f*x*y+2*g*x+2*h*y+2*p*z+q;

     if fm<0 then m:=m+1;

    end;

  s:=(m/n)*40*40;

  v:=(m/n)*40*40*40;

  Label12.Caption:=('Площадь ='+FloatToStr(s)+' '+'Объем ='+FloatToStr(v));

 end;

end;

end

Блок-схема




1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Философия ~ один из важнейших курсов в системе подготовки бакалавров
2. Введение При всем своем масштабном потенциале современная российская экономика может эффективно развив
3. Реферат Курение, как социальная проблема в обществе
4. нормальной длины составляет Укажите правильный ответ- В57 с В912 с В34 с В 1518 Вне нормируется
5. Оценка актива, приносящего стабильную прибыль
6. тематичних наук Донецьк ~ Дисертацією є рукопис Робота виконана на кафедрі фі
7. ЛЕКЦИЯ 4 ПЛАН Основные классы рецепторов клеточной поверхности ~ топологическая классификация Рец
8. О прокуратуре включает разные направления прокурорского надзора
9. Owned public service brodcster the BBC British Brodcsting Corportion
10. Лабораторная работа по обработке массива, типизированного файла и динамического линейного списка
11. евши никогда костей не разбирает
12. Використання додаткового матеріалу на уроках природознавства
13. Геоинформационные проекты Барнаула
14. Сожги меня. Пусть догорают буквы страницы.html
15.  151 Так как углы а со и являются углами Эйлера для связи их с направляющими косинусами выполним преобр
16. Индивидуальнодифференцированный подход в физическом воспитании дошкольников Аннотация Актуа
17. В поисках радости
18. а Место смерти Париж Франция Род деятельности поэт прозаик Иван Алексеевич Бунин ро
19. Форс-мажорные обстоятельства- никто от них не застрахован
20. Практикум Создание webстраницы Рассмотрим основные приемы создания Webстраниц на языке HTML такие как вво