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

Определить принадлежность точки с координатами (x, y) закрашенной области - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пересечение двух окружностей http://www.cyberforum.ru/cpp-beginners/thread861522.html
Есть такая задачка. Вам даны две окружности в плоскости. Найдите все их различные точки пересечения. В силу большой требуемой точности рекомендуется использовать более чем 8-байтные...
C++ Манипуляторы Ребята, проблема с манипуляторами.. Вместо того чтобы были пустые места, программа выдает нули(( void view(HANDLE hrFile) { Miami_Heat Club; int num = 0; DWORD dwCount; ... http://www.cyberforum.ru/cpp-beginners/thread861513.html
C++ Удаление слов из текста
Добрый день! есть задачка: Определить самое короткое слово в каждом предложении. Удалить эти слова из текста.Для обработки строк следует использовать функции стандартной библиотеки...
C++ ввод пути к файлу с консоли
подскажите пожалуйста, вот как отрыть файл для работы с ним я знаю, но покрайней мере я делаю так FILE *f; f=fopen("input.txt","r"); а можно как что бы указывать путь к файлу с консоли, что...
C++ Среднее геометрическое С++ http://www.cyberforum.ru/cpp-beginners/thread861478.html
Вычислить среднее геометрическое для каждого элемента одномерного массива по следующему правилу : {b}_{i}=\sqrt{a(i)*a(2)*...*a(i)} \sqrt{a(i)*a(2)*...*a(i)} Использовать функцию вычисления...
C++ Двуязычие приложения Есть собственно С++ код работает все в консоли Не пойму как сделать что бы пользователь мог выбрать на каком языке будет отображаться текст программы на русском или на английском.. Выбор между... подробнее

Показать сообщение отдельно
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
11.05.2013, 16:32
kolonello, если честно, я очень сомневаюсь, что ваш метод как то работает

Добавлено через 1 минуту
kolonello, Самый простой способ такой: соединяешь точку с вершинами треугольника, считаешт площадь малеьких треугольников, если сумма площадей равна площади большего трегольника, то точка внутри, иначе снаружи. Площадь, разумеется, лучше считать через определитель. Вот исходник (для простоты считается удвоенная площадь)

Добавлено через 4 минуты
kolonello,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
double square(double x1, double y1, double x2, double y2, double x3, double y3) {
    return abs(x2*y3-x3*y2-x1*y3+x3*y1+x1*y2-x2*y1);
}
 
int main(int argc, char* argv[]) {
    double x, y, x1, y1, x2, y2, x3, y3; // x,y = вершины точки, остальное - вершины треугольника
    x1 = 1; y1 = 4;
    x2 = -7; y2 = -2;
    x3 = 7; y3 = -5;
    cin >> x >> y;
    double s = square(x, y, x2, y2, x3, y3) + square(x1, y1, x, y, x3, y3) + square(x1, y1, x2, y2, x, y);
    if (abs(square(x1, y1, x2, y2, x3, y3) - s) <= 1e-9) {
        cout << "YES";
    } else cout << "NO";
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru