代码拉取完成,页面将自动刷新
package draw
import (
"fmt"
"gitee.com/coodder/unipdf/internal/transform"
)
// Point represents a two-dimensional point.
type Point struct {
X float64
Y float64
}
// NewPoint returns a new point with the coordinates x, y.
func NewPoint(x, y float64) Point {
return Point{X: x, Y: y}
}
// Add shifts the coordinates of the point with dx, dy and returns the result.
func (p Point) Add(dx, dy float64) Point {
p.X += dx
p.Y += dy
return p
}
// AddVector adds vector to a point.
func (p Point) AddVector(v Vector) Point {
p.X += v.Dx
p.Y += v.Dy
return p
}
// Rotate returns a new Point at `p` rotated by `theta` degrees.
func (p Point) Rotate(theta float64) Point {
r := transform.NewPoint(p.X, p.Y).Rotate(theta)
return NewPoint(r.X, r.Y)
}
func (p Point) String() string {
return fmt.Sprintf("(%.1f,%.1f)", p.X, p.Y)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。