Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Графический счетчик на паскале (http://forum.oszone.net/showthread.php?t=29360)

Bazalt 15-10-2004 10:33 203556

Нужно сваять на Pascale графический счетчик (типа как на старых магнитофонах). Т.е. три "вращающихся" колеса с цифрами.

Если вопрос ламерский, просьба не кричать, а ткнуть носом в конкретный хелп или поделиться исходником. Спасибо.

fossil 15-10-2004 17:09 203557

Bazalt
Что-то не очень ясен вопрос

JCooper 16-10-2004 14:42 203558

Bazalt
Кокретизируйте вопрос. Проблемы с графикой или может быть таймером?

Bazalt 16-10-2004 19:27 203559

Согласен, задачу сформулировал плохо.

Интересует именно графическая часть, то есть реализация скролла "колес" с цифрами.

Prisoner 17-10-2004 04:24 203560

Если нужно высокое (или хотя бы среднее) качество графики, то, имхо, легче нарисовать их (знакомый 3d-мастер поможет). Если же дискретность в движении не мешает, то поглядеть какая закономерность в изменении вида изображения некой цифры на барабане т.е. опять-таки повращать руками в каком-либо редакторе графики. Может быть получится понять, как в зависимости от показателя разряда установить визуальное представление.

bgg0408 17-10-2004 04:36 203561

Цитата:

Интересует именно графическая часть, то есть реализация скролла "колес" с цифрами.
т.е. как представить их поворот на экране???
Предлагаю следющий вариант:
3 колеса в нулевом положении...
поворачиваем колесо младшего разряда на n градусов => колесо следующего разряда поворачивается на n/36 градусов => старшего разряда - на n/3.6 градуса
как повернуть колесо?
вариант 1
просто сместить изображение цифр вниз на некоторое число пикселей
вариант 2
физически и математически правильный...
У нас есть колесо, на нем цифры.. Для того, чтобы "правильно" отобразить их на экране, нам надо спроецировать изображение на колесе на плоскость... Для этого есть соответствующие вполне выводимые формулы... Поворачиваем колесо на некоторый угол => соотвествующим образом изменяется его проекция...
PS: я правильно понял вопрос?

[s]Исправлено: bgg0408, 4:37 17-10-2004[/s]

Guest 21-10-2004 12:52 203562

Данная задача довольно тривиальна.
Всё, что нужно это создать массив из 10(или более элементов, если используется другая система счисления) символов:
char*decimal[10,8];
и записать туда графический образ чисел.
Далее с помощью вложенных циклов организуем смещение вывода чисел, т.е. на каждом шаге поднимаем(опускаем) граф. матрицу числа.
Если возникнут вопросы с реализацией - спрашивайте!

Добавлено:

Да, совсем забыл, что граф. матрицу числа лучше всего взять высотой соответствующей кол-ву цифр системы счисления или хотя бы кратной ей.
После смены числа в младшем разряде нужно сместить на 1 пиксель цифру в старшем(следующем).
Эффект колеса  организуется с помощью переноса нижней части матрицы в верхнюю по-строчно.
Промежутки времени между сдвигами определяются спомощью задержек или работой самой программы.


Время: 11:27.

Время: 11:27.
© OSzone.net 2001-