Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Samhain
689 / 564 / 186
Регистрация: 31.03.2013
Сообщений: 1,029
#1

Поиск суммарной площади пересечений окружностей - C++

09.04.2013, 22:07. Просмотров 673. Ответов 8
Метки нет (Все метки)

Пожалуйста помогите решить задачку:

Дано натуральное число N > 2 - количество кругов одинакового радиуса, центры которых последовательно расположены на одинаковом расстоянии на окружности того же радиуса. При этом пересекающиеся части кругов образуют своеобразный узор и закрашиваются разными цветами в зависимости от количества кругов, которым принадлежит эта часть. Вычислить суммарные площади всех пересекающихся частей одного цвета.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск суммарной площади пересечений окружностей (C++):

Площади окружностей - C++
Задание звучит так: "Запросить у пользователя массив из 5 радиусов окружностей. В другой массив записать площади этих окружностей. Вывести...

Определить на какой итерации площадь вписываемых окружностей составит менее 1% от площади исходной окружности - C++
Имеется окружность радиусом R, в нее вписываются 4 окружности радиусами R1=R/2, в свою очередь в них вписываются по 4 окружности радиусами...

Даны координаты центров n окружностей и их радиусы. Определить число пересекающихся окружностей - C++
Допуск к экзамену в субботу а не решено еще 5 заданий по С++ 1.Даны координаты центров n окружностей и их радиусы. Определить число...

Программа на поиск площади пересечения - C++
С клавиатуры задаются координаты диагональных точек двух прямоугольников. Найти площадь фигуры их пересечений. примечание: написать...

Графы. Найти систему нефтепроводов минимальной суммарной стоимости - C++
Подскажите с чего вообще начать? Нужно решить с помощью графа.

Нахождение К путей Минимальной суммарной длины Во взвешенном графе с неотрицательными весами(Алгоритм Йена). - C++
Нахождение К путей Минимальной суммарной длины Во взвешенном графе с неотрицательными весами(Алгоритм Йена). Вот тут у меня есть код...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
10.04.2013, 14:24 #2
Samhain, нарисуйте картинку и скажите ограничения
1
Samhain
689 / 564 / 186
Регистрация: 31.03.2013
Сообщений: 1,029
10.04.2013, 14:55  [ТС] #3
вот как я представляю себе эти пересечения... но проблема в том что количество кругов N>2... и соответственно количество и "цвет" пересечений будет зависеть от этого N... никак не могу понять с какой стороны подойти к той задаче
Поиск суммарной площади пересечений окружностей
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
10.04.2013, 15:06 #4
Samhain, Ну вы не до конца излагаете.С точки зрения идеального алгоритма задача сложная, но можно подойти как то с другого конца или извернуться. Для этого скажите все ограничения (какого радиуса могут быть круги, сколько max кругов какое ограничение по памяти и времени). Просто, существует много методов на теории вероятности, которые позволят вам легко и быстро подсчитать ответ (но с небольшой погрешностью).
0
Samhain
689 / 564 / 186
Регистрация: 31.03.2013
Сообщений: 1,029
10.04.2013, 15:49  [ТС] #5
а как можно "извернуться" не вводя ограничений?
предположим: количество кругов не больше 10, радиус 5.
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
10.04.2013, 18:45 #6
Samhain,1) Метод Монте-Карло http://ru.wikipedia.org/wiki/%D0%9C%...80%D0%BB%D0%BE
Бросаете много точек и смотрите отношение попавших в разные области точек Радиус небольшой + о времени выполнения вы не говорили => точность обеспечена
2) Точки можно не бросать случайным образом, а пройтись с каким-то шагом в данной области и так же "подсчитать" через их отношение S
3) Самое главное, т.к. N < 11 можно на компьютере пробрутить с высокой точностью все варианты
1
Samhain
689 / 564 / 186
Регистрация: 31.03.2013
Сообщений: 1,029
10.04.2013, 23:24  [ТС] #7
Спасибо!
но это все методы определения принадлежности точки некой области, а как построить эти самые области?
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
11.04.2013, 18:20 #8
Samhain, кидаете все эти окружности в массив, когда ставите точку, проверяете во сколько окружностей она попала...
1
Samhain
689 / 564 / 186
Регистрация: 31.03.2013
Сообщений: 1,029
11.04.2013, 23:03  [ТС] #9
Ternsip, Спасибо за идею, попробую ее реализовать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 23:03
Привет! Вот еще темы с ответами:

Найти среди прямых, заданных на плоскости, ту прямую, которая имеет наибольшее число пересечений с остальными - C++
На плоскости задано множество прямых. Найти среди них ту прямую, которая имеет наибольшее число пересечений с остальными. (рисунок...

На плоскости задано множество прямых. Найти количество пересечений этих прямых - C++
На плоскости задано множество прямых. Найти количество пересечений этих прямых плиз помогиите с решением!!

Найти ошибку в программе поиска пересечений окружностей - Pascal ABC
var r1, r2, x1, y1, x2, y2, c, rmin, rmax: real; begin write('Введите значения радиусов: '); readln(r1, r2); ...

В массиве из N чисел - радиусов окружностей, выделить те, для которых площади окружностей S >= 100 - Turbo Pascal
В массиве из N чисел( N и числа вводятся с клавиатуры и представляют собой r окружностей) выделить те,для которых площадь S&gt;=100 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.04.2013, 23:03
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru