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

Нахождение точки внутри прямоугольника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вызов методов класса из двойного указателя на экземпляр класса http://www.cyberforum.ru/cpp-beginners/thread1784119.html
Добрый день! Как можно вызвать метод класса по двойному указателя на его экземпляр? struct Point { void getPoint(){}; };
C++ Нерекурсивный симметричный обход бинарного дерева в глубину Дана задача, написать нерекурсивную программу, печатающую все вершины двоичного дерева, с использованием стека отложенных заданий. Само дерево находится в файле в формате m , g ], s , y] ]... http://www.cyberforum.ru/cpp-beginners/thread1784088.html
C++ Рекуррентные соотношения и динамическое программирование
Приветствую, Форумчане! Есть задача, которую нужно решить используя динамическое программирование. Формулировка задачи: Есть заяц, которому нужно пересечь реку, прыгая по островкам. На каждом...
C++ Редактирование DLL
Вот из-за этого ll-файла постоянно вылезает окошко с надписью mde by sst311212 и кнопкой ок. Может быть кто-нибудь найдет решение.
C++ Строковый калькулятор в два стека http://www.cyberforum.ru/cpp-beginners/thread1784048.html
У кого есть какие примеры реализации на плюсах, желательно с комментариями. Ибо перечитав море литературы, я так и не смог понять, как все-таки распарсить строку используя ОПЗ(ОПН)
C++ Сортировка за O(1) шагов Задача: Предположим, мы сравниваем имлементацию сортировку вставками и сортировку слияниями на одной машине. На входе имеем элементы с размером n, предположим, сортировка вставками имеет сложность... подробнее

Показать сообщение отдельно
no swear
127 / 107 / 35
Регистрация: 01.07.2016
Сообщений: 615
Завершенные тесты: 1
23.07.2016, 18:57  [ТС]
Цитата Сообщение от Андрей Валерьев Посмотреть сообщение
ну тогда самый простой способ для понимания). условимся что треугольник имеет три стороны( обозначим a,b,c). теперь для нахождения площади найдем длину каждой стороны a,b,c. формулу для длины стороны произвольного треугольника найдешь в сети(по координатам длина будет)
АВ=sqrt((x2-x1)^2+(y2-y1)^2)
Площадь для такого треугольника
S=sqrt( p*(p-a)*(p-b)*(p-c))
где p=(a+b+c)/2
так получим площадь треугольника с вершинами A,B,C и длиной сторон a,b,c!
Всё это, как писали выше, необходимо для разбиения на треугольники.
рисуем квадрат с вершинами A,B,C,D. Ставим исследуемую точку М в (допустим) центр прямоугольника. соедини каждую вершину с точкой М. получишь 4 треугольника.(ABM,BCM,CDM,ADM)/
как выше написано находим площади этих 4-х треугольников.
основная мысль такова- если точка в прямоугольнике то сумма площадей треуголок равна площади прямоугольника. а если точка вне него то сумма площадей ТР. будет больше площади прямоугольника)
Самый простой способ для понимания.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
double Dlina(int x1,int x2,int y1,int y2){  // функция выч длины по координатам двух точек
          double Dlin=sqrt(pow((x2-x1),2)+pow((y2-y1),2); // корень суммы квадратов разницы координат))
          return Dlin;
 
}
 
double PLOCHAD( double a, double b, double c){ // функц вычисления площади по длинам сторон треуг.
        double p, s;
        p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c))
   
  return s;
 
}
так наметки)). в основном теле какой то цикл создания массива с координатами. также в цикле для каждой пары точек вызываем функцию вычисления длины. затем площадей. и суммируем площади ТР. думаю площадь прямоугл. Вы напишите.

функция Длины
функция Площади

ввод координат от пользователя
вызов Д (8 раз)
вызов П (4 раза)
вычисление площади ПРям-ка
суммирование площадей 4-х ТР-ков
сравнение площадей
вывод на экран результата
СПАСИБО большое!!! Всё оказывается ещё проще чем я думал))
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.