![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
Всем доброго времени суток.
Задача такая: найти площадь пересечения двух фигур, первая фигура - это Циссоида_Диокла, а вторая это прямоугольник. Я сделал программу, в которой могу рисовать эти фигуры и по разному их располагать, чтобы были разные случаи пересечения. Собственно вопрос, правильный ли я написал алгоритм для такого случая: ![]() Прохожу попиксельно и считаю пиксели от начала прямоугольника до кривой циссоиды, как только дохожу до циссоиды перехожу на следующую строчку. Код:
![]() UPD: От препода слышал мельком мол наверно придётся использовать библиотеку GDI(хотя может я его не так понял, но уточнить смогу только через полторы недели) или высчитывать вручную, поэтому вопрос можно ли для этой задачи использовать такую библиотеку?
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли Последний раз редактировалось Marsel737; 03.09.2010 в 23:03. |
![]() |
![]() |
![]() |
#2 |
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
![]()
Хм... Не уверен, что правильно понял вопрос.
Библиотеками, скорее всего пользоваться не придется, площадь подсчитать можно и с помощью метода Монте-Карло. Он настолько простой в реализации и понимании, что просто ппц. Ну а коли Демидовича не боишься, то задача твоя (вообще говоря) - не что иное, как вычисление определенного интеграла. Осталось только на листочке записать его. Не исключено получится как сумма нескольких более простых интегралов. А уж вычислить интеграл - не проблема.
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
InternetStranger, не подскажеш как можно метод Монте-Карло применить для моей задачи? Хотя бы для первого примера
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли |
![]() |
![]() |
![]() |
#4 |
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
![]()
Вкратце тебе нужно математически записать условие принадлежности данной точки (X,Y) заданной области (площадь которой вычисляем). Затем производим N "бросков" точки со случайными координатами (равномерно-распределенные координаты). И подсчитываем удачные броски, т.е. сколько раз было попадание в заштрихованную область.
Код:
Отношение числа удачных бросков к общему числу бросков - есть относительная частота появления события, и при больших N стремится к вероятности этого события. В случае равномерно-распределенных случ. величин вероятность совпадает с площадью соответствующей фигуры ) В данном случае подсчитывается площадь прямоугольного треугольника (синие точки - попавшие в заданную область). Монте-Карло.jpg
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. Последний раз редактировалось InternetStranger; 04.09.2010 в 18:58. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
Ого, подробный ответ. Спс за подсказку, буду разбираться
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отметить точку пересечения двух линий диаграммы | vAdiM_Kubski | Microsoft Office Excel | 0 | 05.05.2010 22:02 |
Площадь фигур | Вор | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 18.05.2009 22:44 |
Задача - Определить, какая из двух фигур – круг или квадрат – имеет большую площадь. | Incognitoal | Microsoft Office Excel | 7 | 05.03.2009 11:36 |
Pascal. Площадь пересечения кругов | TOSAgrk | Помощь студентам | 1 | 05.02.2009 04:23 |