Russian Qt Forum
Ноябрь 25, 2024, 19:51
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
функция для перевода (ассоциации) диапазонов
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: функция для перевода (ассоциации) диапазонов (Прочитано 3087 раз)
hunk
Гость
функция для перевода (ассоциации) диапазонов
«
:
Февраль 28, 2015, 15:25 »
Получаю значения от осей джойстика в диапазоне от -32768 до 32768. Мне необходимо привести этот диапазон к значению от -255 до 255. Не могу найти информации как это сделать. В языке разработки для Arduino есть функция "map".
Пример: map(value, 0, 1023, 0, 255) она позволяет приравнять входящее значение от 0 до 1023 к значению от 0 до 255.
Подскажите как сделать подобное на С/С++
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: функция для перевода (ассоциации) диапазонов
«
Ответ #1 :
Февраль 28, 2015, 15:46 »
Напр так
Код
C++ (Qt)
inline
int
To255
(
int
val
)
{
return
int
(
val
*
255.0
/
32768
+
0.5
)
;
}
Записан
hunk
Гость
Re: функция для перевода (ассоциации) диапазонов
«
Ответ #2 :
Февраль 28, 2015, 20:59 »
Цитата: Igors от Февраль 28, 2015, 15:46
Напр так
Код
C++ (Qt)
inline
int
To255
(
int
val
)
{
return
int
(
val
*
255.0
/
32768
+
0.5
)
;
}
Спасибо!
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: функция для перевода (ассоциации) диапазонов
«
Ответ #3 :
Февраль 28, 2015, 22:03 »
Школьный курс геометрии - уравнение прямой, проходящей через две точки:
(x - x1) / (x2 - x1) = (y - y1)/(y2 - y1)
Нужно просто немного смекалки
x1 = -32768
x2 = 32768
y1 = -255
y2 = 255
x - входящее значение -32768 .. 32768
y - результат -255 .. 255
«
Последнее редактирование: Февраль 28, 2015, 22:05 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: функция для перевода (ассоциации) диапазонов
«
Ответ #4 :
Февраль 28, 2015, 22:22 »
hunk, можно было посмотреть код этой функции в Arduino, у них даже на сайте есть:
https://www.arduino.cc/en/reference/map
И там она универсальная.
Записан
Юра.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...