Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 28.05.2017
Сообщений: 17

Интересная геометрическая задача

05.09.2017, 23:10. Показов 1336. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! У меня возникла проблема с интересным заданием. Задача звучит так : даны 2 квадрата, известны координаты их вершин (в исходнике их нужно вычислять, но с этим проблем не возникло), всего 8 точек - 4 для одного квадрата, 4 для другого. Изначально неизвестно их расположение ни друг относительно друга, ни относительно осей. Необходимо найти площадь их пересечения с точностью до 0,1 %. Помогите, может быть кто-нибудь знает как решить эту задачу? Скиньте код или хотя бы опишите примерный алгоритм. Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.09.2017, 23:10
Ответы с готовыми решениями:

Интересная задача с Timus и непонятная ошибка
Подскажите пожалуйста что-нибудь. На сайте acm.timus.ru при проверке задачи вылетает ошибка Runtime error. И вся её хитрость, что он не...

Геометрическая задача
Дан квадрат (длина стороны и координаты левого верхнего угла) и треугольник (координаты вершин). Определить, находится ли треугольник...

Геометрическая задача
Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего и правого ...

3
 Аватар для Fleder
263 / 224 / 108
Регистрация: 09.12.2015
Сообщений: 652
05.09.2017, 23:35
C#
1
2
3
4
         RectangleF rect1 = new RectangleF(0, 0, 10, 10); //первый квадрат
         RectangleF rect2 = new RectangleF(5, 5, 5, 5); //второй квадрат
         RectangleF rect3 = RectangleF.Intersect(rect1, rect2); //это их пересечение
         double area = rect3.Height * rect3.Width; //это площадь их пересечения
0
1 / 1 / 0
Регистрация: 28.05.2017
Сообщений: 17
06.09.2017, 00:01  [ТС]
Видите ли, вся проблема в том, что пересечение этих квадратов не обязательно является прямоугольником. Например, квадраты могут быть расположены под углом друг к другу, и тогда их пересечением может быть, например, 5 угольник. В этом-то и заключается основная проблема, что расположение квадратов друг относительно друга изначально неизвестно
0
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
06.09.2017, 00:32
Копипаста из интернетов:
Очевидно, что пересечение двух выпуклых многоугольников также является выпуклым многоугольником. Какие точки будут его вершинами? Во-первых, все точки пересечения двух многоугольников. Чтобы их найти, нужно пересечь все стороны одного многоугольника со всеми сторонами другого. Во-вторых, все вершины первого многоугольника, принадлежащие второму, и наоборот, все вершины второго, принадлежащие первому. Определив все вершины пересечения, упорядочим их, отсортировав по полярному углу относительно центра масс. Далее считаем площадь получившегося многоугольника.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.09.2017, 00:32
Помогаю со студенческими работами здесь

Геометрическая задача
Здравствуйте, помогите решить задачку на геометрическую вероятность. Какова вероятность, что для 3х произвольных чисел, по модулю не...

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

Геометрическая задача на С
Из заданного множества точек на плоскости выбрать три разные точки A, B и C так, чтобы внутри треугольника ABC содержалось максимальное...

геометрическая задача
Два вектора заданы координатами своих концов (ввести с клавиатуры). Вычислить их скалярное произведение. Помогите( в Паскале не шарю...

Геометрическая задача
Ребят, помогите решить задачу. И можно, пожалуйста, поподробней объяснить решение :). 1.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru