![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Relrin |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: ![]() ![]() ![]() |
Сейчас стараюсь решить задачку в графике, однако возникло масса проблем с кодингом.
Условие следующее: ![]() ![]() Я представил эту ситуацию так: ![]() Каждая сторона имеет свой номер(чтобы было проще соориентироваться, при отрисовке линий). Проблемы которые возникли: 1) Отрисовка этих линий в одном треугольнике (начинаем с треугольника FOA) 2) "Отзеркаливание" этих линий, вместо того, чтобы рисовать их с нуля. (в нашем примере, нарисовав линии в треугольнике FOA, рисуем зеркально линии в OAB, относительно OA; после этого, опять зеркально рисуем для треугольника BOC, относительно BO). Для отрисовки линий, пока трудно представляю как выбрать некоторые "случайные" координаты для первой точки линии на одной стороне, а после, взять другие "случайные" на одной из двух других. Пока что пришло на ум, через case как-то выделять эти стороны, обращение к ним, если одна из них выбрана. С отзеркаливанием линий, это по-мойму самая сложная часть, поскольку возникают вопросы: а) как указать программе, какую взяли линии за "ось симметрии" б) рисовать относительно нее линии Исходный код, того, чего я смог пока сделать (Показать/Скрыть)
Сообщение отредактировано: Lapp - 18.03.2011 0:26 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата не сложнее ли будет такое программировать(особенно если учитывать, что с таким... "полярным" программированием встречаюсь впервые, сколько пробую кодить)? Я не думаю, что это будет сложнее, чем в декартовых координатах. Понимаешь, в чем дело... Логика решения этой задачи подразумевает повороты. А повороты проще делать именно в полярной СК.Что касается отображения: отображать линии надо и там и там, только в твоем случае у тебя есть готовая процедура Line, а в моем варианте подразумевается написать свою процедуру, PolarLine. Кстати, на самом деле писать ее даже не придется, достаточно посмотреть в поиске, я уже выкладывал где-то решения в ПСК, там есть и конвертер координат из одной системы в другую, и отрисовка в полярной СК основных графических примитивов (точка и линия - 100% есть). Ну, решать-то тебе, делай по-своему, если тебе будет проще... |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 19:44 |