1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Pautina |
12.09.2007 13:24
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Nataly Репутация: 0 |
Помогите, пожалуйста, с решением данной задачи!
рис1 Из рисунка1 следует, что изображение треугольника на экране – это набор горизонтальных отрезков оси абсцисс, при чем каждой строке экрана соответствует один отрезок, проведенный между точками пересечения отрезков со сторонами треугольника AB и AC, затем BC и AC. Составим математическую модель. Координаты точек пересечения отрезков со сторонами треугольника будут рассчитываться по следующим формулам: X = Ax + (Bx – Ax) / (By – Ay) * (By – Ay) X2 (1) = Ay + (Sy – Ay) / (Bx – Ax) / (By – Ay) X1 = Ax + (Sy – Ay) * (Cx – Ax) / (By – Ay) X2 (2) = Bx + (Sy – By) * (Cx – Bx) / (Cy – By) Далее приведем словесное описание алгоритма будущей программы. рис2 После проведения сортировки координат вершин данного треугольника необходимо организовать цикл, обеспечивающий рисование линий для ординаты Y, которая изменяется от Ymin до Ymax. В теле цикла необходимо определить координаты точек X1 и X2 и затем провести между ними линию заданного цвета. Сообщение отредактировано: Pautina - 14.09.2007 11:15 |
![]() ![]() |
| Pautina |
25.09.2007 17:14
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Nataly Репутация: 0 |
Добилась того, что программа рисует треугольник, а вот с закраской возникли проблемы и еще не совсем понимаю, как использовать формулы
Координаты точек пересечения отрезков со сторонами треугольника будут рассчитываться по следующим формулам: X = Ax + (Bx – Ax) / (By – Ay) * (By – Ay) X2 (1) = Ay + (Sy – Ay) / (Bx – Ax) / (By – Ay) X1 = Ax + (Sy – Ay) * (Cx – Ax) / (By – Ay) X2 (2) = Bx + (Sy – By) * (Cx – Bx) / (Cy – By) Помогите, пожалуйста советом! Прикрепленные файлы
TREYG.PAS ( 452 байт )
Кол-во скачиваний: 213 |
| Lapp |
5.10.2007 12:55
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Координаты точек пересечения отрезков со сторонами треугольника будут рассчитываться по следующим формулам: X = Ax + (Bx – Ax) / (By – Ay) * (By – Ay) X2 (1) = Ay + (Sy – Ay) / (Bx – Ax) / (By – Ay) X1 = Ax + (Sy – Ay) * (Cx – Ax) / (By – Ay) X2 (2) = Bx + (Sy – By) * (Cx – Bx) / (Cy – By) Pautina, не сердись, все будет Ок, разберемся. Я пока не понимаю твои формулы.. Смотри, например, первая. В правой части стоят только координаты вершин треугольника - верно? Тогда что это за Х? Зачем он такой нужен?.. Он же не имеет отношения к отрезку.. И он, вроде, не участвует в последующих вычислениях.. И еще - что такое Sy? На рисунке нету точки S.. Формулы должны делать зависимость между Y (уровень отрезка) и координатами его концов X1 и Х2.. Хлоп! а, понял.. Sy - это и есть уровень, о котором я говорил, да? Но все равно остается вопрос, что есть Х в первой формуле. Что-то я не врубаюсь.. наверное, долго отдыхал -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Pautina Графика 12.09.2007 13:24
Pautina Помогите пожалуйста! на вас одна надежда! ... 14.09.2007 11:16
hardcase Какая графическая библиотека? 25.09.2007 17:32
Pautina Графический модуль graph.bgi 1.10.2007 21:50
Pautina УДАЛИТЕ МОЮ ТЕМУ!!!!!!... 3.10.2007 12:45
Pautina Lapp , спасибо огромное! все-таки мир не без д... 5.10.2007 21:27
Lapp
У меня вот какие соображения..
...
Посмотри, пож... 5.10.2007 23:09
Tan Pautina, так если ваша цель просто закрасить треуг... 6.10.2007 0:25
Lapp
Pautina, так если ваша цель просто закрасить треу... 6.10.2007 5:35
Lapp Итак, по делу..
Ты извини, но мне было проще приве... 6.10.2007 6:48
Pautina Lapp, спасибо огромное за помощь. Скажи, а как мн... 16.10.2007 20:07
Lapp Во-первых, не забывай, что ты ищешь минимальный Y,... 17.10.2007 7:09![]() ![]() |
|
Текстовая версия | 9.12.2025 6:12 |