Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phys-core

A lightweight JavaScript problem and scenario generator for AP Physics and AP Calculus simulations.

What It Does

  • Generates randomized physics and calculus scenarios across 16 total AP units (8 Physics + 8 Calculus).
  • Computes exact step-by-step solutions using mathematical and physical principles.
  • Returns structured outputs (prompt, solution, seed) for seamless integration into UI components or test runners.

Quickstart

import PhysEngine from './PhysEngine.js'; import CalcEngine from './CalcEngine.js';

// Generate a random Kinematics problem (Physics Unit 1) const physProblem = PhysEngine.generate("1");

// Generate a random Differentiation problem (Calculus Unit 2) const calcProblem = CalcEngine.generate("2");

console.log(physProblem.prompt); console.log(calcProblem.prompt);

Supported Units

Physics Engine (PhysEngine)

  • Unit 0: Math Foundations (Vectors, dot products, component forms)
  • Unit 1: Kinematics (Derivatives, freefall, projectile range)
  • Unit 2: Dynamics (Inclines, friction, Atwood machines)
  • Unit 3: Work & Energy (Spring constants, energy conservation)
  • Unit 4: Momentum & COM (Integration, collisions, impulse)
  • Unit 5: Rotation (Torque, moment of inertia, rotational work)
  • Unit 6: Oscillations (SHM springs, simple pendulums)
  • Unit 7: Gravitation (Orbital velocity, gravitational fields)

Calculus Engine (CalcEngine)

  • Unit 1: Limits & Continuity (Algebraic evaluation, horizontal asymptotes, squeeze theorem)
  • Unit 2: Differentiation - Fundamental Rules (Power, product, quotient, trigonometric derivatives)
  • Unit 3: Differentiation - Composite, Implicit & Inverse (Chain rule, implicit differentiation, inverse functions)
  • Unit 4: Contextual Applications of Differentiation (Rates of change, related rates, linear approximation)
  • Unit 5: Analytical Applications of Differentiation (MVT, extrema, concavity, optimization)
  • Unit 6: Integration & Accumulation of Change (Riemann sums, indefinite/definite integrals, u-substitution)
  • Unit 7: Differential Equations (Slope fields, separation of variables, exponential growth/decay)
  • Unit 8: Applications of Integration (Area between curves, volume by disc/washer method, arc length)

Setup & Testing

  1. Clone the repo: git clone https://github.com/Ta709/phys-core.git
  2. Run locally in Node or import directly into your frontend build pipeline.

License

MIT

About

phys-core is a lightweight, zero-dependency JavaScript engine designed to generate randomized AP Physics and AP Calculus problems on demand. It dynamically computes parameters, constructs multi-step LaTeX solutions, and outputs deterministic seeds for seamless integration into interactive learning tools, practice portals, and test suites.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages