|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
|
|||||||
Определить координаты вершины треугольника12.12.2010, 14:36. Показов 7916. Ответов 34
Метки нет (Все метки)
Здравствуйте, снова обращаюсь к вам за помощью.
Прошу помочь в таком задании, искал вроде ничего похожего не нашел.
0
|
|||||||
| 12.12.2010, 14:36 | |
|
Ответы с готовыми решениями:
34
Заданы координаты трех вершин прямоугольника, необходимо определить координаты четвертой вершины Определить координаты четвёртой вершины прямоугольника |
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 24.12.2010, 19:06 | ||||||
|
Вышеприведенная программа от BrumbleHorse работает неверно, например при вводе
0, 1 1, 0 7, 5 Вот так будет правильнее:
1
|
||||||
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
||||||||
| 24.12.2010, 21:34 | ||||||||
|
Добавлено через 25 минут
И дальше у тебя цикл идет как y(x), но когда By>Bx надо бежать как x(y) - смотри алгоритм Брезенхейма, короче.
1
|
||||||||
|
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
|
|||||
| 24.12.2010, 21:37 | |||||
|
если взять любой треугольник, заданный целочисленными координатами, его площадь не может быть менее 0,5.. Добавлено через 1 минуту .. Спасибо буду знать..
0
|
|||||
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
|||
| 24.12.2010, 22:46 | |||
|
1
|
|||
|
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
|
|
| 24.12.2010, 23:11 | |
|
Да, его программа выдает 3,2 на 7,5 - скомпилировал ее компилятором Visual Studio.. до этого я ее скомпилировал GNU GCC, почему-то не было русского шрифта и выдавала на все ответ 0,1..
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 24.12.2010, 23:14 | ||
|
Cx = 1; Cy = 0; будут возвращены в случае, если цикл не выполнится ни разу, т.е. когда вершина B лежит на оси y. При выполнении хотя бы одной итерации цикла эти значения затираются. А вот по какой координате устраивать цикл, - это по-моему все равно, так как все отсекаемые от клеток треугольники подобны друг другу, и точка, ближайшая к прямой по x, будет к ней ближайшей и по y. В общем, читайте внимательнее. Но если приведете пример неправильной работы моей программы, то буду признателен за конструктивную критику.
0
|
||
|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
|
|
| 25.12.2010, 00:27 [ТС] | |
|
Что-то я совсем запутался. Какая из программ правильная ?
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 25.12.2010, 05:08 | |
|
при любой точке B координаты точки C будут одними из:
С(0; 1) || С(1; 0) || С(-1; 0) || С(0; -1) знак определяется по координатам точки B а площадь берётся наименьшая из двух бывает несколько точек C ещё, которые дают одинаковые площади B(5; 0), C(0; 1) B(5; 0), C(0; -1) B(5; 0), C(1; 1) B(5; 0), C(1; -1) ... или B(1; 0), C(0; 1) B(1; 0), C(0; -1) B(1; 0), C(1; 1) B(1; 0), C(1; -1)
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||||
| 25.12.2010, 10:36 | ||||||||
|
А какие у вас сомнения относительно правильности моей программы, мне просто интересно? Добавлено через 1 час 48 минут Если рассматривать вершины B и C как векторы, то площадь треугольника равна половине площади построенного на них параллелограмма, т.е. S = 0.5 * abs(Bx*Cy – By*Cx), т.е. задача состоит в поиске минимальной по модулю ненулевой линейной комбинации чисел Bx и By, которая, согласно известной теореме, равна по модулю НОД(Bx, By), а минимальная площадь треугольника, соответственно, Smin = 0.5 * НОД(Bx, By), как уже здесь писали выше. Если числа Bx и By взаимно простые, то НОД(Bx, By) = 1, и Smin = 0.5 (один из выступавших посчитал, что это верно для всех случаев). Если же Bx делит By, то НОД(Bx, By) = |Bx|, и площадь равна Smin = 0.5 * |Bx|, и в этом случае решением будет Cx = 0, Cy = 1. Если же By делит Bx, то, соответственно, Cx = 1, Cy = 0, т.е. вы приняли за общий случай другую крайность (только еще со знаками там заморочились, которые, на самом деле, ни на что не влияют). Ну а истина лежит посередине, т.е. в моей программе. Добавлено через 3 часа 22 минуты Вот так покрасивше будет:
0
|
||||||||
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
||||
| 25.12.2010, 11:37 | ||||
|
А аргумент цикла от наклона менять возможно таки стоит, но в отличие от Брезенхайма бежать надо по координате, которая меняется меньше - тупо сферически быстрее так будет, практически же также. Добавлено через 1 минуту
0
|
||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||||
| 26.12.2010, 10:27 | ||||||||
|
Не по теме: стер тут кое-что про наибольший общий делитель
и не только с ними Добавлено через 2 минуты
0
|
||||||||
|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
|
||
| 26.12.2010, 20:55 [ТС] | ||
|
Не очень понятно, что происходит ![]() А тема забавная получилась, столько людей отписалось. Спасибо большое всем.
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 27.12.2010, 01:59 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
|
|
| 27.12.2010, 02:11 [ТС] | |
|
Более простой код видел и вроде понял, хотелось-б более сложный понять
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||||||||
| 27.12.2010, 04:38 | ||||||||||||
и вот пример
естественно там больше точек C и они не только еденицу могут содержать например B(-5; -5), C(-3; -2)
0
|
||||||||||||
| 27.12.2010, 04:38 | |
|
Определить координаты четвертой вершины прямоугольника Определить координаты вершин прямоугольного треугольника Известны координаты вершин треугольника, определить его площадь Заданы координаты трех точек. Определить периметр треугольника, вершинами которого являются заданные точк Даны координаты вершин треугольника и координаты некоторой точки внутри него Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|