All Projects → dotnet-ad → Transform

dotnet-ad / Transform

Licence: MIT license
Base Monogame objects for managing relative transforms.

Programming Languages

C#
18002 projects
powershell
5483 projects
shell
77523 projects

Projects that are alternatives of or similar to Transform

Ugm
Ubpa Graphics Mathematics
Stars: ✭ 178 (+836.84%)
Mutual labels:  matrix, transform
Rematrix
Matrix transformations made easy.
Stars: ✭ 355 (+1768.42%)
Mutual labels:  matrix, transform
PyGLM
Fast OpenGL Mathematics (GLM) for Python
Stars: ✭ 167 (+778.95%)
Mutual labels:  matrix
linalg
Linear algebra library based on LAPACK
Stars: ✭ 42 (+121.05%)
Mutual labels:  matrix
Spoon
Spoon plugin for Craft CMS - Enhance your Matrix fields with groups, tabs and more!
Stars: ✭ 82 (+331.58%)
Mutual labels:  matrix
Shafa-CD
File Compressor written in C using both Shannon Fano and RLE algorithms
Stars: ✭ 24 (+26.32%)
Mutual labels:  matrix
react-mops
🐶 Modify Orientation Position Size
Stars: ✭ 40 (+110.53%)
Mutual labels:  transform
eigen
Owl's OCaml Interface to Eigen3 C++ Library
Stars: ✭ 30 (+57.89%)
Mutual labels:  matrix
MachineLearning
An easy neural network for Java!
Stars: ✭ 125 (+557.89%)
Mutual labels:  matrix
android-gradle-plugin-transform-patch
android gradle plugin transform patch
Stars: ✭ 28 (+47.37%)
Mutual labels:  transform
Turbo-Transpose
Transpose: SIMD Integer+Floating Point Compression Filter
Stars: ✭ 50 (+163.16%)
Mutual labels:  matrix
interview-cookbook
A playground for learning DataStructures, Algorithms, and Object-Oriented Concepts.
Stars: ✭ 25 (+31.58%)
Mutual labels:  matrix
pytest-neo
Matrix has you...
Stars: ✭ 44 (+131.58%)
Mutual labels:  matrix
rusty-rain
A cross platform matrix rain made with Rust.
Stars: ✭ 217 (+1042.11%)
Mutual labels:  matrix
ArcaneManagedFbx
C# and .NET Framework wrapper for the Autodesk FBX SDK written in C++/CLI (managed C++).
Stars: ✭ 36 (+89.47%)
Mutual labels:  monogame
PollMaubot
A polling plugin for Riot (using maubot)
Stars: ✭ 18 (-5.26%)
Mutual labels:  matrix
python
A Python 3 asyncio Matrix framework.
Stars: ✭ 115 (+505.26%)
Mutual labels:  matrix
elm-3d-camera
Camera type for doing 3D rendering in Elm
Stars: ✭ 12 (-36.84%)
Mutual labels:  matrix
frodo
practical quantum-secure key encapsulation from generic lattices
Stars: ✭ 17 (-10.53%)
Mutual labels:  matrix
mx-puppet-teams
Microsoft Teams puppeting bridge for Matrix
Stars: ✭ 30 (+57.89%)
Mutual labels:  matrix

Transform

NuGet Donate

sample

Base Monogame objects for managing relative transforms.

Quickstart

// Hierarchy
this.arm.Transform.Position = new Vector2(this.GraphicsDevice.Viewport.Width / 2, this.GraphicsDevice.Viewport.Height / 2);

this.arm2.Transform.Position = new Vector2(this.arm.Length, 0);
this.arm2.Transform.Parent = this.arm.Transform;

this.arm3.Transform.Position = new Vector2(this.arm2.Length, 0);
this.arm3.Transform.Parent = this.arm2.Transform;

// Animation
this.tween = new Tween2D(TimeSpan.FromSeconds(5), this.arm.Transform, new Transform2D()
{
    Rotation = 5,
    Position = this.arm.Transform.Position,
    Scale = new Vector2(2,2),
}, Ease.ElasticInOut);

this.velocity2 = new Velocity2D(arm2.Transform)
{
    Rotation = 2f,
    Position = Vector2.UnitX * -2f,
};

this.velocity3 = new Velocity2D(arm3.Transform)
{
    Rotation = -3.5f,
};

Usage

Transform2D

Represents a 2 dimensions transformation. A transform could be attached to another transform by setting its Parent property. The relative Position, Scale, Rotation could be used to update each component of the transform (relative to the parent transform if set, else absolute position). The effective absolute output world components can be accessed through AbsolutePosition, AbsoluteScale, AbsoluteRotation.

Velocity2D

Represents a transform linear velocity following Position, Scale, Rotation independant components.

Acceleration2D

Represents a velocity linear acceleration following Position, Scale, Rotation independant components.

ITween

Represents an animation.

Tween2D

Tweens a value between two given transform, in a given amount of time, and with a given curve function.

Sequence

Chains several ITween to create complex animations.

Parallel

Runs a given set of ITween in parallel until all are finished.

Delay

Waits the given amount of time.

Contributions

Contributions are welcome! If you find a bug please report it and if you want a feature please report it.

If you want to contribute code please file an issue and create a branch off of the current dev branch and file a pull request.

License

MIT © Aloïs Deniel

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].