Название: Алгоритм "прямой, проходящей через две точки" Отправлено: kuzulis от Декабрь 02, 2016, 12:33 Всем доброго здравия.
Нужно линейно преобразовывать некие коды в значения... т.е. к примеру, есть параметр, который передается в закодированном виде, имеющий диапазон кодов (0-255) , а его значения могут варьироваться в диапазоне (-100, 1000).. Так вот, по сути это делается с помощью формулы уравнения прямой, проходящей через две точки: (https://wikimedia.org/api/rest_v1/media/math/render/svg/cf8a1d4089e10bed659b4fe552c71d2d4bda828f) подставляем эти данные в формулу и можем найти любое значение параметра по его коду.. Сейчас я "захардкодил" эту формулу у себя сам (завелосипедил). Собственно, интересует вопрос: а есть ли какие-нить стандартные алгоритмы в STL (или, может в Boost) для такого линейного преобразования? Я что-то не могу сформулировать запрос в ГУГЛ и найти то что надо... ::) Название: Re: Алгоритм "прямой, проходящей через две точки" Отправлено: Igors от Декабрь 02, 2016, 13:54 Сейчас я "захардкодил" эту формулу у себя сам (завелосипедил). И почувствовали угрызения совести, ну как же так, не воспользовался готовым! Не переживайте, здесь велосипедят все, эту ф-цию часто называют lerp или interpoate, оформляют inline или вообще макрухой. И вообще радоваться надо что еще помните общее ур-е прямой :) Название: Re: Алгоритм "прямой, проходящей через две точки" Отправлено: kuzulis от Декабрь 03, 2016, 11:48 Эх, ясно, спс. Жаль что такого нету.. хотелось бы не париться и быть уверенным в завтрашнем дне (в смысле времени суток). :)
Название: Re: Алгоритм "прямой, проходящей через две точки" Отправлено: kambala от Декабрь 03, 2016, 12:35 завтра формула измениться может?
Название: Re: Алгоритм "прямой, проходящей через две точки" Отправлено: Igors от Декабрь 03, 2016, 12:54 Учтите что ур-е прямой не только интерполирует но и экстраполирует. Напр для Ваших данных код > 255 выдаст рез-т > 1000. Обычно это надо пресекать
Название: Re: Алгоритм "прямой, проходящей через две точки" Отправлено: kuzulis от Декабрь 04, 2016, 11:30 Цитата: kambala завтра формула измениться может? Нет, если только геометрия нашего пространства не поменяется. ;) Цитата: Igors Учтите что ур-е прямой не только интерполирует но и экстраполирует. Напр для Ваших данных код > 255 выдаст рез-т > 1000. Обычно это надо пресекать Это само собой, но это уже другой вопрос. |