github.com/laof/lite-speed-test@v0.0.0-20230930011949-1f39b7037845/web/render/point.go (about)

     1  package render
     2  
     3  import (
     4  	"math"
     5  
     6  	"golang.org/x/image/math/fixed"
     7  )
     8  
     9  type Point struct {
    10  	X, Y float64
    11  }
    12  
    13  func (a Point) Fixed() fixed.Point26_6 {
    14  	return fixp(a.X, a.Y)
    15  }
    16  
    17  func (a Point) Distance(b Point) float64 {
    18  	return math.Hypot(a.X-b.X, a.Y-b.Y)
    19  }
    20  
    21  func (a Point) Interpolate(b Point, t float64) Point {
    22  	x := a.X + (b.X-a.X)*t
    23  	y := a.Y + (b.Y-a.Y)*t
    24  	return Point{x, y}
    25  }