>>390
ちょっと書いてみたけど、xの傾きは2にならないな。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
const double delta = 0.1;
double RAND(void) { return (double)rand() / RAND_MAX; }
int main(void) {
int i; double u = 0, x = 0;
for (i = 0; i < 20000; i++) {
double a, b, theta, phi;
double P, Q;
a = RAND();
b = RAND();
theta = sqrt(-2*log(a)) * cos(2*M_PI*b);
phi = sqrt(-2*log(a)) * sin(2*M_PI*b);
P = sqrt(1.5*delta)*theta + sqrt(0.5*delta)*phi;
Q = sqrt(0.5*delta*delta*delta)*theta;
x += u*delta - u*delta*delta*0.5 + Q;
u += - u*delta + u*delta*delta*0.5 + P - Q;
printf("%f %f\n", x, u);
}
return 0;
}