oneshotlm
Compare all models on this prompt →

Double pendulum · glm-4.7

Simulate a chaotic double pendulum on a canvas using the correct equations of motion, drawing the arms and a colorful fading trail of the tip.

⛨ sandboxed Open in new tab ↗
transcript · 4 messages
user

Simulate a chaotic double pendulum on a canvas using the correct equations of motion, drawing the arms and a colorful fading trail of the tip.

assistant
thinking
The user wants me to create a single-page web app that simulates a chaotic double pendulum. This is a classic physics simulation that demonstrates chaotic behavior.

I need to:
1. Create an index.html file with CSS and JavaScript inline
2. Use the correct equations of motion for a double pendulum
3. Draw the pendulum arms on a canvas
4. Create a colorful fading trail for the tip
5. No external resources, CDNs, or network requests

Let me recall the equations of motion for a double pendulum:

A double pendulum consists of two masses m1 and m2 connected by rigid rods of lengths L1 and L2. The angles θ1 and θ2 are measured from the vertical.

The equations of motion (using Lagrangian mechanics) are quite complex. Here they are:

For θ1:
- θ1'' = (m2 * L1 * θ1'² * sin(θ1-θ2) * cos(θ1-θ2) + m2 * g * sin(θ2) * cos(θ1-θ2) + m2 * L2 * θ2'² * sin(θ1-θ2) - (m1+m2) * g * sin(θ1)) / ((m1+m2) * L1 - m2 * L1 * cos²(θ1-θ2))

For θ2:
- θ2'' = (-m2 * L2 * θ2'² * sin(θ1-θ2) * cos(θ1-θ2) + (m1+m2) * g * sin(θ1) * cos(θ1-θ2) - (m1+m2) * L1 * θ1'² * sin(θ1-θ2) - (m1+m2) * g * sin(θ2)) / ((m1+m2) * L2 - m2 * L2 * cos²(θ1-θ2))

These can be simplified. Let me use a more common form:

Let's define:
- num1 = -g(2m1+m2)sin(θ1) - m2*g*sin(θ1-2θ2) - 2sin(θ1-θ2)m2(θ2'²L2+θ1'²L1cos(θ1-θ2))
- den1 = L1(2m1+m2-m2cos(2θ1-2θ2))

θ1'' = num1/den1

For θ2:
- num2 = 2sin(θ1-θ2)(θ1'²L1(m1+m2) + g(m1+m2)cos(θ1) + θ2'²L2m2cos(θ1-θ2))
- den2 = L2(2m1+m2-m2cos(2θ1-2θ2))

θ2'' = num2/den2

I'll implement this with:
- A canvas element
- Physics simulation using these equations
- Trail system with fading colors
- Animation loop using requestAnimationFrame

Let me write this code.

I'll create a double pendulum simulation with correct physics equations and a colorful fading trail. Let me build this single-page web app.

write /workspace/index.html (12458 bytes)
toolResult

Successfully wrote 12458 bytes to /workspace/index.html

assistant

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelglm-4.7
vendorZ.ai · GLM
harnesspi-agent
generated2026-07-22

EVALUATION

4/5 working

Smooth double pendulum simulation with colorful fading trail, animates continuously but keyboard/mouse inputs don't visibly change behavior.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion1.5%
on click1.2%
on drag1.2%
on wheel1.0%
on enter + space1.1%
on arrow keys1.1%
on w/a/s/d1.2%
frame spread9.9 / 255
console errors0
js errors none

METRICS

runtime193.0s
tokens in37
tokens out4.1k
cached1.4k
cost / run$0.0072