Projectile Simulation ðŸŠĻ

inputs ⚙ïļ
  import {interval as interval} from "@mootari/range-slider"
time ↔ïļ
0 â€Ķ 60
form_projectile = Object {angle_in: 1, power_in: 30, g_in: 1, drag_coefficient_in: 0.01, t_interval: Array(2)}
mutable inputs_history_projectile = Mutable {}
inputs_history_projectile = Array(1) [Object]

Projectile Path 🧭

clip = true
tags = Array(1) [Object]


workings 🔍
projectile_formulae = Array(6) ["x", "y", "dx", "dy", "drag_x", "drag_y"]
width = 600
drag_xdrag_ydxdyxyformula051015202530354045505560t_in0.002.575.017.339.5311.6313.6315.5317.3319.0520.6822.2323.710.00132.21233.43305.18348.92366.00357.75325.39270.11193.0495.24−22.27−158.53NaN0.500.480.450.430.410.390.370.350.340.320.300.29NaN23.9117.8412.066.571.35−3.62−8.34−12.83−17.11−21.17−25.03−28.71NaN0.020.050.070.090.110.130.150.170.190.200.220.23NaN1.082.162.933.423.653.613.342.832.101.160.03−1.30
grid = pB {_log: Object, _clock: 1, _rank: 199, _locale: Object, _loader: Object, _touched: Array(0), _input: Object, _pulse: null, _heap: Object, _postrun: Array(0), _el: HTMLDivElement, _elBind: null, _renderType: "svg", _scenegraph: Uy, _renderer: Jv, _tooltip: ƒ(), _redraw: false, _handler: Mv, _globalCursor: false, _preventDefault: false, â€Ķ}
formuladrag_xdrag_ydxdyxy−505101520253035404550556065t_in0.00.200.00.500200
bars = pB {_log: Object, _clock: 1, _rank: 1606, _locale: Object, _loader: Object, _touched: Array(0), _input: Object, _pulse: null, _heap: Object, _postrun: Array(0), _el: HTMLDivElement, _elBind: null, _renderType: "svg", _scenegraph: Uy, _renderer: Jv, _tooltip: ƒ(), _redraw: false, _handler: Mv, _globalCursor: false, _preventDefault: false, â€Ķ}
formuladrag_xdrag_ydxdyxy051015202530354045505560t_in0.00.200.00.5002000input_cursor_id
lines = pB {_log: Object, _clock: 1, _rank: 2017, _locale: Object, _loader: Object, _touched: Array(0), _input: Object, _pulse: null, _heap: Object, _postrun: Array(0), _el: HTMLDivElement, _elBind: null, _renderType: "svg", _scenegraph: Uy, _renderer: Jv, _tooltip: ƒ(), _redraw: false, _handler: Mv, _globalCursor: false, _preventDefault: false, â€Ķ}
calculang formulae 🊄 behind the workings
code_viewer = async ƒ(entrypoint, formula)
x = () => {
  if (t() == 0) return 0;
  else return x({ t_in: t() - 1 }) + dx();
};





  import {calcuvizspec as calcuvizspec} from "@declann/little-calcu-helpers"
embed = ƒ(â€Ķ)
main = Module {x$m: ƒ(key), x: ƒ(a), dx$m: ƒ(key), dx: ƒ(a), drag_x$m: ƒ(key), drag_x: ƒ(a), drag_y$m: ƒ(key), drag_y: ƒ(a), y$m: ƒ(key), y: ƒ(a), dy$m: ƒ(key), dy: ƒ(a), t$m: ƒ(key), t: ƒ(a), angle$m: ƒ(key), angle: ƒ(a), power$m: ƒ(key), power: ƒ(a), g$m: ƒ(key), g: ƒ(a), â€Ķ}
introspection_fetch = Response {}
introspection = Object {cul_functions: Object, cul_links: Array(60), cul_scope_ids_to_resource: Object, import_sources_to_resource: Object, cul_input_map: Object, dot: "digraph {\n \"0_x$\" [cul_scope_id=0,name=\"x$\",imporâ€Ķt Object]\",label=\"input +drag_coefficient_in\"]\n}\n"}
introspection_nomemo_fetch = Response {}
introspection_nomemo = Object {cul_functions: Object, cul_links: Array(27), cul_scope_ids_to_resource: Object, import_sources_to_resource: Object, cul_input_map: Object, dot: "digraph {\n \"0_x\" [cul_scope_id=0,name=x,cul_sourcâ€Ķt Object]\",label=\"input +drag_coefficient_in\"]\n}\n"}
inputs = Array(5) ["angle_in", "drag_coefficient_in", "g_in", "power_in", "t_in"]
formulae = Array(11) ["x", "dx", "drag_x", "drag_y", "y", "dy", "t", "angle", "power", "g", "drag_coefficient"]
formulae_not_inputs = Array(6) ["x", "dx", "drag_x", "drag_y", "y", "dy"]
appendix
formulae_objs = Array(6) [Object, Object, Object, Object, Object, Object]
code_opt_fv = "📝 calculang source 💎"
formula_select = "x"
pB {_log: Object, _clock: 1, _rank: 199, _locale: Object, _loader: Object, _touched: Array(0), _input: Object, _pulse: null, _heap: Object, _postrun: Array(0), _el: HTMLDivElement, _elBind: null, _renderType: "svg", _scenegraph: Uy, _renderer: Jv, _tooltip: ƒ(), _redraw: false, _handler: Mv, _globalCursor: false, _preventDefault: false, â€Ķ}
pB {_log: Object, _clock: 1, _rank: 1606, _locale: Object, _loader: Object, _touched: Array(0), _input: Object, _pulse: null, _heap: Object, _postrun: Array(0), _el: HTMLDivElement, _elBind: null, _renderType: "svg", _scenegraph: Uy, _renderer: Jv, _tooltip: ƒ(), _redraw: false, _handler: Mv, _globalCursor: false, _preventDefault: false, â€Ķ}
pB {_log: Object, _clock: 1, _rank: 2017, _locale: Object, _loader: Object, _touched: Array(0), _input: Object, _pulse: null, _heap: Object, _postrun: Array(0), _el: HTMLDivElement, _elBind: null, _renderType: "svg", _scenegraph: Uy, _renderer: Jv, _tooltip: ƒ(), _redraw: false, _handler: Mv, _globalCursor: false, _preventDefault: false, â€Ķ}
|