Below is the code for a simple pendulum in visual python.
from visual import sphere, color, rate, cylinder import numpy as np # # Constants # g = 9.80 # (m/s^2) L = 10 # Length of the pendulum initialAngle = 1.3 # In radians # # Create the pendulum bob and rod # pend = sphere(pos=(L*np.sin(initialAngle), -L*np.cos(initialAngle), 0), radius=1, color=color.yellow) rod = cylinder(pos=(0, 0, 0), axis=(pend.pos[0], pend.pos[1], 0), radius=0.1) def position(time): """ Given time, t, this function moves the pendulum to its new position. We use the equation: theta(t) = theta_0*cos(sqrt(g/L)*t) """ theta = initialAngle*np.cos((g/L)**(1/2)*time) # Angle of the pendulum pend.pos = [L*np.sin(theta), -L * np.cos(theta), 0] # Update position of bob rod.axis = [pend.pos[0], pend.pos[1], 0] # Update rod's position # Increment time i = 0 while True: rate(100) position(i) i += 0.01