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

Определить, принадлежит ли треугольник началу координат или нет - C++

Восстановить пароль Регистрация
 
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
06.12.2012, 17:53     Определить, принадлежит ли треугольник началу координат или нет #1
Нужно дописать условие в оператор If такое чтобы, найти принадлежит ли треугольник началу координат или нет. то есть внутренности треугольника. заранее спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
#include <clocale>
int main ()
{
    setlocale(LC_ALL, "rus");
    double x1,x2,x3,y1,y2,y3,x,y;
    cout<<"\nВведите x1,x2,x3,y1,y2,y3: разделяя их нажатием клавиши Enter" <<endl;
    cout<<"x1=";cin>>x1;
    cout<<"y1=";cin>>y1;
    cout<<"x2=";cin>>x2;
    cout<<"y2=";cin>>y2;
    cout<<"x3=";cin>>x3;
    cout<<"y3=";cin>>y3;
    x=((x2*y-x1*y-x2*y1+x1*y2)/(y2-y1)); //прямая
    y=((x*y2-x1*y1-x*y1+x2*y1)/(x2-y1)); //прямая
    if ()
    cout<<"Принадлежит началу координат. Потому что хотя бы одна пара Xn и Yn равны нулю" <<endl;
    else
    cout<<"Не принадлежит началу координат. Потому что не одна пара Xn и Yn не равны нулю" <<endl;
    cout<<"\n";
    system ("Pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 17:53     Определить, принадлежит ли треугольник началу координат или нет
Посмотрите здесь:

C++ Определить какая из точек ближе всего лежит к началу координат
C++ какая из точек расположена ближе к началу координат (if)
C++ Две точки заданы своими координатами на плоскости.определить,какая из них находится ближе к началу координат
C++ Принадлежит ли точка к четверти круга или нет
C++ Построить график и при изменении координат показывать принадлежит или нет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 18:00     Определить, принадлежит ли треугольник началу координат или нет #2
Ты хоть что-то у себя понимаешь??? - Что такое прямая. Можно поподробней.
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
06.12.2012, 18:03  [ТС]     Определить, принадлежит ли треугольник началу координат или нет #3
что тебе не понятно??
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 18:05     Определить, принадлежит ли треугольник началу координат или нет #4
x=((x2*y-x1*y-x2*y1+x1*y2)/(y2-y1)); //прямая
y=((x*y2-x1*y1-x*y1+x2*y1)/(x2-y1)); //прямая

P.S. Я не понял это. Если ты это не понял, отправь ссылку, откуда брал)))
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
06.12.2012, 18:07  [ТС]     Определить, принадлежит ли треугольник началу координат или нет #5
Это формула для выведения прямой, если тебе известны только координаты. если тебе это не понятно, то предложи свой вариант.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 18:12     Определить, принадлежит ли треугольник началу координат или нет #6
На этом же форуме увидел это:

Реализация - считаются произведения (1, 2, 3 - вершины треугольника, 0 - точка):
(x1 - x0) * (y2 - y1) - (x2 - x1) * (y1 - y0)
(x2 - x0) * (y3 - y2) - (x3 - x2) * (y2 - y0)
(x3 - x0) * (y1 - y3) - (x1 - x3) * (y3 - y0)
Если они одинакового знака, то точка внутри треугольника, если что-то из этого - ноль, то точка лежит на стороне, иначе точка вне треугольника.

Добавлено через 48 секунд
Если не понятно, то сделаю сам)))
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.12.2012, 18:12     Определить, принадлежит ли треугольник началу координат или нет #7
Цитата Сообщение от хай Посмотреть сообщение
Это формула для выведения прямой, если тебе известны только координаты. если тебе это не понятно, то предложи свой вариант.
по-моему именно тебе это и не понятно, т.к. это ты откуда-то скопипастил.
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
06.12.2012, 18:12  [ТС]     Определить, принадлежит ли треугольник началу координат или нет #8
Можешь это мне в программу вписать??
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 18:13     Определить, принадлежит ли треугольник началу координат или нет #9
Хорошо. Прямо сейчас!!!
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
06.12.2012, 18:16  [ТС]     Определить, принадлежит ли треугольник началу координат или нет #10
Буду признателен!
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
06.12.2012, 18:26     Определить, принадлежит ли треугольник началу координат или нет #11
C++
1
2
3
4
5
6
7
//C=x1y2-x2y1
bool Oinside(float Ax,float Ay, float Bx, float By, float Cx, float Cy) {
   bool border1=Ax*By>Ay*Bx;     
   bool border2=Bx*Cy>By*Cx; 
   bool border3=Cx*Ay>Cy*Ax;
   return  (border1&&border2&&border3)||((!border1)&&(!border2)&&(!border3)) ;
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 18:27     Определить, принадлежит ли треугольник началу координат или нет #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
using namespace std;
 
int main() {
    setlocale(0,"");
    int x0 = 0, y0 = 0, x1, y1, x2, y2, x3, y3;
 
    cout << "Введите координаты 1 точки: ";
    cin >> x1 >> y1;
 
    cout << "Введите координаты 2 точки: ";
    cin >> x2 >> y2;
 
    cout << "Введите координаты 3 точки: ";
    cin >> x3 >> y3;
 
    int tmp1 = (x1 - x0) * (y2 - y1) - (x2 - x1) * (y1 - y0);
    int tmp2 = (x2 - x0) * (y3 - y2) - (x3 - x2) * (y2 - y0);
    int tmp3 = (x3 - x0) * (y1 - y3) - (x1 - x3) * (y3 - y0);
 
    if((tmp1 > 0 && tmp2 > 0 && tmp3 > 0) || (tmp1 < 0 && tmp2 < 0 && tmp3 < 0)) {
        cout << "Внутри треугольника";
    }
 
    else if(tmp1 == 0 || tmp2 == 0 || tmp3 == 0) {
        cout << "На треугольнике";
    }
 
    else {
        cout << "Вне треугольника";
    }
}
Вроде работает не совсем корректно(. Спросите у других)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 18:30     Определить, принадлежит ли треугольник началу координат или нет
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
06.12.2012, 18:30  [ТС]     Определить, принадлежит ли треугольник началу координат или нет #13
так напишите прогу или нет?

Добавлено через 16 секунд
ой спасиб. не увидел
Yandex
Объявления
06.12.2012, 18:30     Определить, принадлежит ли треугольник началу координат или нет
Ответ Создать тему

Метки
ДОПИСАТЬ, условие
Опции темы

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