Графика, Заливка треугольника одним цветом |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Графика, Заливка треугольника одним цветом |
Pautina |
Сообщение
#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 - |
Pautina |
Сообщение
#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 байт ) Кол-во скачиваний: 244 |
Lapp |
Сообщение
#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 - это и есть уровень, о котором я говорил, да? Но все равно остается вопрос, что есть Х в первой формуле. Что-то я не врубаюсь.. наверное, долго отдыхал . Ответь, плз. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 29.03.2024 21:08 |