@snowpark-bcn/ski-jump-design
v0.1.2
Published
Terrain park jump design tool based on Equivalent Fall Height (EFH). Rust/WASM port of skijumpdesign (Moore & Hubbard, 2018).
Downloads
199
Readme
ski-jump-design
Ski jump profile design based on the paper by Levy, Hubbard, McNeil, and Swedberg. Compiled to WebAssembly for use in the browser.
Usage
import init, { make_jump } from 'ski-jump-design';
await init();
const result = make_jump(15.0, 0.0, 20.0, 25.0, 0.5);
console.log(result.outputs.takeoff_speed);
// Access surface coordinates for plotting:
// result.slope.x, result.slope.y
// result.takeoff.x, result.takeoff.y
// result.landing.x, result.landing.y
// etc.Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| slope_angle_deg | number | Parent slope angle in degrees (positive = downhill) |
| start_pos | number | Distance along slope to start position (meters) |
| approach_len | number | Approach/run-in length (meters) |
| takeoff_angle_deg | number | Takeoff ramp angle in degrees |
| fall_height | number | Desired equivalent fall height (meters, typically 0.1–1.5) |
Return Type
make_jump returns a JumpResult (see pkg/types.d.ts):
interface Surface {
x: number[];
y: number[];
}
interface JumpOutputs {
takeoff_speed: number;
flight_time: number;
flight_distance: number;
flight_height: number;
snow_budget: number;
}
interface JumpResult {
slope: Surface;
approach: Surface;
takeoff: Surface;
landing: Surface;
landing_trans: Surface;
flight: Surface;
outputs: JumpOutputs;
}Citation
Levy, Dean, Mont Hubbard, James A. McNeil, and Andrew Swedberg. "A Design Rationale for Safer Terrain Park Jumps That Limit Equivalent Fall Height." Sports Engineering 18, no. 4 (2015): 227–39. https://doi.org/10.1007/s12283-015-0182-6
License
MIT — see LICENSE.
