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