|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.11.2009, 08:12 | #1 |
Новичок
Джуниор
Регистрация: 28.11.2009
Сообщений: 2
|
Определение геометрических фигур по координатам (Java)
есть задачка на Java:
координатная плоскость. с клавиатуры вводится 4 точки. определить, является ли получившаяся фигура квадратом, прямоугольником или ромбом. будет здорово если кто решит. заранее огромное спасибо. |
28.11.2009, 08:16 | #2 | |
Любопытная Вредина
Участник клуба
Регистрация: 19.06.2009
Сообщений: 1,285
|
если все стороны равны и углы по 90 градусов - квадрат
если стороны равны попарно и углы по 90 градусов - прямоугольник если все стороны равны и углы напротив равны - ромб ну а если ничего из этого то четырехугольник! Цитата:
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
|
|
28.11.2009, 08:49 | #3 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Быть проще
При ручном вводе — с вероятностью 99,999% вообще не является «точной» геометрической фигуркой.
Вот узнал из справочника 1954 года, что все эти «ребята» (длинами своих сторон) удовлетворяют равенству Код:
Код:
Код:
Вот главная сложность задачи — это как из заданных 4 точками шести отрезков (см. в приложенный рисунок) выбрать стороны (a, b, c, d), а как — диагонали. Надо найти пару отрезков, пересекающихся «нутрями» (внутренними точками). Это и будут диагонали — конечно, если они не на одной прямой (что тоже хорошо бы проверять). И, в 999999 случаях из 1000000, сразу получим ответ (отрицательный): ибо у искомых фигур (а все они не просто 4-угольники — параллелограммы!) диагонали своей точкой пересечения делятся пополам, что конечно же больша-а-ая редкость. Да-а... видать, придётся обращаться к нашим прошлогодним олимпийским чемпионам по программированию!
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 29.11.2009 в 03:50. Причина: параллелограмМы! |
28.11.2009, 15:20 | #4 | |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Who is who among them
Цитата:
С другой стороны, не совпавшие ни с одной прямой 4 точки — всегда дают 4-угольник, будь он хоть ромб, хоть квадрат. Я бы предложил, после ввода 4-й точки, такую форму ответа: Код:
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 29.11.2009 в 03:48. Причина: убрал трапецию. |
|
29.11.2009, 23:57 | #5 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Нутро графопостроителя
Есть решение на бэйсике, поэтому «пожалуйста» так, среднее...
Делал по своей же блок-схеме, и поскольку в плане — визуализация, ограничил ввод целыми числами до 256. Пришлось вспомнить кое-что из школьной программы, так что и вам спасибо!
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
30.11.2009, 00:23 | #6 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 65
|
скалярное произведение отрезков равно их слине помноженному на косинус угла между ними, отсюда следует
Но это так мысли вслух, а вообще почитай в интернете про скалярное произведение векоторов(курс геометрии 11 класс) там все просто. |
30.11.2009, 04:57 | #7 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
А при чём тут вообще векторы? Чисто с координатами работал! По теореме Пифагора.
Ну да, она частный случай теремы косинусов, но здесь это ни к чему. Код:
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 01.12.2009 в 04:52. |
03.12.2009, 07:01 | #8 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Код:
Тот IsItPlan.doc, где 50.0 Кб, Загрузок: 2 — ошибка! Я бы убрал, да в моём списке вложений «Удалить» отключено.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 03.12.2009 в 21:02. |
08.12.2009, 12:38 | #9 |
Новичок
Джуниор
Регистрация: 28.11.2009
Сообщений: 2
|
спасибо Вам огромное, Sasha_Smirnov, что б я без вас делал =)
еще актуально, так что вдвойне спасибо! с интерпритацией в яву конечно опять буду мучаться, но так как есть наглядный код то думаю теперь будет легче. |
10.12.2009, 13:29 | #10 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Интерпретация
И у прямоугольника тоже! Так что это их общий (а не отличительный) признак.
И у прямоугольника тоже! В этих совпадениях и заключалась основная трудность ветвления алгоритма. А ведь не так-то просто интерпретировать с VB на Java! Лучше по блок-схеме. Мою, к сожалению, убрали, да и не оптимальная она. Поможем?
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 10.12.2009 в 14:28. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод на экран геометрических фигур | KrL^^ | Помощь студентам | 1 | 10.05.2009 23:15 |
Распознавание простейших геометрических фигур | DropYourWeapon | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 10.01.2009 22:32 |