![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Accer |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Помогите с графикой! Нужно изобразить точку, совершающую независимые гармонические колебания с частотой w1 по горизонтали и с частотой w2 по вертикали. (амплитуда тех и других колебаний равна а). Считать, что в момент времени t точка имеет координаты x=a cos w1(t-t1) y=a cos w2(t-t2); t1 и t2 даны. Предусмотреть возможность управления с клавиатуры значениями w1 и w2.
|
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Что именно не получается с графикой?
Рисуешь точку, запоминаешь координаты, пересчитываешь координаты на новое положение, стираешь точку в старом положении, рисуешь в новом... и т.д... -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Accer |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
В графике ноль. Точку могу с трудом нарисовать.
Сообщение отредактировано: Accer - 28.12.2007 7:23 |
andriano |
![]()
Сообщение
#4
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
|
Accer |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Я не понимаю алгоритм работы этой программы!!!
Рисуем точку-удаляеи-русуем в другом месте-снова удаляем-...-повторяем все снова? |
Ozzя |
![]()
Сообщение
#6
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Абсолютно верно! Алгоритм понят.
|
Accer |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
![]() |
andriano |
![]()
Сообщение
#8
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Связать что с чем?
Небольшое уточнение в алгоритме: рисуем, делаем небольшую задержку, чтобы показать пользователю, удаляем, вычисляем новвые координаты, рисуем, задержка, удаляем... Сообщение отредактировано: andriano - 28.12.2007 19:42 |
Accer |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
![]() ![]() ![]() |
Чужак |
![]()
Сообщение
#10
|
![]() меркантильный ![]() ![]() ![]() Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что-то недополнял задание.
Точка должна колебаться либо в вертикальной, либо в горизонтальной плоскости (по выбору пользователя)/или же одновременно в вертикальной и горизонтальной (тогда как это реализовать-направлений движения-четыре вверх/вниз/вправо/влево, а точка то одна)? -------------------- Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края. В этом мире порой разбиваютсямечты Но чтобы он стал другой Вдруг в него приходишь ТЫ... После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна. |
Accer |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
А можно увидеть пример с простым движением точки туда обратно
![]() |
Lapp |
![]()
Сообщение
#12
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Точка должна колебаться либо в вертикальной, либо в горизонтальной плоскости (по выбору пользователя)/или же одновременно в вертикальной и горизонтальной (тогда как это реализовать-направлений движения-четыре Чужак, не фантазируй, про плоскости никто ничего не говорил. Точка колеблется вдоль горизонтальной оси (скажем, Х) и вертикальной оси (скажем, Y). Иначе говоря:вверх/вниз/вправо/влево, а точка то одна)? x=a cos w1(t-t1) y=a cos w2(t-t2) - как сказано в условии. Accer, что тебе нужно связать? Математические координаты с экранными? Это можно сделать примерно так: xs:=Round((x-x1)/(x2-x1)*GetMaxX); ys:=Round((y2-y)/(y2-y1)*GetMaxY); Если ты оформишь их как функции: function Xs(x:real):integer; (и аналогично для Ys; здесь х1 - левая граница экрана, а х2 - правая, например х1=-а и х2=а) - то, например, вот так можно нарисовать оси координат: Line(x1,0,x2,0); А так ставить саму точку: PutPixel(Xs(x),Ys(y),White) - и так ее стирать: PutPixel(Xs(x),Ys(y),Black) -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Accer |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Спасибо, я попоробую сделать
|
Чужак |
![]()
Сообщение
#14
|
![]() меркантильный ![]() ![]() ![]() Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: ![]() ![]() ![]() |
Чужак, не фантазируй, про плоскости никто ничего не говорил. Точка колеблется вдоль горизонтальной оси (скажем, Х) и вертикальной оси (скажем, Y). Иначе говоря: x=a cos w1(t-t1) y=a cos w2(t-t2) - как сказано в условии. Я это и имел в виду. Слово "плоскость" не вполне уместна... Если ты оформишь их как функции: function Xs(x:real):integer; (и аналогично для Ys; здесь х1 - левая граница экрана, а х2 - правая, например х1=-а и х2=а) Нужны ли сдесь функции? А можно увидеть пример с простым движением точки туда обратно ![]() Можно, увидишь... ![]() Я тут делаю программу, которая условно называется "визуализатор синусоид". (В программе использован фрагмент кода volvo, помещенный на форуме-линия вращалась в круге).
-------------------- Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края. В этом мире порой разбиваютсямечты Но чтобы он стал другой Вдруг в него приходишь ТЫ... После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна. |
Lapp |
![]()
Сообщение
#15
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Нужны ли сдесь функции? Функции здесь не обязательны, но в высшей степени полезны с точки зрения логики. Очень правильно разделять экранные координаты и абстрактные (математические). Функции служат именно этой цели. Новички, как правило, работают непосредственно в экранных координатах, подстраивая свою задачу под них. В маленьких прогах это допустимо, но в больших приведет к проблемам. Более того, во многих случаях удобно ввести еще один уровень.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Accer |
![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Компилятор не может найти Graph.tpu!!!!
Что делать ![]() |
Client |
![]()
Сообщение
#17
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
Скопируй из папки Units файлы Graph.Tpu в папку BIN
|
Accer |
![]()
Сообщение
#18
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
GRAPH3.TPU был, его скопировал, не работает
|
Client |
![]()
Сообщение
#19
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
А сама прога там же (в BIN)?
А остальные тож скопировал (Graph.Tpu)? Сообщение отредактировано: Client - 30.12.2007 17:48 |
Accer |
![]()
Сообщение
#20
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
ЕГО НЕТ
![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:04 |