Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpNmLp 322 of 696 menu
◀ ▶

Интерполяция в C++

Линейная интерполяция задает точку между двумя числами по доле пути от первого ко второму.

Функция lerp из <numeric> принимает начало, конец и коэффициент t. При t = 0 получается первое значение, при t = 1 - второе. Запишем концы и выведем точку посередине:

#include <numeric> #include <iostream> double from = 10.0; double to = 20.0; std::cout << std::lerp(from, to, 0.5) << "\n";

Коэффициент может выходить за отрезок 0-1 - тогда результат лежит на продолжении прямой. Запишем дробные концы с t = 0.25 и выведем:

#include <numeric> #include <iostream> std::cout << std::lerp(0.0, 8.0, 0.25) << "\n";

Интерполируйте между 2.0 и 10.0 с t = 0.75 через std::lerp. Выведите результат.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить