- Monotone cubic interpolation
-
Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/23 декабря 2012.
Пока процесс обсуждения не завершён, статью можно попытаться улучшить, однако следует воздерживаться от переименований или немотивированного удаления содержания, подробнее см. руководство к дальнейшему действию.
Не снимайте пометку о выставлении на удаление до окончания обсуждения.
Администраторам: ссылки сюда, история (последнее изменение), журналы, удалить.Монотонная кубическая интерполяция - вариант кубической интерполяции отличающийся тем, что в сплайнах отсутствует всплески.
Один из вариантов реализации на языке программирования Pascal
TMonotoneCubicFactor = record iv2,iv3,tv1,tv2:TVector3f; end; Function MonotoneCubicInterpolation(const factor:TMonotoneCubicFactor; pos:single):TVector3f; var v1,v2:TVector3f; fn:single; begin fn:=(1 - cos(pos * Pi)) * 0.5; v1:=factor.iv2 + factor.tv1*pos; v2:=factor.iv3 + factor.tv2*(pos-1); Result.x:=v1.x * (1-fn) + v2.x * fn; Result.y:=v1.y * (1-fn) + v2.y * fn; Result.z:=v1.z * (1-fn) + v2.z * fn; end; Function GetMonotoneCubicFactor(const iv1,iv2,iv3,iv4:TVector3f):TMonotoneCubicFactor; var v1,v2,v3:TVector3f; L1,L2,L3:single; begin v1 := iv2 - iv1; v2 := iv3 - iv2; v3 := iv4 - iv3; L1 := v1.Length(); L2 := v2.Length(); L3 := v3.Length(); Result.tv1:=v1*L2/L1 + v2*L1/L2; Result.tv1.Normalize(); Result.tv1:=Result.tv1 * 0.666 * L2; Result.tv2:=v2*L3/L2 + v3*L2/L3; Result.tv2.Normalize(); Result.tv2:=Result.tv2 * 0.666 * L2; Result.iv2:=iv2; Result.iv3:=iv3; end;
Функция GetMonotoneCubicFactor принимает в качестве параметров четыре точки. Для точки с индексом i это будут точки: i-1, i, i+1, i+2
Функция MonotoneCubicInterpolation вычисляет отрезок сплайна выходящий из заданной точки
На эту статью не ссылаются другие статьи Википедии. Пожалуйста, воспользуйтесь подсказкой и установите ссылки в соответствии с принятыми рекомендациями.В этой статье не проставлены тематические категории. Вы можете помочь проекту, найдя их или создав новые, а потом добавив их в статью.
Wikimedia Foundation. 2010.