Aqui está um cálculo sem trigonometria, derivado do Trig 11 e da Física de Grau 11. Ele assume que a origem é o ponto mais baixo da suspensão do pêndulo, que L é o comprimento do pêndulo e que é adotada a convenção gráfica normal de y aumentando para baixo ex de aumento para a direita:
Atualização: Eu errei o yAcceleration inicialmente; isso é mais fácil.
Atualização 2 : Adicionado controle de tempo explícito e unidades de medida adicionadas.
const float gravity = 9.8; // units of metres/sec/sec
const float deltaT = 0.001; // equals 0.001 sec or 1 millisecond
var xVelocity = 0.010; // units metres/sec equals 10 cm/sec
var x = 0.0; // units metres
var y = 0.0; // units metres
while (true) {
var xAcceleration = -gravity * (x/L) * (L-y)/L;
x += (xVelocity + (xAcceleration/2 * deltaT)) * deltaT;
y = Math.SQRT(L*L - x*x) - L;
xVelocity += xAcceleration * deltaT;
}