Fix lerp functions
This commit is contained in:
parent
b0108e6e0b
commit
c883ec06db
@ -39,7 +39,7 @@ func MultiLerp (fac float64, stages ...[]image.Point) []image.Point {
|
||||
return result
|
||||
}
|
||||
|
||||
expandedFac := fac * float64(len(stages))
|
||||
expandedFac := fac * float64(len(stages) - 1)
|
||||
|
||||
startIndex := int(expandedFac)
|
||||
if startIndex >= len(stages) { startIndex = len(stages) - 1 }
|
||||
@ -49,7 +49,6 @@ func MultiLerp (fac float64, stages ...[]image.Point) []image.Point {
|
||||
start := stages[startIndex]
|
||||
end := stages[endIndex]
|
||||
partialFac := expandedFac - float64(startIndex)
|
||||
println(startIndex, endIndex, int(partialFac * 100))
|
||||
return Lerp(partialFac, start, end)
|
||||
}
|
||||
|
||||
@ -82,5 +81,5 @@ func Translate (delta image.Point, path []image.Point) {
|
||||
}
|
||||
|
||||
func lerp (fac float64, x, y int) int {
|
||||
return int(float64(x) * fac + float64(y) * (1.0 - fac))
|
||||
return int(float64(x) * (1.0 - fac) + float64(y) * fac)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user