Iwerlipse: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
(shitty article, but I need to start somewhere)
 
mNo edit summary
Line 4: Line 4:


dx/dt = v_x*cos[f(t)]
dx/dt = v_x*cos[f(t)]
d^2y/dt^2 = a*sin[f(t)] - D
d^2y/dt^2 = a*sin[f(t)] - D


f(t) is the function for a SM64 player's joystick tilt in terms of time.
f(t) is the function for a SM64 player's joystick tilt in terms of time.
a is forward acceleration, and is usually defined in game as 1.5.
a is forward acceleration, and is usually defined in game as 1.5.
v_x is sideways velocity and is usually defined in game as 10.
v_x is sideways velocity and is usually defined in game as 10.
D is drag, which usually can be values: +2.35, +0.35, 0, -0.35, -1.35. For TASing purposes, where high speed is always ideal, D is most commonly set to -1.35, for cases when Mario's forward speed is above 32.
D is drag, which usually can be values: +2.35, +0.35, 0, -0.35, -1.35. For TASing purposes, where high speed is always ideal, D is most commonly set to -1.35, for cases when Mario's forward speed is above 32.


Line 20: Line 24:


x = (+/-)v_x*n*t/sinh(t)
x = (+/-)v_x*n*t/sinh(t)
y = v_i*n + a/2*n^2(coth(t)-t/sinh^2(t)-D/a)
y = v_i*n + a/2*n^2(coth(t)-t/sinh^2(t)-D/a)

Revision as of 06:19, 20 January 2020

The Iwerlipse is the range of positions Mario can occupy when Mario is in the air and cannot turn, assuming the joystick input polling were continuous. It is defined as an area bounded by a shape drawn by the solution to optimizing a set of 2 differential equations. Due to the shape being similar to a superellipse (after Grassdigger brute forced for the solution in Mathematica), Pannenkoek2012 proposed calling this shape the "Iwerlipse" on August 2018 (pronounced eeverlipse) as a pun on the name of Iwer Sonsch, one of the people involved in this problem.

The set of differential equations is:

dx/dt = v_x*cos[f(t)]

d^2y/dt^2 = a*sin[f(t)] - D

f(t) is the function for a SM64 player's joystick tilt in terms of time.

a is forward acceleration, and is usually defined in game as 1.5.

v_x is sideways velocity and is usually defined in game as 10.

D is drag, which usually can be values: +2.35, +0.35, 0, -0.35, -1.35. For TASing purposes, where high speed is always ideal, D is most commonly set to -1.35, for cases when Mario's forward speed is above 32.

The problem was posed by jongyon7192p as a curiosity, and it became relevant to the ABC challenge a few times before being solved through some other means.

Iwer stated on April 2018 that optimal straining for the Air_no_Turn action is dyaw(t,r) = acotan(0.15r*t).

On October 2019, trex21415 provided a full analytical proof for Iwer's claim, using a generalized 2nd-order Euler-Lagrange equation.

By plugging Iwer and Trex's equation to solve for x and y, we obtain the parametric equations, the solution to the Iwerlipse:

x = (+/-)v_x*n*t/sinh(t)

y = v_i*n + a/2*n^2(coth(t)-t/sinh^2(t)-D/a)