1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Sensitive |
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 132 Пол: Женский Реальное имя: Юлия Репутация: 0 |
Вообще не знаю каким способом делать эту задачу.
Условие прилагается. Подскажите пожалуйста, как это всё реализовать. Эскизы прикрепленных изображений |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
Если на диске должен быть только черный и белый сегмент (просто на картинке ж ничего не разобрать, поэтому уточняю), то все довольно просто: тебе понадобится только хранить углы начала/конца одного из сегментов, из этих данных элементарно находится, где начинается/заканчивается второй сегмент... Отрисовывать эти сегменты можно через Sector, а можно - PieSlice (еще один вариант - Arc + 2 линии)... При повороте просто увеличивать (или уменьшать, в зависимости от направления вращения) значения хранимых углов на определенное значение, которое будет тем больше, чем больше скорость...
А вот есть на диске есть еще что-то, кроме собственно линии разделения сегментов, то придется осуществлять поворот всего изображения (как-то делал, попробую найти ссылку, если надо, потому что делал для другого форума, не здесь...), но это чревато сильными тормозами, которые будут увеличиваться при увеличении размеров изображения. |
| Sensitive |
Сообщение
#3
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 132 Пол: Женский Реальное имя: Юлия Репутация: 0 |
Да,на диске на белой его части есть частички (чёрные). Сам диск (если он черно-белый,то нарисовать не проблема(уже сделала),а вот эти кусочки не знаю как сделать(постараюсь сделать)). Если можно, то поищи где ты делал поворот всего изображения, потому что я не могу понять пока что как сделать. А там, если подскажешь, то думаю разберусь(надеюсь).
|
Sensitive вращение диска 2.06.2007 17:32
volvo Несколько способов есть здесь (перевести то, что т… 2.06.2007 23:03
klem4
Помоему будет достаточно одного угла, второй то … 3.06.2007 0:39
Sensitive volvo, если можешь дай полную ссылку. Не смогла на… 3.06.2007 0:49
volvo Если диск разделен по диаметру, то хватит и одного… 3.06.2007 0:47
volvo Sensitive, я же дал полный путь к статьям :blink:… 3.06.2007 0:55
Sensitive Ой,сорри,volvo, всё нашла. Сейчас буду разбираться… 3.06.2007 1:28
klem4 Вроде этого
cx := GetMaxX div 2;
cy := GetMaxY … 3.06.2007 0:56
klem4 В общем вот черновой вариант, есть небольшие несты… 3.06.2007 1:57
Sensitive К моему сожалению не смогла разобраться в тех прим… 4.06.2007 20:30
Sensitive к моему сожалению не смогла разобраться в тех прим… 4.06.2007 20:33
Sensitive Я прошу прощения еще раз...
при повороте изображен… 5.06.2007 22:04
klem4 В твоем конкретном случае, при использовании предл… 5.06.2007 22:08
Sensitive всё сижу над этим диском...
вот подпрограмма,котор… 6.06.2007 22:54
volvo Зачем тебе вручную рассчитывать все координаты, ко… 7.06.2007 0:29
Sensitive да,действительно и без ручного расчета тот код,что… 7.06.2007 3:32
Sensitive С диском так и "воюю"...
как закрасить д… 9.06.2007 17:32
volvo Вот так вращается одинаково:
uses graph, crt;
pro… 9.06.2007 18:10
Sensitive volvo,спасибо большое. Программу почти доделала с … 9.06.2007 20:27![]() ![]() |
|
Текстовая версия | 7.11.2025 13:33 |