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

Определить, является ли фигура прямоугольником - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Dew Drop
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 6
19.04.2012, 11:09     Определить, является ли фигура прямоугольником #1
У меня имеется класс Rectangle, где имеется 4 координаты вершин (декартовы) в области первого квадранта от 0.0 до 20.0 ( по y и по х). Определить является ли фигура прямоугольником?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2012, 11:09     Определить, является ли фигура прямоугольником
Посмотрите здесь:

C++ Является ли фигура ромбом.
Определить, может ли белая фигура пойти на поле C++
Определить, является ли текст является записью четного числа в семеричной системе C++
C++ Является ли четырехугольник, заданный координатами вершин, прямоугольником
C++ Выяснить, является ли данный четырехугольник параллелограммом, трапецией, прямоугольником, ни тем, ни другим
Является ли четырехугольник прямоугольником C++
даны ребра треугольника является ли треугольник прямоугольником с++ C++
C++ Определить является ли четырехугольник прямоугольником

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rotfeder
35 / 0 / 1
Регистрация: 18.04.2012
Сообщений: 3
19.04.2012, 12:03     Определить, является ли фигура прямоугольником #2
Четырехугольник - прямоугольный, если у него два противоположных угла - прямые.
Прямой ли угол определяем по скалярному произведению векторов.
Если точки прямоугольника 0-1-2-3, то
abs((x[2]-x[1])*(x[0]-x[1]) + (y[2]-y[1])*(y[0]-y[1])) < eps
abs((x[2]-x[3])*(x[0]-x[3]) + (y[2]-y[3])*(y[0]-y[3])) < eps

Плюс надо проверить прямоугольник на вырожденность:
никакие три точки не лежат на одной прямой - можно через векторное произведение,
никакие 2 точки не совпадают
Yandex
Объявления
19.04.2012, 12:03     Определить, является ли фигура прямоугольником
Ответ Создать тему
Опции темы

Текущее время: 19:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru