28 dépôts
Mathematical application of matrices to transform points in a 2D plane.
Distinguishing note: No candidate addresses generic 2D coordinate point transformation via matrices for document geometry.
Explore 28 awesome GitHub repositories matching graphics & multimedia · Coordinate Transformations. Refine with filters or upvote what's useful.
uPlot is a high-performance canvas time series charting library designed to render millions of data points with high frame rates. It functions as a high-frequency data visualizer and a real-time data stream plotter, utilizing the HTML5 Canvas API to maintain responsiveness when plotting large temporal datasets. The project distinguishes itself as a plugin-based visualization framework that allows for custom renderers to create specialized visuals such as heatmaps and box-and-whisker plots. It also serves as an interactive financial charting tool, specifically supporting OHLC charts, bars, and
Implements fast mathematical transforms to map raw data coordinates directly to screen pixel positions.
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 mathematical application of matrices to transform 2D points in a plane.
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
Applies a transformation matrix to a point to recalculate its position in a plane.
The Book of Shaders est un guide éducatif interactif et un programme pour apprendre la programmation de shaders de fragment GLSL afin de créer des graphiques procéduraux et des effets visuels. Il fournit un chemin d'apprentissage structuré et un guide de référence catégorisé pour les types de données, les fonctions intégrées et les opérations mathématiques utilisées dans le développement de shaders. Le projet propose un bac à sable de shader basé sur le web et un éditeur interactif qui permet une itération et une visualisation en temps réel du code GLSL. Les utilisateurs peuvent expérimenter avec l'art procédural et partager leurs résultats via des URL uniques. Le programme couvre un large éventail de capacités de programmation graphique, y compris les champs de distance signés, les transformations de coordonnées, la synthèse basée sur le bruit et les filtres de traitement d'image. Il englobe également des techniques avancées telles que le ray marching pour le rendu de scène tridimensionnelle et la simulation de systèmes physiques dynamiques. Le contenu éducatif est dispensé via un système de construction qui transforme les fichiers source markdown en pages HTML localisées et documents multi-formats, y compris PDF, EPUB et LaTeX.
Transforms coordinate mappings to create rotation, scaling, wrapping, and kaleidoscopic patterns.
heatmap.js is a JavaScript data visualization library used to render data density visualizations on a web page. It functions as an HTML5 canvas heatmap library that represents the intensity of data points across a coordinate system using color gradients. The library provides tools for geospatial distribution mapping and user behavior analysis, such as mapping click patterns and interaction hotspots. It is also used to add visual intensity layers to interactive data dashboards to identify trends and anomalies.
Translates abstract data coordinates into specific pixel offsets to accurately place heat intensity markers.
ScottPlot is a cross-platform, high-performance charting library for .NET that renders interactive plots across desktop and web GUI frameworks including Windows Forms, WPF, MAUI, Avalonia, Blazor, and WinUI. It provides an optimized rendering engine capable of displaying millions of data points with interactive pan, zoom, and live data streaming, while also supporting image export to formats like PNG and SVG for file output, cloud applications, and notebooks. The library distinguishes itself through a comprehensive set of chart types including scatter, line, bar, pie, heatmap, financial, rada
Core rendering capability that maps data coordinates to pixel positions for all plot types.
Hilo is an HTML5 game engine for building 2D games that run across browsers and devices. It renders graphics through Canvas, DOM, or WebGL backends, automatically selecting the best option for the target environment. The engine provides a complete game development solution with sprite, skeletal, and particle animation, along with a texture atlas system for efficient image loading and rendering. The framework distinguishes itself through its integration of the DragonBones skeletal animation engine, which drives bone-based character movement without frame-by-frame sprites, and its Chipmunk phys
Applies transformation matrices to map coordinates and manipulate object position, scale, and rotation.
LoginCritter est un composant d'interface utilisateur d'avatar interactif et un visualiseur de saisie en temps réel pour les formulaires web. Il fonctionne comme un élément de formulaire gamifié qui anime les mouvements et le regard d'un personnage en réponse au focus sur le champ de texte et à l'activité de frappe de l'utilisateur. Le composant mappe les positions du curseur et le nombre de caractères vers des transformations fluides de l'avatar et des rotations de la tête. Il gère les transitions d'état émotionnel en changeant les humeurs et expressions visuelles basées sur des déclencheurs textuels spécifiques et le volume de saisie. Le système utilise une boucle d'animation pilotée par les événements pour synchroniser l'état du personnage avec les événements de saisie du DOM. Cela fournit un retour visuel non verbal et des animations interactives qui reflètent les propriétés actuelles d'un élément de saisie de texte HTML actif.
Implements mathematical coordinate transformations to map cursor positions to avatar head rotation and positioning.
Live-Charts est une bibliothèque de visualisation de données .NET fournissant une collection de graphiques, cartes et jauges interactifs. Elle fonctionne comme un moteur de graphiques en temps réel et une bibliothèque graphique multi-format conçue pour rendre des jeux de données complexes au sein d'applications .NET. La bibliothèque propose des outils pour créer des tableaux de bord de données interactifs capables d'explorer de grands jeux de données. Ceci est supporté par un système de zoom, de panoramique et d'utilisation d'axes de coordonnées multiples pour naviguer parmi des centaines de milliers de points de données. Le moteur de visualisation prend en charge une variété de formats, notamment les barres, les lignes, les cartes thermiques et les cartes géographiques. Il inclut des capacités pour la surveillance de données en temps réel et le développement de tableaux de bord de bureau pour suivre les métriques et tendances en direct.
Provides a rendering engine that transforms raw data coordinates into precise pixel positions on the screen.
Il s'agit d'une bibliothèque de visualisation de grammaire graphique utilisée pour construire des graphiques en mappant des données tabulaires vers des marques visuelles. Elle fonctionne comme un outil de visualisation de données SVG et une API d'analyse exploratoire des données, permettant aux utilisateurs de rendre des visualisations complexes et des cartes géographiques. La bibliothèque dispose d'un moteur de rendu de carte GeoJSON qui projette des coordonnées sphériques dans un espace pixel bidimensionnel et d'une interface de visualisation Apache Arrow pour un traitement de données à haute efficacité. Sa surface de capacités couvre la transformation des données via le binning et le regroupement, l'encodage visuel via l'inférence automatique d'échelle et l'application de schémas de couleurs, ainsi que la génération de multiples petits graphiques (small multiples). Elle prend en charge le rendu de formes géométriques dans des vues en couches et l'exportation d'images statiques dans des environnements côté serveur.
Provides custom functions that operate on pixel coordinates and colors to adjust mark positions after scale construction.
LiveCharts2 est une bibliothèque de visualisation de données .NET et une boîte à outils de traçage multiplateforme. Il fournit une collection de graphiques, de cartes et de jauges interactifs conçus pour représenter des jeux de données complexes à travers divers frameworks d'interface utilisateur .NET et systèmes d'exploitation. Le projet implémente une approche de traçage d'interface utilisateur multi-framework, utilisant une API unique qui reste cohérente à travers différentes piles technologiques d'interface utilisateur .NET. Cela permet la création de représentations visuelles responsives et de tableaux de bord interactifs qui réagissent aux entrées de l'utilisateur et aux changements d'état. La boîte à outils couvre le mappage de données en temps réel et le rendu de graphiques de données dynamiques. Elle utilise une couche d'abstraction pour traduire les API de graphique en commandes de dessin spécifiques au framework, permettant l'affichage de visualisations à travers divers appareils.
Provides transforms that map raw data values to specific pixel positions using configurable axes and scaling.
WilliamChart est une bibliothèque de visualisation de données Android et une boîte à outils utilisée pour rendre des graphiques et diagrammes interactifs au sein d'applications Android. Il fonctionne comme une bibliothèque de composants d'interface utilisateur pour intégrer des tableaux de bord et des métriques pilotés par les données dans les mises en page Android. La bibliothèque inclut un composant spécialisé pour représenter des données catégorielles proportionnelles sous forme de graphiques en anneau (donut charts), qui sont des graphiques circulaires avec des centres creux. Elle fournit un moteur de dessin qui utilise des API de bas niveau pour mapper les données numériques aux coordonnées de pixels sur l'écran.
Maps dataset values to a visual coordinate system for the accurate placement of graphical elements.
GeoPandas est une bibliothèque Python qui étend pandas avec une prise en charge native des données géospatiales. Elle traite les géométries géographiques — points, lignes et polygones — comme un type de colonne de premier ordre au sein des DataFrames, permettant aux utilisateurs de stocker, manipuler et analyser des données spatiales vectorielles parallèlement aux attributs tabulaires traditionnels. La bibliothèque s'appuie sur des composants géospatiaux éprouvés : elle utilise Shapely pour toutes les opérations géométriques, Fiona et GDAL pour la lecture et l'écriture de formats de fichiers spatiaux standard, PyProj pour la reprojection de coordonnées, et un index spatial R-tree (via Shapely) pour accélérer les requêtes spatiales. Ce qui distingue GeoPandas, c'est son intégration transparente de flux de travail d'analyse spatiale complets au sein de l'écosystème pandas. Les utilisateurs peuvent effectuer des transformations de systèmes de référence de coordonnées pour aligner les données entre différentes projections, calculer des propriétés géométriques telles que l'aire et la longueur, générer des zones tampons (buffers) et des centroïdes, et effectuer des opérations d'ensembles comme des intersections et des unions. La bibliothèque prend également en charge le filtrage basé sur la localisation, les jointures spatiales qui combinent des jeux de données basés sur des relations géométriques, et les analyses de superposition qui produisent des résultats agrégés. Pour l'exploration, elle offre des capacités de visualisation cartographique, produisant des tracés statiques et des cartes interactives directement à partir de tables spatiales. Au-delà de ces différenciateurs clés, GeoPandas gère le cycle de vie complet des données géographiques : importation et exportation vers des formats courants comme Shapefile, GeoJSON et GeoPackage ; gestion de tables spatiales liant la géométrie aux colonnes d'attributs ; et interrogation ou filtrage d'entités par localisation, conditions d'attributs ou prédicats spatiaux. Sa documentation couvre l'installation, une référence API complète et des guides utilisateur qui détaillent les tâches géospatiales courantes.
Transforms geometry coordinates between different geographic and projected coordinate reference systems.
DragGAN est un éditeur et manipulateur d'images génératives interactif qui permet aux utilisateurs de remodeler la sortie visuelle en déplaçant des points de contrôle sur une variété de réseaux génératifs. Il fonctionne comme un outil d'édition d'image basée sur des points, mappant les déplacements de coordonnées définis par l'utilisateur vers l'espace latent d'un modèle génératif pour déformer les images. Le système inclut un outil d'inversion d'image générative qui convertit les photographies réelles en représentations latentes. Ce processus permet la manipulation interactive de contenu non généré en amenant des images du monde réel dans un format compatible pour le réseau antagoniste génératif. Le projet couvre une large surface de capacités, y compris l'inversion image-vers-latent, le suivi de points différentiable et l'optimisation par descente de gradient itérative. Ces composants travaillent ensemble pour traduire les mouvements de poignées graphiques en modifications visuelles précises tout en contraignant la sortie à une distribution d'images réalistes.
Translates graphical handle-drag inputs into coordinate offsets used for latent space optimization.
Plotters is a data visualization library for the Rust programming language used to create 2D and 3D charts, plots, and mathematical visualizations. It functions as a multi-backend rendering engine and coordinate mapping framework that translates raw data values into pixel coordinates through customizable chart contexts. The library distinguishes itself through its ability to export graphics to multiple formats, including SVG, BitMap, and HTML5 canvas. It provides specific capabilities for 3D graphics plotting, featuring adjustable camera viewpoints and projection matrices to manage spatial da
Translates abstract data values into physical pixel coordinates using configurable chart contexts and projection matrices.
Il s'agit d'une bibliothèque PDF basée sur Go utilisée pour la génération programmatique de documents PDF sans dépendre de dépendances C externes. Elle fonctionne comme un générateur de documents, un moteur de mise en page, un outil de sécurité et un moteur de graphiques vectoriels pour créer des fichiers contenant du texte, des images et des formes géométriques. Le projet se distingue par un moteur de mise en page basé sur des cellules qui gère automatiquement le retour à la ligne du texte, les sauts de page et le positionnement structuré. Il fournit des capacités spécialisées pour les graphiques vectoriels, notamment le rendu de courbes de Bézier et de polygones, ainsi qu'une boîte à outils de sécurité pour appliquer la protection par mot de passe et restreindre les autorisations d'impression ou de modification. La bibliothèque couvre un large éventail de capacités documentaires, notamment la gestion des polices pour les polices TrueType et OpenType, l'intégration d'images avec prise en charge de la transparence et la création d'éléments interactifs comme des hyperliens et des signets. Elle gère également la visualisation de données pour les codes-barres et les graphiques, le rendu de sous-ensembles HTML pour le style du texte et la gestion des calques de contenu optionnels et des modèles de documents réutilisables.
Applies transformation matrices to rotate, scale, or translate text and graphics relative to a coordinate point.
Shapely est une bibliothèque d'analyse géométrique pour la manipulation et l'analyse d'objets géométriques plans. Elle fonctionne comme une boîte à outils de géométrie computationnelle, un moteur de prédicats spatiaux pour évaluer les relations topologiques et un processeur de géométrie vectorisé. La bibliothèque se distingue par un processeur de géométrie vectorisé capable d'exécuter des opérations sur des tableaux de coordonnées avec un traitement parallèle multi-thread. Elle utilise l'optimisation de géométrie préparée pour accélérer les tests répétés de confinement et d'intersection, et implémente l'indexation spatiale R-tree pour une récupération efficace des géométries intersectantes et des plus proches voisins. La boîte à outils couvre un large éventail de capacités, incluant les opérations ensemblistes, les transformations affines et la génération de structures complexes telles que les diagrammes de Voronoi et les triangulations de Delaunay. Elle fournit des outils pour calculer des métriques intrinsèques comme l'aire et la longueur, ainsi que des utilitaires pour la validation topologique et la réparation de géométrie. Shapely assure l'interopérabilité des données géospatiales en analysant et sérialisant les données géométriques entre les formats GeoJSON, Well-Known Text et Well-Known Binary.
Implements mathematical application of matrices to transform 2D points and reshape geometries.
Ce projet est une bibliothèque C++ et un pilote matériel conçus pour contrôler des panneaux LED RGB Hub75 utilisant les broches GPIO d'un Raspberry Pi. Il fonctionne à la fois comme un contrôleur de panneau bas niveau et une bibliothèque graphique pour rendre du contenu visuel sur des grilles LED basse résolution. Le système se distingue par un ensemble complet d'outils de configuration matérielle, incluant le mapping de pixels personnalisé, la rotation et la mise en miroir pour correspondre aux géométries d'affichage physiques. Il prend en charge le chaînage multi-affichage dans des configurations parallèles et série et fournit un binding Python pour exposer la logique C++ centrale pour l'automatisation matérielle. La bibliothèque couvre un large éventail de capacités média, incluant le rendu de polices bitmap BDF, le texte défilant, les formes géométriques et les GIFs animés. Elle prend également en charge la lecture vidéo multi-threadée et utilise le double-buffering pour éviter le déchirement d'écran (tearing) et le scintillement pendant les animations. Les contrôles au niveau matériel incluent la modulation PWM pour le réglage de la profondeur de couleur, la surveillance des entrées GPIO et la correction de multiplexage pour assurer la compatibilité avec diverses normes de câblage de panneaux.
Translates logical image coordinates to physical LED positions through rotation, mirroring, and custom layout transforms.
PyQtGraph is a scientific plotting and graphics framework built for PyQt and PySide applications, providing fast, interactive 2D and 3D visualizations with GPU-accelerated rendering. It serves as both a real-time signal monitoring system for streaming time-series data and a toolkit for constructing interactive data dashboards with dockable panels, parameter trees, and custom widgets. The library also includes a node-based visual flowchart tool for building data processing pipelines and a scientific graphics export system that saves plots as PNG, SVG, or CSV and converts items to Matplotlib for
Provides coordinate transformation utilities for mapping between data, view, and screen spaces in interactive plots.
Mapshaper est un outil pour traiter, simplifier et convertir des données vectorielles géographiques, disponible sous forme d'interface en ligne de commande, d'outil de navigateur web et de bibliothèque Node.js. Il fonctionne comme un projecteur de coordonnées, un convertisseur de données vectorielles et un optimiseur d'actifs de carte web conçu pour transformer les jeux de données spatiaux entre différents systèmes de référence de coordonnées et formats de fichiers. Le projet se distingue par sa simplification de géométrie préservant la topologie, qui réduit le nombre de sommets tout en maintenant les limites partagées pour éviter les lacunes et les chevauchements. Il optimise davantage les actifs pour le web grâce à la quantification des coordonnées et au filtrage des attributs pour réduire la taille des fichiers. Le système couvre un large éventail de capacités, y compris la reprojection de coordonnées utilisant des chaînes PROJ et des codes EPSG, et la conversion de données entre des formats tels que Shapefile, GeoJSON, TopoJSON, GeoPackage et KML. Il fournit des outils de traitement de géométrie étendus pour la mise en mémoire tampon, le découpage, la dissolution et la réparation des topologies, ainsi que des utilitaires de gestion de données pour la jointure, le filtrage et la transformation d'attributs. De plus, il inclut des fonctionnalités de visualisation pour générer des exportations SVG stylisées, des graticules et des cartes à symboles proportionnels. Les capacités de traitement spatial peuvent être intégrées directement dans les applications JavaScript et les pipelines de build via sa bibliothèque Node.js.
Transforms geographic coordinates into pixel dimensions for the generation of SVG paths.