Russian Qt Forum
Апрель 30, 2024, 20:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Алгоритм "прямой, проходящей через две точки"  (Прочитано 4139 раз)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« : Декабрь 02, 2016, 12:33 »

Всем доброго здравия.

Нужно линейно преобразовывать некие коды в значения... т.е. к примеру, есть параметр, который передается в закодированном виде, имеющий диапазон кодов (0-255) ,
а его значения могут варьироваться в диапазоне (-100, 1000)..

Так вот, по сути это делается с помощью формулы уравнения прямой, проходящей через две точки:



подставляем эти данные в формулу и можем найти любое значение параметра по его коду..

Сейчас я "захардкодил" эту формулу у себя сам (завелосипедил).

Собственно, интересует вопрос: а есть ли какие-нить стандартные алгоритмы в STL (или, может в Boost)
для такого линейного преобразования?

Я что-то не могу сформулировать запрос в ГУГЛ и найти то что надо...  Строит глазки
Записан

ArchLinux x86_64 / Win10 64 bit
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Декабрь 02, 2016, 13:54 »

Сейчас я "захардкодил" эту формулу у себя сам (завелосипедил).
И почувствовали угрызения совести, ну как же так, не воспользовался готовым! Не переживайте, здесь велосипедят все, эту ф-цию часто называют lerp или interpoate, оформляют inline или вообще макрухой. И вообще радоваться надо что еще помните общее ур-е прямой  Улыбающийся

Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #2 : Декабрь 03, 2016, 11:48 »

Эх, ясно, спс. Жаль что такого нету.. хотелось бы не париться и быть уверенным в завтрашнем дне (в смысле времени суток).  Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #3 : Декабрь 03, 2016, 12:35 »

завтра формула измениться может?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Декабрь 03, 2016, 12:54 »

Учтите что ур-е прямой не только интерполирует но и экстраполирует. Напр для Ваших данных код > 255 выдаст рез-т > 1000. Обычно это надо пресекать
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #5 : Декабрь 04, 2016, 11:30 »

Цитата: kambala
завтра формула измениться может?

Нет, если только геометрия нашего пространства не поменяется.  Подмигивающий

Цитата: Igors
Учтите что ур-е прямой не только интерполирует но и экстраполирует. Напр для Ваших данных код > 255 выдаст рез-т > 1000. Обычно это надо пресекать

Это само собой, но это уже другой вопрос.

Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.