|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.06.2009, 18:05 | #1 |
Новичок
Джуниор
Регистрация: 26.06.2009
Сообщений: 5
|
Помогите разобраться с поворотом!
Здравствуйте уважаемые! Помогите, не могу разобраться с поворотом. Вот набросок проги. Линия должна в анимации крутиться на угол. Не могу понять как это осуществить.
Program GraphShabl; Uses Crt,Graph; Var GraphDriver, GraphMode,x,y,x1,y1,i: integer; Procedure DrawLine; var x,y,x1,y1:real; begin i:=10; setcolor(15); x:=x*Cos(i)-y*Sin(i); y:=x*Sin(i)+y*Cos(i); x1:=x1*Cos(i)-y1*Sin(i); y1:=x1*Sin(i)-y1*Cos(i); delay(5000); setcolor(0); end; Begin ClrScr; GraphDriver:=detect; InitGraph(GraphDriver, GraphMode,'..\BGI'); setcolor(15); circle(250,200,50); x:=200; y:=200; x1:=300; y1:=200; Line(x,y,x1,y1); for i:=0 to 10 do begin x:=x+1; y:=y+1; x1:=x1+1; y1:=y1+1; Drawline; end; readln; CloseGraph; End. Буду признателен если все изменения объясните. Заранее спасибо. |
27.06.2009, 18:40 | #2 |
Пользователь
Регистрация: 28.04.2009
Сообщений: 31
|
В книге turbo pascal В.В. Фараонов за 2007г, на странице 243 есть оч. хороший пример, циферблата часов. Поюзай в нете книгу, а то у меня нет электронного варианта.
Чтобы наделать ошибок надо для начала уметь хоть что то делать!
|
27.06.2009, 21:10 | #3 |
Новичок
Джуниор
Регистрация: 26.06.2009
Сообщений: 5
|
Спасибо за ответ, дружище! Начинаю искать!
|
27.06.2009, 23:04 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
в качестве альтернативы, предлагаю своё решение:
Код:
|
27.06.2009, 23:48 | #5 |
Новичок
Джуниор
Регистрация: 26.06.2009
Сообщений: 5
|
2 Serge_Bliznykov. Не то что немножко неуверенно, а я практически чайник ещё. Спасибо за совет,учту. Хочу попросить прокоментировать момент поворота. Не понимаю что откуда взялось. Точнее процедура DrawLine прокоментируй плиз. И вот ещё пара моментиков, почему ты умножаешь I*12, и что такое LineLen и самое интересное, каким образом у тебя при использовании радиуса (ведь диаметр идет во всю окружность) получается линия во весь круг? Очень жду ответа.... Спасибо.
Последний раз редактировалось Reanim; 28.06.2009 в 00:27. |
28.06.2009, 03:49 | #6 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
*12 - это значит, что каждый раз мы поворачиваем линию ровно на 12 градусов. Тут можно поставить любое число (поэкспериментируйте самостоятельно). Но, если это число будет больше 90 градусов, то визуально эффекта вращения не будет. Цитата:
|
||
28.06.2009, 14:00 | #7 |
Новичок
Джуниор
Регистрация: 26.06.2009
Сообщений: 5
|
2 Serge_Bliznykov Дружище, если ты не против, хотелось бы твой номер аси или что-нибудь для связи, чтобы более оперативно получать от тебя консультации. Это возможно?
|
28.06.2009, 22:51 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
хм... не понял, какая в этом моя выгода?..
ну ладно, для затравки... в качестве "аттракциона невиданной щедрости" вот моё мыло: sbliznykov(at)gmail.com |
29.06.2009, 21:01 | #9 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
I am the First of Cyber Evolution...
I am the First to Program your Future... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться | pashka | Общие вопросы C/C++ | 9 | 31.05.2009 00:37 |
Помогите разобраться! | Knight_PS | Помощь студентам | 0 | 07.05.2009 17:34 |
помогите разобраться!!!!! | Даринка | Microsoft Office Excel | 1 | 25.04.2009 00:19 |
Помогите разобраться | raxem | Помощь студентам | 17 | 14.09.2008 18:08 |