Графика. Двужущаяся точка., Точка совершает колебания |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Графика. Двужущаяся точка., Точка совершает колебания |
Accer |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Помогите с графикой! Нужно изобразить точку, совершающую независимые гармонические колебания с частотой w1 по горизонтали и с частотой w2 по вертикали. (амплитуда тех и других колебаний равна а). Считать, что в момент времени t точка имеет координаты x=a cos w1(t-t1) y=a cos w2(t-t2); t1 и t2 даны. Предусмотреть возможность управления с клавиатуры значениями w1 и w2.
|
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Что именно не получается с графикой?
Рисуешь точку, запоминаешь координаты, пересчитываешь координаты на новое положение, стираешь точку в старом положении, рисуешь в новом... и т.д... -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Accer |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
В графике ноль. Точку могу с трудом нарисовать.
Сообщение отредактировано: Accer - |
andriano |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
|
Accer |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Я не понимаю алгоритм работы этой программы!!!
Рисуем точку-удаляеи-русуем в другом месте-снова удаляем-...-повторяем все снова? |
Ozzя |
Сообщение
#6
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Абсолютно верно! Алгоритм понят.
|
Accer |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
а как задать связать с формулой???
|
andriano |
Сообщение
#8
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Связать что с чем?
Небольшое уточнение в алгоритме: рисуем, делаем небольшую задержку, чтобы показать пользователю, удаляем, вычисляем новвые координаты, рисуем, задержка, удаляем... Сообщение отредактировано: andriano - |
Accer |
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
|
Чужак |
Сообщение
#10
|
меркантильный Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: 6 |
Что-то недополнял задание.
Точка должна колебаться либо в вертикальной, либо в горизонтальной плоскости (по выбору пользователя)/или же одновременно в вертикальной и горизонтальной (тогда как это реализовать-направлений движения-четыре вверх/вниз/вправо/влево, а точка то одна)? -------------------- Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края. В этом мире порой разбиваютсямечты Но чтобы он стал другой Вдруг в него приходишь ТЫ... После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна. |
Accer |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
А можно увидеть пример с простым движением точки туда обратно
|
Lapp |
Сообщение
#12
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Точка должна колебаться либо в вертикальной, либо в горизонтальной плоскости (по выбору пользователя)/или же одновременно в вертикальной и горизонтальной (тогда как это реализовать-направлений движения-четыре Чужак, не фантазируй, про плоскости никто ничего не говорил. Точка колеблется вдоль горизонтальной оси (скажем, Х) и вертикальной оси (скажем, 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 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Спасибо, я попоробую сделать
|
Чужак |
Сообщение
#14
|
меркантильный Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: 6 |
Чужак, не фантазируй, про плоскости никто ничего не говорил. Точка колеблется вдоль горизонтальной оси (скажем, Х) и вертикальной оси (скажем, 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 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Нужны ли сдесь функции? Функции здесь не обязательны, но в высшей степени полезны с точки зрения логики. Очень правильно разделять экранные координаты и абстрактные (математические). Функции служат именно этой цели. Новички, как правило, работают непосредственно в экранных координатах, подстраивая свою задачу под них. В маленьких прогах это допустимо, но в больших приведет к проблемам. Более того, во многих случаях удобно ввести еще один уровень.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Accer |
Сообщение
#16
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Компилятор не может найти Graph.tpu!!!!
Что делать |
Client |
Сообщение
#17
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Скопируй из папки Units файлы Graph.Tpu в папку BIN
|
Accer |
Сообщение
#18
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
GRAPH3.TPU был, его скопировал, не работает
|
Client |
Сообщение
#19
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
А сама прога там же (в BIN)?
А остальные тож скопировал (Graph.Tpu)? Сообщение отредактировано: Client - |
Accer |
Сообщение
#20
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
ЕГО НЕТ
|
Текстовая версия | 4.05.2024 21:51 |