All Projects → AlexMarinescu → pyGameMath

AlexMarinescu / pyGameMath

Licence: other
Math library for game programming in python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pyGameMath

Tutorials
AI-related tutorials. Access any of them for free → https://towardsai.net/editorial
Stars: ✭ 204 (+920%)
Mutual labels:  math, linear-algebra
HLML
Auto-generated maths library for C and C++ based on HLSL/Cg
Stars: ✭ 23 (+15%)
Mutual labels:  math, math-library
Mathnet Numerics
Math.NET Numerics
Stars: ✭ 2,688 (+13340%)
Mutual labels:  math, linear-algebra
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+9945%)
Mutual labels:  math, linear-algebra
abacus
📐 C# cross precision 3D maths library.
Stars: ✭ 35 (+75%)
Mutual labels:  math, 3d-math-library
Numerix
A collection of useful mathematical functions in Elixir with a slant towards statistics, linear algebra and machine learning
Stars: ✭ 159 (+695%)
Mutual labels:  math, linear-algebra
mathcore
Advanced .NET math library (.NET Standard).
Stars: ✭ 24 (+20%)
Mutual labels:  math, linear-algebra
Swix
Swift Matrix Library
Stars: ✭ 581 (+2805%)
Mutual labels:  math, linear-algebra
zlm
Zig linear mathemathics
Stars: ✭ 67 (+235%)
Mutual labels:  linear-algebra, game-math
SCNMathExtensions
Math extensions for SCNVector3, SCNQuaternion, SCNMatrix4
Stars: ✭ 32 (+60%)
Mutual labels:  math, math-library
Numphp
Mathematical PHP library for scientific computing
Stars: ✭ 120 (+500%)
Mutual labels:  math, linear-algebra
Mathematics for Machine Learning
Learn mathematics behind machine learning and explore different mathematics in machine learning.
Stars: ✭ 28 (+40%)
Mutual labels:  math, linear-algebra
Aardvark.base
Aardvark is an open-source platform for visual computing, real-time graphics and visualization. This repository is the basis for most platform libraries and provides basic functionality such as data-structures, math and much more.
Stars: ✭ 117 (+485%)
Mutual labels:  math, linear-algebra
Tensor
A library and extension that provides objects for scientific computing in PHP.
Stars: ✭ 146 (+630%)
Mutual labels:  math, linear-algebra
Notecalc3
NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
Stars: ✭ 879 (+4295%)
Mutual labels:  math, linear-algebra
MathImprove
Modify and Improve math expressions.
Stars: ✭ 13 (-35%)
Mutual labels:  math, math-library
Machine Learning Curriculum
Complete path for a beginner to become a Machine Learning Scientist!
Stars: ✭ 279 (+1295%)
Mutual labels:  math, linear-algebra
Grassmann.jl
⟨Leibniz-Grassmann-Clifford⟩ differential geometric algebra / multivector simplicial complex
Stars: ✭ 289 (+1345%)
Mutual labels:  math, linear-algebra
topologic
Visualiser for basic geometric primitives and fractals in arbitrary-dimensional spaces
Stars: ✭ 39 (+95%)
Mutual labels:  math, linear-algebra
Linear-Algebra-and-Its-Applications-notes
《线性代数及其应用》笔记
Stars: ✭ 196 (+880%)
Mutual labels:  math, linear-algebra

ScreenShot

pyGameMath Build Status Code Health Codacy Badge

This is a math library written in python for 2D/3D game development which is also compatible with pypy. I made it while I was learning more about the math used in graphics development and for personal use in OpenGL related projects.
It’s still a work in progress.

Dependencies:

It uses six to allow support between python2.x and python3.x.

Install:

To install the library just do

pip install gem

It will install the dependicies automatically.

Documentation and Examples:

The examples on how to use the library and more info are maintained on the github wiki:

Wiki Link

Supported features:

NxN Matrices:
  • Transpose
  • Scale
  • NxN Matrix Multiplication
  • NxN Matrix * N Dimensions Vector Multiplication
  • 4x4 Perspective Projection Matrix
  • lookAt 4x4 Matrix
  • Translation (3x3, 4x4)
  • Rotation (2x2, 3x3, 4x4)
  • Shear (2x2, 3x3, 4x4)
  • Project
  • Unproject
  • Orthographic Projection
  • Perspective Projection
  • lookAt 4x4 matrix
  • Determinant 2x2, 3x3, 4x4
  • Inverse 2x2, 3x3, 4x4
N Dimensions Vectors:
  • Dot Product
  • Cross Product (3D, No 7D as of now)
  • 2D get angle of vector
  • 2D -90 degree rotation
  • 2D +90 degree rotation
  • Refraction
  • Reflection
  • Negate
  • Normalize
  • Linear Interpolation
  • Max Vector/Scalar
  • Min Vector/Scalar
  • Clamp
  • Transform
  • Barycentric
  • isInSameDirection test
  • isInOppositeDirection test
  • 3D Vector swizzling, similar to GLSL
  • 3D Vector idenitities
Quaternions:
  • Normalize
  • Dot Product
  • Rotation
  • Conjugate
  • Inverse
  • Negate
  • Rotate X, Y, Z
  • Arbitary Axis Rotation
  • From angle Rotation
  • To Rotation Matrix (4x4)
  • From Rotation Matrix (4x4)
  • Cross Product
  • Vector3D, Scalar Multiplication
  • Logarithm
  • Exponential
  • Power
  • Liner Interpolation (LERP)
  • Spherical Interpolation (SLERP)
  • Spherical Interpoliaton No Invert
  • Quaternion Splines (SQUAD)
Plane:
  • Define using
    • 3 Vectors
    • Point and Normal
    • Manual input
  • Dot Product
  • Normalize
  • Best fit normal and D value
  • Distance from plane to a point
  • Point location
  • Output
  • Flip
Ray:
  • Rotate using Matrix
  • Rotate using Quaternions
  • Translate
  • Output
Legendre Polynomial (Experimental, not complete):
  • For spherical harmonics
  • (l - m)PML(x) = x(2l - 1)PML-1(x
  • Irradiance maps
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].