![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Кошка |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Женский Реальное имя: Светлана Репутация: ![]() ![]() ![]() |
Нужно написать такую программу в Делфи:
"Дана призма, например, четырёхугольная. С клавиатуры вводится число, на которое её верхнее основание должно повернуться в своей плоскости. При этом нижнее основание остаётся на месте, а боковые рёбра превращаются в спирали". Как сделать, чтобы отрезки изгибались в соответствии с заданным числом? И как получить поворот параллелограмма? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата И как получить поворот параллелограмма? Это как раз - самое простое: поворот точек (по отдельности), образующих этот параллелограмм, на заданный угол вокруг оси вращения, а потом - соединить точки линиями... Сложнее будет с преобразованием прямых в спирали ... Почему спираль?Попробуй нарисовать (вручную), какую именно линию ты хочешь получить при повороте верхнего основания... |
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Почему спираль? Видимо, нужно изобразить кривые, которые описали бы вершины, скажем, верхнего основания, если верхнее основание опускать вниз, при этом постепенно поворачивая, так, что достигнув уровня нижнего основания, оно совпадет с повернутым на заданный угол нижним основанием. Уфф.. ![]() В таком случае эти кривые действительно представят собой спирали, и единственный корректный способ нарисовать их - по точкам. То есть надо смоделировать процесс, который я описал выше, провести его с некоторым шагом по времени и соединить точки последовательных положений вершин. Но меня смущает еще другое.. В условии речь идет о "призме, например, четырехугольной" - а потом вдруг резко появляется параллелограмм, хотя это не единственно возможный четырехугольник. Но, с другой стороны, если это не параллелограмм, а четырехугольник общего вида, то возникает неопределенность относительно центра вращения (на тот самый заданный угол). В случае параллелограмма этот вопрос не возникает, ввиду его симметрии - все полагают, в качестве ЦВ берется пересечение диагоналей, хотя это тоже нигде не сказано.. Кошка, ответишь? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Кошка |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 9 Пол: Женский Реальное имя: Светлана Репутация: ![]() ![]() ![]() |
Думаю, будет достаточно частного случая четырёхугольника. А за ось вращения взять пересечение диагоналей.
Сообщение отредактировано: Кошка - 13.06.2007 5:38 |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
|
Кошка |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 9 Пол: Женский Реальное имя: Светлана Репутация: ![]() ![]() ![]() |
![]() При нажатии одной кнопки у меня рисуется призма. Допустим, при нажатии другой она поворачивается. А как мне стереть исходную призму, чтобы преобразованная рисовалась не на ней? |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Это - смотря на чем ты рисуешь... Если на PaintBox-е, то можно просто очищать его полностью:
... |
![]() ![]() |
![]() |
Текстовая версия | 11.07.2025 14:20 |