From 1f109e339199ba3b1ea25bdfb04be7ba402b290a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20D=C3=B3ka?= Date: Thu, 5 Nov 2020 19:19:58 +0100 Subject: [PATCH] cleaning up bezier formula --- geometry.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/geometry.go b/geometry.go index 55620a1..a3371ef 100644 --- a/geometry.go +++ b/geometry.go @@ -1158,9 +1158,10 @@ func (b Bezier) Point(t float64) Vec { } inv := 1.0 - t + c, d, e, f := inv*inv*inv, inv*inv*t*3.0, inv*t*t*3.0, t*t*t - return b.Start.Scaled(inv * inv * inv). - Add(b.StartHandle.Scaled(inv * inv * t * 3.0)). - Add(b.EndHandle.Scaled(inv * t * t * 3.0). - Add(b.End.Scaled(t * t * t))) + return V( + b.Start.X*c+b.StartHandle.X*d+b.EndHandle.X*e+b.End.X*f, + b.Start.Y*c+b.StartHandle.Y*d+b.EndHandle.Y*e+b.End.Y*f, + ) }