39 Repos
Uses four-by-four homogeneous matrices to perform linear and affine transformations for positioning and projecting 3D geometry.
Distinct from Coordinate and Viewport Transformations: Distinct from general coordinate and viewport transformations: focuses on the matrix-based math for 3D geometry.
Explore 39 awesome GitHub repositories matching graphics & multimedia · Matrix Transformation Engines. Refine with filters or upvote what's useful.
jsPDF is a JavaScript PDF generation library and client-side engine that produces documents directly on the user's device. It provides a scriptable interface for creating PDF files within web browsers and other JavaScript runtime environments without requiring a backend server. The library includes a tool for defining document dimensions, orientation, and measurement units to control page layout. It also functions as a Unicode font integrator, allowing for the embedding of custom font files to support diverse languages and special characters. Capability areas cover dynamic document automatio
Applies mathematical matrices to scale, rotate, and translate graphics elements within the document.
Tinyrenderer is a C++ library designed as an educational tool for building a 3D graphics pipeline from scratch. It provides a software-defined rendering environment that executes all geometric transformations and rasterization tasks on the central processor, intentionally avoiding reliance on external hardware acceleration or graphics libraries. The project serves as a pedagogical resource for understanding the fundamental mathematical principles of computer graphics. It enables users to implement custom shader pipelines and core rendering techniques, such as barycentric coordinate calculatio
Uses four-by-four homogeneous matrices to perform linear and affine transformations for positioning and projecting 3D geometry.
PhotoView is a custom Android view implementation designed to display high-resolution images with native support for zoom and pan gestures. It provides a zoomable image view and a matrix controller to manage how images are scaled and translated within a mobile user interface. The library handles the detection of pinch-to-zoom and tap gestures to enable interactive image navigation. It manages the transformation matrix of the image to ensure smooth magnification and provides viewport constraints to align photo edges with screen boundaries. The project covers the broader requirements of mobile
Uses coordinate matrices to manage the scaling and translation of high-resolution images within a view.
ImageMagick is a comprehensive software suite for the creation, editing, composition, and conversion of digital images. It functions as both a command-line utility for batch processing and automation, and as a programming library that allows developers to integrate advanced image manipulation capabilities into external applications. The project is distinguished by its modular architecture, which supports hundreds of image formats through a pluggable coder system and external delegate libraries. It is designed for high-performance environments, utilizing memory-mapped pixel caching, stream-ori
Applies affine transformations including rotation, scaling, and translation using matrices.
DearPyGui is a GPU-accelerated, immediate-mode graphical user interface framework for Python. It provides a high-performance toolkit for building interactive desktop applications by leveraging native hardware-accelerated rendering backends across multiple operating systems. By utilizing an immediate-mode execution model, the library offers direct control over the rendering loop and element state, enabling the creation of responsive, dynamic interfaces. The framework distinguishes itself through its ability to handle complex, high-frequency visual updates, making it suitable for real-time data
Applies matrix transformations to drawing items for hierarchical positioning, rotation, and scaling.
This project is a generative adversarial network designed for image animation and motion transfer. It functions as a computer vision framework that synthesizes video sequences by applying motion patterns extracted from a driving video onto a static source image. The model distinguishes itself by using a keypoint-based representation to decouple object appearance from temporal movement. By tracking structural deformations through learned latent coordinates, it performs motion retargeting and synthetic media production without requiring manual annotations or object-specific training data. The
Estimates local coordinate shifts to warp source image features into the target pose defined by the driving video.
MNN is a high-performance inference engine and framework designed for on-device machine learning. It provides a comprehensive environment for executing, optimizing, and deploying neural network models directly on mobile and resource-constrained edge devices. The framework distinguishes itself through a robust model optimization toolkit that supports quantization, compression, and structural graph manipulation to minimize memory footprint and maximize execution speed. It features a modular architecture that abstracts hardware-specific backends, allowing models to run efficiently across diverse
Calculates affine transformation matrices for geometric image operations like scaling and rotation during inference preprocessing.
Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase. The engine is designed for broad deployment, allowing applications to be compiled and run across desktops, mobile devices, web browsers, and gaming consoles. It distinguishes itself by integrating custom shader programming for specialized visual effects and providing haptic feedback control for mobile devices and gamepads. The framework covers core game development ca
Implements matrix-based operations for scaling, rotating, and translating 2D image planes.
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Applies RGBA matrix transforms to buffer cells to achieve advanced color blending and visual effects.
svg.js is a JavaScript library and toolkit for programmatically creating, modifying, and querying Scalable Vector Graphics in the browser. It functions as a programmable interface and DOM wrapper that allows developers to manipulate vector elements through a standardized API rather than writing raw XML. The library includes a dedicated animation framework for creating fluid motion and visual transitions. This is supported by tools for path morphing and the use of timelines and easing functions to animate vector graphics. The toolkit covers a broad range of capabilities, including geometric t
Uses matrix-based calculations for rotations, scaling, and translations of SVG elements.
This project is a header-only C++ library designed for graphics mathematics, providing a comprehensive suite of vector, matrix, and quaternion types. It is built using template metaprogramming to generate mathematical primitives at compile time, eliminating the need for precompiled binary libraries and allowing for direct integration into existing build systems. The library is distinguished by its strict adherence to the OpenGL Shading Language specification, ensuring that mathematical results remain consistent across both CPU and GPU code. It provides specialized utilities for managing float
Computes the inverse of affine matrices or the inverse transpose of floating-point matrices to support specialized graphics transformations.
pypdf is a Python library for parsing, manipulating, and generating PDF documents. It provides high-level operations for document processing, such as merging multiple files into one or splitting a single document into smaller files. The project includes specialized tools for managing interactive elements, including the creation and modification of annotations, hyperlinks, and form fields. It also supports advanced metadata management, allowing for the extraction and modification of standard document properties and XML-based XMP metadata. Beyond basic structural changes, the library covers pa
Modifies elements using 2D transformations like scaling, rotating, and translating.
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
Performs matrix-based calculations for 2D vectors while ignoring translation offsets to maintain direction.
PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents. The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines. It
Calculates 3x3 transformation matrices to determine scaling, rotation, and translation of images.
ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c
Performs 2D vector transformations including rotation, scaling, and translation using matrices.
PixiEditor is a multi-functional graphics suite that serves as a pixel art editor, a node-based graphics editor, and a vector graphics tool. It functions as a shader-based painting tool and 2D animation software, providing a comprehensive environment for creating raster images and frame-by-frame motion. The project is distinguished by its use of node-based workflows for building complex image transformations, visual effects, and custom digital brush designs. It utilizes a shader-based brush engine and a node graph to define personalized painting tool behaviors and procedural animations. The
Applies RGBA color matrix transformations to adjust brightness, contrast, saturation, and hue of pixels.
scikit-image is a Python image processing library and scientific image analysis toolkit. It provides a framework for digital image processing and computer vision, utilizing numerical arrays for pixel-level manipulations. The library enables the quantification of image properties and the detection of visual features, such as edges and blobs. It includes tools for image segmentation and the extraction of textures and patterns to characterize objects within visual data. Capabilities cover image manipulation through color space conversion, geometric transformations, and digital restoration. It a
Provides matrix-based 2D transformations for scaling, rotating, and aligning images.
melonJS is a lightweight HTML5 game engine for building 2D games in the browser using JavaScript. It provides a complete framework for sprite animation, tilemap loading, physics simulation, input handling, and audio playback, with a unified rendering system that automatically switches between WebGL and Canvas2D backends without code changes. The engine distinguishes itself through several integrated capabilities. It features a per-sprite shader pipeline for custom fragment shader effects, a SAT-based collision engine with swappable physics adapters (including built-in SAT, Matter.js, and Plan
Applies translation, rotation, scaling, and projection matrix transformations to the rendering context.
Dieses Projekt ist eine umfassende Sammlung von C++-Bibliotheken und Toolkits, die Referenzimplementierungen für Datenstrukturen, Graphenalgorithmen und bitweise Logik bereitstellen. Es dient als C++-Algorithmen-Referenz mit über 180 gelösten Programmieraufgaben und einem spezialisierten Toolkit für Competitive Programming. Das Repository zeichnet sich durch umfangreiche Low-Level-Bibliotheken zur Bit-Manipulation für Paritätsprüfungen, Endianness-Erkennung und XOR-basierte Logik aus. Es bietet zudem eine breite Palette an Referenzlösungen für komplexe algorithmische Herausforderungen in den Bereichen Backtracking, Graphentheorie und dynamische Programmierung. Die Funktionalität umfasst grundlegende lineare und hierarchische Datenstrukturen, einschließlich verketteter Listen, Stacks, Queues und binärer Suchbäume. Es enthält eine vollständige Suite von Graphenalgorithmen für Pfadsuche und Spannbäume, verschiedene Sortier- und Suchmethoden, Matrix-Transformationen sowie Dienstprogramme zur String-Verarbeitung. Darüber hinaus deckt es mathematische Berechnungsfunktionen, verlustfreie Datenkompression und grundlegende kryptografische Chiffren ab.
Implements grid rotations and spiral sequence output for two-dimensional arrays.
Macaw ist eine Swift-Vektorgrafikbibliothek und ein Animations-Framework, das zum Erstellen und Rendern skalierbarer geometrischer Formen und Texte verwendet wird. Es fungiert als SVG-Rendering-Engine und interaktives Vektorgrafik-Toolkit zur Anzeige komplexer Grafiken bei gleichbleibender Bildqualität in jeder Skalierung. Das Framework ermöglicht die Animation von Formeigenschaften und Knotentransformationen, einschließlich der Fähigkeit, einen Vektorpfad in einen anderen zu morphen. Es erlaubt die Integration externer SVG-Dateien sowie die Anwendung linearer und radialer Verläufe auf Füllungen und Konturen. Das Toolkit deckt eine Reihe von Funktionen ab, einschließlich des Renderns von Rasterbildern und Texten, der Gruppierung von Szenenelementen und der Handhabung von Benutzerinteraktionen wie Tippen, Rotieren, Schwenken und Zoomen auf einzelnen Vektorknoten.
Implements matrix-based calculations for rotating, scaling, and translating 2D vector elements.