# 2D-kromme import numpy as np ubegin = 0.000000001 ueinde = 1.000000001 aantalstappen = 10000000 stap = (ueinde - ubegin) / aantalstappen phi0 = 0 E = 2.0117769801886 J = 4.9 K = E U = 1 - K**2 a = 1 b = -1 c = 1 / J**2 d = - U / J**2 u = ubegin fu = 1 / np.sqrt (a * u**3 + b * u**2 + c * u + d) phi = phi0 for i in range (1, aantalstappen + 1, 1): u = u + stap r = 1 / u fuprev = fu fu = 1 / np.sqrt (a * u**3 + b * u**2 + c * u + d) phi = phi + (fuprev + fu) * stap / 2 x = r * np.cos (phi) y = r * np.sin (phi) print ('{:10.5e}'.format (x), '{:10.5e}'.format (y))