|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
|||||||||||
Массив: Выбрать три различные точки первого множества так, чтобы треугольник с вершинами в этих точках накрывал все точки второго множества17.07.2013, 22:11. Показов 4907. Ответов 29
Метки нет (Все метки)
Здравствуйте.
При реализации задачи я столкнулся с некоторой трудностью (ну, по крайней мере для меня). Собственно, текст задачи: Даны два множества точек на плоскости. Выбрать три различные точки первого множества так, чтобы треугольник с вершинами в этих точках накрывал все точки второго множества и имел минимальную площадь. Небольшое лирическое отступление. Тут я такую задачу встречал много раз и все, за исключением одной (написанная на паскале) были проигнорированны и попросту забыты - утонули в дебрях других тем. Кто знает, не отвечали потому, что не отвечали, либо не было желания объяснять что и как, либо, что вероятнее всего, не написали из-за того, что человек, который просил решения, просто "скопипастит" задачу и все... и уход в затемнение, короче - просто сдаст и забудет... НО это всего лишь догадки, не более того. А чего я хочу? Бляха, просто понять эту задачу, нет, смысл я ее понял и как реализовывать примерно знаю, НО есть некотарая проблема - не все места я знаю как написать. Ну да ладно. Вот код:
Вот второй класс (заведомо неправильный, а для человека знающего наверное покажется, что код писал умалишенный) Ниже код:
НО, один очень хороший человек посоветовал мне следующее: "почему бы не описать три вершины треугольника как три объекта типа Point." Вот мой вопрос. Как описать эти вершины, как мне говорят это сделать? Собственно все. З.Ы. еще раз повторюсь мне не надо решать всю задачу помогите мне вот в этой загвостке, а дальше я постараюсь сам, ну если будут какие трудности - буду обращаться за помощью, мне главное - ПОНЯТЬ.
0
|
|||||||||||
| 17.07.2013, 22:11 | |
|
Ответы с готовыми решениями:
29
Даны два множества точек на плоскости. Из первого множества выбрать три различные точки так, чтобы треугольник с вершинами в этих точках содержал ... |
|
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
|
|||||||||||
| 17.07.2013, 23:41 | |||||||||||
или вы хотите чтобы мы помогли именно с методами определения плоскостей и координат? "как-то так" (с)
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
|||||||||||
| 18.07.2013, 20:17 [ТС] | |||||||||||
|
Здравствуйте.
Да, именно второй вариант, а именно "мы помогли именно с методами определения плоскостей и координат" вот в этом загвостка. Добавлено через 1 минуту Да и первый, можно, пожалуйста "разжевать". Добавлено через 20 часов 12 минут День добрый. Вот, подкорректированный код. Собственно я разбил свою задачу на подзадачи: 1. Нужно написать вычисление площади треугольника. 2. Проверить, находятся ли точки множества внутри треугольника. 3. Найти треугольник минимальной площади, который накрывает все точки множества. 4. Вывести полученный результат на экран. С первыми двумя пунктами вроде бы как "расквитался" (проверьте, авось). Вот решил перейти на 3-й и... вобщем нужно объяснение - как сделать. Ниже вот что наклепал:
0
|
|||||||||||
|
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
|
|||||||
| 21.07.2013, 22:27 | |||||||
|
До чего же много в Java бойлерплейт кода по сравнению с:
1
|
|||||||
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
|||||||||||||||||||||
| 22.07.2013, 15:30 [ТС] | |||||||||||||||||||||
|
kamre, конечно, спасибо за помощь, но я бы еще хотел бы еще со своим вариантом решения разобраться.
Собственно что я имею и что уже сделал:
Где у меня возникли трудности: Строчки 75 и 79 (метод minTriangle)
Честно говоря, я понятия не имею из-за чего он мне ругается. Может кто подскажет в чем проблема? Я в самом конце кода поставил комментарии: // точек не найдено. // точки найдены, площадь. Что мне писать на месте второго комментария (нужно, чтобы выводил площадь минимального треугольника и его координаты вершин) - задумка на этот счет есть, НО мне нужно знать еще и ваше мнение на этот счет. За помощь буду благодарен.
0
|
|||||||||||||||||||||
|
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
|
|||||||
| 22.07.2013, 15:38 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
|||||||||||
| 22.07.2013, 15:43 [ТС] | |||||||||||
|
Ах да, точно, а я то думаю...
Но, почему-то все равно ругается
0
|
|||||||||||
|
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
|
|
| 22.07.2013, 16:02 | |
|
iiyuijkhgfjf, Вы заново обьявляете переменную triangle, которая была передана как параметр функции.
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
||||||
| 22.07.2013, 16:26 [ТС] | ||||||
|
т.е мне нужно сделать что-то наподобе этого:
triangle поменял на triangle1
0
|
||||||
|
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
|
|
| 22.07.2013, 16:36 | |
|
iiyuijkhgfjf, именно.
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
||||||
| 22.07.2013, 16:39 [ТС] | ||||||
|
Спасибо, а можете что-нибудь сказать на счет строчки 19
0
|
||||||
|
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
|
||
| 22.07.2013, 16:42 | ||
|
iiyuijkhgfjf, присваиваете
Не по теме: Вообще Eclipse почти всегда дает достаточно информации для локализации ошибки. Не упрек, но совет =)
1
|
||
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
|
| 22.07.2013, 16:46 [ТС] | |
|
0
|
|
|
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
|
|
| 23.07.2013, 12:30 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
|||||||||||
| 23.07.2013, 16:41 [ТС] | |||||||||||
|
Здравствуйте.
При реализации задачи столкнулся с некоторой загвосткой. В методе minTriangle я возвращаю null, если треугольник не найден и возвращаю треугольник (объект) если он найден. Вопрос следующий: Я возвращаю треугольник:
Вот, сам код:
0
|
|||||||||||
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
|||||||||||
| 23.07.2013, 16:48 | |||||||||||
2
|
|||||||||||
|
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
|
||
| 23.07.2013, 16:52 | ||
|
iiyuijkhgfjf, переменная triangle видна только в цикле
Добавлено через 1 минуту Не по теме: verylazy, куда вперед батьки лезешь? Кыш! :D
1
|
||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
||||||
| 23.07.2013, 19:33 | ||||||
|
Как смог, набыдлокодил:
Алгоритм определения принадлежности точки треугольнику взял отсюда: https://www.cyberforum.ru/post800603.html На бумажке проверял - вроде работает...
1
|
||||||
|
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 69
|
||||||
| 24.07.2013, 14:33 [ТС] | ||||||
|
Здравствуйте.
Вот, подправил. Но все равно ругается на triangle.
0
|
||||||
| 24.07.2013, 14:33 | |
|
Помогаю со студенческими работами здесь
20
Даны два множества точек на плоскости. Выбрать три точки так, чтобы треугольник с вершинами в этих точках содержал равное количество точек
Массив: Выбрать три точки первого множества так, чтобы выполнялось заданное условие... Квадрат с вершинами из первого множества накрывает все точки второго множества и имеет минимальную площадь Из первого множества выбрать три различные точки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|