Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2010, 22:49   #1
Studentka_:)
 
Регистрация: 16.03.2010
Сообщений: 3
По умолчанию прямоугольники C++

Здравствуйте!
У меня такая вот проблема...
Нужно написать функцию, которая находит площадь поверхности покрытую точно с N прямоугольников.

Есть struct "прямоугольник", каждый прямоугольник задается своими координатами (0 ... 150).
Есть struct "множество прямоугольников", т.е. есть массив содержащий эти прямоугольники.

Есть ли идея как это можно написать? Подскажите, пожалуйста! (Я пробовала через формулу включений-исключений, но не думаю, что это лучший вариант... слишком трудно учитывать все их пересечения )

Заранее спасибо!
Studentka_:) вне форума Ответить с цитированием
Старый 16.03.2010, 22:55   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

dist - ф-я расстояния между 2 точками

S += ( dist(a,b)*dist(a,c ) )
0...N

Последний раз редактировалось NiCola999; 16.03.2010 в 22:58.
NiCola999 вне форума Ответить с цитированием
Старый 16.03.2010, 23:10   #3
Studentka_:)
 
Регистрация: 16.03.2010
Сообщений: 3
По умолчанию

И что мне делать с dist ?

У меня есть некоторое множество прямоугольников (стороны параллельны осям координат), которые могут пересекаться. Нужно найти площадь поверхности, покрытую, напр, 4 прямоугольниками.
Studentka_:) вне форума Ответить с цитированием
Старый 17.03.2010, 09:23   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
которые могут пересекаться.
простой геометрический способ
1.берем большой прямоугольник в который попадают ВСЕ наши прямоугольники.
2. проходим по ВСЕМ точкам этого прямоугольника
если точка входит в какой-то маленький, то SQRT:=SQRT+1;
3. выводим ответ SQRT
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 17.03.2010, 10:13   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

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

Последний раз редактировалось NiCola999; 17.03.2010 в 10:27.
NiCola999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц