Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
manka02
Заблокирован
#1

Определить какая из точек лежит внутри а какая - снаружи треугольника

08.06.2016, 15:19. Просмотров 898. Ответов 2
Метки нет (Все метки)

Пытаюсь разобраться помогите пожалуйста .Створиты класс Triangle и класс Point. Объявить массив из n объектов класса Point, написать функцию, которая определяет, какая из точек лежит внутри, а какая - снаружи треугольника. Реализовать ввод данных средствами ГИК.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2016, 15:19
Ответы с готовыми решениями:

Программа, определяющая сколько точек лежит внутри окружности с заданными параметрами
Доброго времени суток. Пытаюсь решить задачку. Нужна программа, определяющая,...

Определить, какая цифра встречается в заданном числе чаще: 0 или 9
Дано натуральное число. Определить, какая цифра встречается в нем чаще: 0 или...

Как определить какая канопка мыши нажата правая/левая?
Скажите, как оределить какая канопка мыши нажата правая/левая?

Выделить из заданных точек вершины квадрата, на сторонах которого лежит наибольшее количество заданных точек
Нужна помощь, срочно ! На плоскости задано множество точек. Выделить из этих...

Быстрый алгоритм проверки лежит ли точка внутри многоугольника
На плоскости заданы координаты вершин многоугольника (x1, y1, x2, y2,..., xn,...

2
HOBATOP
309 / 298 / 203
Регистрация: 14.09.2015
Сообщений: 821
08.06.2016, 21:57 #2
Лучший ответ Сообщение было отмечено manka02 как решение

Решение

manka02, смотрите: мы делаем одно допущение, а именно - границы треугольника являются частью треугольника. Исходя из этого получается вот такое решение:
Кликните здесь для просмотра всего текста
Java
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class Dot {
    double x;
    double y;
 
    Dot(double x, double y) {
        this.x = x;
        this.y = y;
    }
 
    public String toString() {
        return String.format("X = %7.4f; Y = %7.4f", x, y);
    }
}
 
class Triangle {
    Dot a;
    Dot b;
    Dot c;
 
    Triangle(Dot a, Dot b, Dot c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }
 
    public static boolean getOwn(Triangle tri, Dot dot) {
        double one, two, three;
        one = (tri.a.x - dot.x) * (tri.b.y - tri.a.y) - (tri.b.x - tri.a.x) * (tri.a.y - dot.y);
        two = (tri.b.x - dot.x) * (tri.c.y - tri.b.y) - (tri.c.x - tri.b.x) * (tri.b.y - dot.y);
        three = (tri.c.x - dot.x) * (tri.a.y - tri.c.y) - (tri.a.x - tri.c.x) * (tri.c.y - dot.y);
        if (one >= 0 & two >= 0 & three >= 0 || one <= 0 & two <= 0 & three <= 0) {
            return false;
        } else {
            return true;
        }
    }
 
    public static void main(String[] args) {
        Triangle triangle = new Triangle(new Dot(2.5, 2.5), new Dot(2.5, 12), new Dot(6, 8.5));
        int n = 15;
        Dot[] dots = new Dot[n];
        System.out.println("Вершины треугольника:\nА = " + triangle.a + "\nB = " + triangle.b + "\nC = " + triangle.c);
        for (int i = 0; i < dots.length; i++) {
            dots[i] = new Dot(Math.random() * 10, Math.random() * 10);
            if (getOwn(triangle, dots[i])) {
                System.out.printf("Точка № %2d %s лежит вне треугольника %n", (i + 1), dots[i]);
            } else {
                System.out.printf("Точка № %2d %s лежит внутри треугольника %n", (i + 1), dots[i]);
            }
        }
    }
}
да, чуть не забыл. При заданных параметрах можно ожидать вот такого примерно экрана:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Вершины треугольника:
А = X =  2,5000; Y =  2,5000
B = X =  2,5000; Y = 12,0000
C = X =  6,0000; Y =  8,5000
Точка №  1 X =  7,1898; Y =  4,1704 лежит вне треугольника 
Точка №  2 X =  2,5065; Y =  7,6964 лежит внутри треугольника 
Точка №  3 X =  1,5876; Y =  6,0145 лежит вне треугольника 
Точка №  4 X =  9,5539; Y =  9,7053 лежит вне треугольника 
Точка №  5 X =  7,1868; Y =  0,4542 лежит вне треугольника 
Точка №  6 X =  8,6109; Y =  2,5149 лежит вне треугольника 
Точка №  7 X =  4,3994; Y =  3,7182 лежит вне треугольника 
Точка №  8 X =  7,2371; Y =  8,0933 лежит вне треугольника 
Точка №  9 X =  9,9641; Y =  1,2903 лежит вне треугольника 
Точка № 10 X =  3,4714; Y =  8,1380 лежит внутри треугольника 
Точка № 11 X =  8,1793; Y =  6,3230 лежит вне треугольника 
Точка № 12 X =  7,1145; Y =  5,8321 лежит вне треугольника 
Точка № 13 X =  8,6253; Y =  4,4898 лежит вне треугольника 
Точка № 14 X =  1,0201; Y =  1,7185 лежит вне треугольника 
Точка № 15 X =  1,6455; Y =  6,1380 лежит вне треугольника

Что такое "ГИК" (знаю только элемент парусного вооружения и пробитого на всю голову фана какого-нибудь) я не в курсе и, полагаю, что с этой частью сможете справиться самостоятельно. Ok? Тем более, что основную часть работы за Вас уже сделали.
Удачи!
0
ksena_nk
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 4
09.06.2016, 16:26 #3
с графическим интерфейсом пользователя
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2016, 16:26

Какая ось?
Как узнать из Java-программы какая OS стоит? Добавлено через 10 минут вот...

Определить какая из точек лежит на окружности, какая внутри окружности, а какая вне окружности
Не могу не как понять какую формулу писать Вот задания Заданы координаты...

Определить какая из точек ближе всего лежит к началу координаты
Заданы 3 точки р1(х1,у1),р2(х2,у2),р3(х3,у3).Определить какая из точек ближе...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru