alephzero
v1.1.5
Published
A math and utility toolkit by JDPO (Josué Daniel Posadas Osorio)
Readme
📖 Manual de uso de alephZero
- Identidad
show→ imprime el logo ASCII en consola.show_2→ lo muestra en la página dentro un<pre>.
- Álgebra lineal
matrixSum→ suma de matrices.matrixRest→ resta de matrices.matrixHadamard→ producto elemento a elemento.matrixProduct→ producto matricial clásico.
- Operaciones de tablas (vectores)
sumTable→ tabla con todas las sumas posibles.restTable→ tabla de restas.productTable→ tabla de productos.quotientTable→ tabla de cocientes.
- Codificación aritmética
buildModelFromText→ genera modelo de frecuencias.encode→ devuelve {code, model}.decode→ reconstruye el texto.
- Matemáticas varias
dotProduct→ producto escalar.derivative→ derivada numérica de una expresión en x.
- DOM y renderizado
- addHTMLTag` → inserta un elemento HTML.
render2D→ crea un canvas 2D y ejecuta tu función de dibujo.render3D→ crea un canvas WebGL.
- Números complejos
complex→ parsea string a objeto {Re, Im}.compAbs→ valor absoluto.compSum,compRest,compProduct,compQuotient→ operaciones.compParse→ convierte objeto a string.
- Física básica
createBody→ crea un cuerpo circular.update→ actualiza posición y velocidad.collideBounds→ rebote contra bordes.collideBodies→ colisión entre dos cuerpos circulares.
🧪 Ejemplo práctico
alephZero.render2D((ctx) => {
const ball = alephZero.createBody(50, 50, 40, -20, 0, 0, 15);
const dt = 0.016;
const g = 9.81;
function loop(){
ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
ball.vy -= g * dt;
alephZero.update(ball, dt);
alephZero.collideBounds(ball, ctx.canvas.width, ctx.canvas.height);
ctx.beginPath();
ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI*2);
ctx.fillStyle = "red";
ctx.fill();
requestAnimationFrame(loop);
}
loop();
}, 400, 300);Esto dibuja una bola roja cayendo con gravedad y rebotando en los bordes.
