Фигуры Лиссажу, Вопрос по написанию |
Здравствуйте, гость ( Вход | Регистрация )
Фигуры Лиссажу, Вопрос по написанию |
QMainWindow |
27.10.2010, 22:14
Сообщение
#11
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сделал через вектор на 200 элементов - тормознуто! При одной и той же частоте W цикл бегает по экрану много быстрее чем вектор.((
|
|
|
kwisp |
27.10.2010, 22:20
Сообщение
#12
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
QMainWindow |
27.10.2010, 22:32
Сообщение
#13
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
kwisp |
27.10.2010, 22:41
Сообщение
#14
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
При одной и той же частоте W цикл бегает по экрану много быстрее чем вектор этого в коде не увидел. где вектор.? подпиши все переменные. for(i=0; i<200; i++) { TraceBufferX.push_front(0); TraceBufferY.push_front(0); } вот это вообще странная запись |
|
|
QMainWindow |
27.10.2010, 22:49
Сообщение
#15
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сделал, чтобы не писать оператора if, когда нужно удалять последний элемент, след же не бесконечный. Буфера - координаты точек следа по x и y. t - время.
могу прогу скинуть, код короткий |
|
|
Алексей1153 |
28.10.2010, 0:17
Сообщение
#16
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
QMainWindow, я ж предложил кольцо сделать. Размер вектора не меняется при этом. Это будет просто аналог статического массива на время жизни экземпляра вектора
а тормоза вот тут
вот, чем надо выводить полилинию из вектора-кольца void QPainter::drawLines ( const QLine * lines, int lineCount ) могу прогу скинуть, код короткий скинь. Только в 3 ночи возиться лично я не буду - я скоро спать )) Сообщение отредактировал Алексей1153 - 29.10.2010, 8:35 |
|
|
QMainWindow |
28.10.2010, 8:28
Сообщение
#17
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вот: http://ifolder.ru/19986495
Код простой, подписывать ничего не стал, т.к. особо и нечего.)) |
|
|
Алексей1153 |
28.10.2010, 8:37
Сообщение
#18
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
QMainWindow, не открывается ссылка. Сделай проще - удали папки release и debug, да архивчик тут подвесь
|
|
|
Алексей1153 |
28.10.2010, 9:35
Сообщение
#19
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
QMainWindow, я скачал таки. Ищу драчовый напильник, доводить до ума )))
вообще то, плоттеры обычно делают в новом классе, так ГОРАЗДО УДОБНЕЕ. Но это переделывать я не буду - сам уж сделаешь Сообщение отредактировал Алексей1153 - 28.10.2010, 9:37 |
|
|
Алексей1153 |
28.10.2010, 11:28
Сообщение
#20
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
вот, что у меня вышло. Правда, кольцевой буфер содержит сейчас QPoint, но нпеределать в QLine не сложно - когда кладёшь очередную точку добавляй линию. Это сделай сам, а мне щас работать надо ))
приращение времени я в регулируемое окошко не выводил, тоже сам делай m_t+=3;//dt; |
|
|
Текстовая версия | Сейчас: 28.11.2024, 7:30 |