mirror of
				https://github.com/esimov/pigo.git
				synced 2025-10-31 19:32:40 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			378 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			378 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package gg
 | |
| 
 | |
| import (
 | |
| 	"math"
 | |
| 
 | |
| 	"golang.org/x/image/math/fixed"
 | |
| )
 | |
| 
 | |
| type Point struct {
 | |
| 	X, Y float64
 | |
| }
 | |
| 
 | |
| func (a Point) Fixed() fixed.Point26_6 {
 | |
| 	return fixp(a.X, a.Y)
 | |
| }
 | |
| 
 | |
| func (a Point) Distance(b Point) float64 {
 | |
| 	return math.Hypot(a.X-b.X, a.Y-b.Y)
 | |
| }
 | |
| 
 | |
| func (a Point) Interpolate(b Point, t float64) Point {
 | |
| 	x := a.X + (b.X-a.X)*t
 | |
| 	y := a.Y + (b.Y-a.Y)*t
 | |
| 	return Point{x, y}
 | |
| }
 | 
