geometry

package
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2024 License: MIT, Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GaussJordanElimination added in v0.3.1

func GaussJordanElimination(A [][]float64, b []float64) ([]float64, error)

GaussJordanElimination 高斯-约旦消元法求解线性方程组 Ax = b

func NormalizeAngleDegrees added in v0.1.9

func NormalizeAngleDegrees(theta float64) float64

Types

type AffineMatrix added in v0.3.0

type AffineMatrix [2][3]float64

定义一个2x3的仿射变换矩阵

func NewAffineMatrix added in v0.3.1

func NewAffineMatrix(p1, p2, p3, q1, q2, q3 Point) (AffineMatrix, error)

计算仿射变换矩阵

func NewRotationMat added in v0.3.1

func NewRotationMat(center Point, angleDeg float64) AffineMatrix

func NewTranslateRotationMat added in v0.3.1

func NewTranslateRotationMat(pA, pB Point, angleDeg float64) AffineMatrix

NewTranslateRotationMat transforms a point from coordinate system a2 to a1 在数学和计算机图形学中,旋转角度的正负通常遵循右手定则。默认情况下,顺时针方向被认为是负的,而逆时针方向被认为是正的。 O2相对于O1旋转度数

func (AffineMatrix) Transform added in v0.3.1

func (m AffineMatrix) Transform(p Point) Point

应用仿射变换到点上

type AngleDegrees added in v0.3.1

type AngleDegrees float64

func (AngleDegrees) Normalize added in v0.3.1

func (a AngleDegrees) Normalize() AngleDegrees

func (AngleDegrees) Radian added in v0.3.1

func (a AngleDegrees) Radian() AngleRadian

type AngleRadian added in v0.3.1

type AngleRadian float64

func (AngleRadian) Degrees added in v0.3.1

func (a AngleRadian) Degrees() AngleDegrees

type Point

type Point struct {
	X float64
	Y float64
}

Point 结构体用于表示一个点

func RandomPoint added in v0.1.9

func RandomPoint(min, max Point) Point

func (Point) Length added in v0.3.1

func (p Point) Length(p2 Point) float64

PointsLength 计算两点之间的向量长度

func (Point) Rotate added in v0.1.9

func (p Point) Rotate(center Point, angleDeg float64) Point

func (Point) Vector added in v0.3.1

func (p Point) Vector(point Point) Vector

type Point3D added in v0.3.0

type Point3D struct {
	X float64
	Y float64
	Z float64
}

type Rectangle

type Rectangle struct {
	Center Point
	Width  float64
	Height float64
	Angle  float64
}

func NewRect added in v0.3.2

func NewRect(center Point, width, height float64, angleDeg float64) *Rectangle

func (*Rectangle) ContainsPoint added in v0.3.1

func (rect *Rectangle) ContainsPoint(p Point) bool

图片就是第四象限,角度90+θ

func (*Rectangle) Corners added in v0.3.1

func (rect *Rectangle) Corners() [][]float64

type Triangle added in v0.1.6

type Triangle struct {
	A, B, C Point
}

type Vector added in v0.3.1

type Vector struct {
	X float64
	Y float64
}

func NewVector added in v0.3.1

func NewVector(p1, p2 Point) Vector

func (Vector) Angle added in v0.3.1

func (v Vector) Angle() float64

func (Vector) AngleWith added in v0.3.1

func (v Vector) AngleWith(v2 Vector) float64

计算同坐标两个向量之间的角度

func (Vector) Length added in v0.3.1

func (v Vector) Length() float64

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL