39 dépôts
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.
Ce projet est une collection complète de bibliothèques et de toolkits C++ fournissant des implémentations de référence pour les structures de données, les algorithmes de graphes et la logique binaire. Il sert de référence d'algorithmes C++ contenant plus de 180 problèmes de programmation résolus et un toolkit spécialisé pour la programmation compétitive. Le dépôt se distingue par ses bibliothèques étendues de manipulation de bits de bas niveau pour les contrôles de parité, la détection d'endianness et la logique basée sur XOR. Il fournit également un large éventail de solutions de référence pour des défis algorithmiques complexes impliquant le backtracking, la théorie des graphes et la programmation dynamique. La surface de fonctionnalités couvre les organisateurs de données linéaires et hiérarchiques fondamentaux, y compris les listes chaînées, les piles, les files d'attente et les arbres de recherche binaire. Il inclut une suite complète d'algorithmes de graphes pour la recherche de chemin et les arbres couvrants, diverses méthodes de tri et de recherche, des transformations de matrices et des utilitaires de traitement de chaînes. De plus, il couvre les fonctions de calcul mathématique, la compression de données sans perte et les chiffrements cryptographiques de base.
Implements grid rotations and spiral sequence output for two-dimensional arrays.
Macaw est une bibliothèque de graphiques vectoriels Swift et un framework d'animation utilisé pour créer et rendre des formes géométriques et du texte évolutifs. Il fonctionne comme un moteur de rendu SVG et une boîte à outils de graphiques vectoriels interactifs pour afficher des illustrations complexes tout en maintenant la qualité de l'image à n'importe quelle échelle. Le framework permet l'animation des propriétés de forme et des transformations de nœuds, y compris la capacité de transformer un chemin vectoriel en un autre. Il permet l'intégration de fichiers SVG externes et l'application de dégradés linéaires et radiaux aux remplissages et aux contours. La boîte à outils couvre une gamme de capacités incluant le rendu d'images raster et de texte, le regroupement d'éléments de scène et la gestion des interactions utilisateur telles que les tapotements, rotations, panoramiques et pincements sur des nœuds vectoriels individuels.
Implements matrix-based calculations for rotating, scaling, and translating 2D vector elements.