Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mjansson/vector_lib
Math vector library
https://github.com/mjansson/vector_lib
Last synced: 4 days ago
JSON representation
Math vector library
- Host: GitHub
- URL: https://github.com/mjansson/vector_lib
- Owner: mjansson
- License: unlicense
- Created: 2013-03-26T08:14:24.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2023-11-05T16:48:13.000Z (about 1 year ago)
- Last Synced: 2024-04-10T05:28:44.543Z (7 months ago)
- Language: C
- Size: 441 KB
- Stars: 32
- Watchers: 8
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vector Library - Public Domain
This library provides a cross-platform vector math library in C11 providing basic support data types and
functions to write applications and games in a platform-independent fashion. It provides:* Vector (4-component)
* Matrix (4x4)
* Quaternion
* Transform (scale-rotate-translate)
* Utility (Euler angles)It is written with the following API design principles in mind:
* Consistent. All functions, parameters and types should follow a well defined pattern in order to make it easy to remember how function names are constructed and how to pass the expected parameters.
* Orthogonal. A function should not have any side effects, and there should be only one way to perform an operation in the system.
* Specialized. A function in an API should perform a single task. Functions should not do completely different unrelated tasks or change behaviour depending on the contents of the variables passed in.
* Compact. The API needs to be compact, meaning the user can use it without using a manual. Note though that "compact" does not mean "small". A consistent naming scheme makes the API easier to use and remember.
* Contained. Third party dependencies are kept to an absolute minimum and prefer to use primitive or well-defined data types.
The latest source code maintained by Mattias Jansson is always available athttps://github.com/mjansson/vector_lib
This library is put in the public domain; you can redistribute it and/or modify it without any restrictions.