Update Home

Spencer Conlon 2024-12-28 17:30:53 +00:00
parent 197d5d57fd
commit 77ebf8236e

94
Home.md

@ -62,4 +62,98 @@ Tesseract Engine is a **3D Game Engine** designed for small to medium-sized game
### Community Discussions
- Explore ideas and get feedback in the [Activity](#) section.
# Lua Api
## Math Library Wiki
## Overview
The `math.lua` library provides a collection of math constants, basic math functions, and trigonometric utilities to simplify common mathematical operations in Lua.
---
## Features
### Constants
The library includes commonly used mathematical constants:
| Constant | Description | Value |
|----------|---------------------------|------------|
| `PI` | Ratio of a circle's circumference to its diameter | 3.14159 |
| `E` | Base of the natural logarithm | 2.71828 |
| `TAU` | Full circle in radians (2 * PI) | 6.28318 |
---
### Functions
#### Basic Math Functions
These functions are available under `Math.functions`:
| Function | Description | Example Usage |
|----------------|--------------------------------------------------|-------------------------|
| `square(x)` | Returns the square of `x`. | `Math.functions.square(5)``25` |
| `cube(x)` | Returns the cube of `x`. | `Math.functions.cube(3)``27` |
| `max(a, b)` | Returns the maximum of `a` and `b`. | `Math.functions.max(10, 20)``20` |
| `min(a, b)` | Returns the minimum of `a` and `b`. | `Math.functions.min(10, 20)``10` |
| `clamp(value, minValue, maxValue)` | Clamps `value` between `minValue` and `maxValue`. | `Math.functions.clamp(15, 0, 10)``10` |
#### Trigonometric Functions
These functions are available under `Math.trig`:
| Function | Description | Example Usage |
|----------------|--------------------------------------------------|-------------------------|
| `deg_to_rad(degrees)` | Converts degrees to radians. | `Math.trig.deg_to_rad(180)``3.14159` |
| `rad_to_deg(radians)` | Converts radians to degrees. | `Math.trig.rad_to_deg(Math.constants.PI)``180` |
---
## Installation
1. Place `math.lua` in your project directory.
2. Import the module using `require`:
```lua
local Math = require("math")
```
---
## Example Usage
Here is an example script using the `math.lua` library:
```lua
local Math = require("math")
-- Access constants
print("PI:", Math.constants.PI)
print("E:", Math.constants.E)
-- Use basic math functions
local result = Math.functions.square(5)
print("Square of 5:", result)
local clampedValue = Math.functions.clamp(15, 0, 10)
print("Clamped value:", clampedValue)
-- Use trigonometric functions
local radians = Math.trig.deg_to_rad(180)
print("180 degrees in radians:", radians)
local degrees = Math.trig.rad_to_deg(Math.constants.PI)
print("PI radians in degrees:", degrees)
```
---
## Contributing
1. Fork the repository.
2. Create a new branch for your feature: `git checkout -b feature-name`.
3. Commit your changes: `git commit -m "Add feature"`.
4. Push to the branch: `git push origin feature-name`.
5. Open a pull request.
---
## License
This library is released under the MIT License. See the LICENSE file for more details.