Generates synthetic datasets for inclined-plane block sliding with friction. The agent must simulate a block sliding down a ramp under gravity with kinetic friction, transitioning onto a flat surface where friction continues to decelerate it — testing continuous physics with energy dissipation across two distinct surface phases.
Each sample pairs a task (first frame + prompt describing what needs to happen) with its ground truth solution (final frame showing the result + video demonstrating how to achieve it). This structure enables both model evaluation and training.
| Property | Value |
|---|---|
| Task ID | Multi-35 |
| Task | Block Sliding with Friction |
| Category | Continuous Physics |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | varies |
| Output | PNG images + MP4 video |
# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/Multi-35_block_sliding_friction_data-generator.git
cd Multi-35_block_sliding_friction_data-generator
# 2. Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .# Generate 50 samples
python examples/generate.py --num-samples 50
# Reproducible generation with seed
python examples/generate.py --num-samples 50 --seed 42
# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_dataset
# Without videos (faster, images only)
python examples/generate.py --num-samples 50 --no-videos| Argument | Description |
|---|---|
--num-samples |
Number of tasks to generate (required) |
--output |
Output directory (default: data/questions) |
--seed |
Random seed for reproducibility |
--no-videos |
Skip video generation (images only) |
[Scenario] A block of mass 9 kg is released from rest at the top of a rough incline. The slope is 7 m long, inclined at 59°, with a friction coefficient of µ=0.75. It leads to a rough horizontal surface (7 m, µ=0.35). Gravity is 9.8 m/s².
[Rules]
1. The block's motion must accurately reflect the physics of gravity and kinetic friction on both the slope and the plane.
2. If the block slides off the end of the plane, it will stop exactly at the edge marker.
[Task] Generate a video simulating the block sliding down the ramp and entering the flat surface. Visualize its deceleration on the plane and hold the final frame showing whether it stops on the plane or reaches the edge.
![]() |
![]() |
![]() |
| Initial Frame Block atop ramp with all parameters labeled |
Animation Slide down ramp + transition to flat surface + decelerate |
Final Frame Block at rest position or at flat-surface edge |
Simulate a rigid block of mass m sliding down a frictional inclined ramp of length L at angle θ, then transitioning onto a flat surface of length D where it continues to decelerate under flat-surface friction, predicting the final stopping position (or off-edge departure).
- Block: A rigid box with specified mass.
- Ramp: Inclined at angle θ, length L; slope friction coefficient μ_s.
- Flat surface: Length D following the ramp; flat friction coefficient μ_p.
- Gravity: 9.8 m/s² (configurable).
- Phase transition: At ramp bottom, the velocity vector smoothly redirects to horizontal; friction coefficient changes.
- Outcome: Block either comes to rest on the flat surface or exits its far edge.
- Solver: Closed-form Newtonian motion with phase-dependent friction.
- Two-phase continuous physics: Different friction regimes on ramp vs. flat surface, requiring phase-aware integration.
- Energy dissipation: Friction work
μ·m·g·cosθ·L(ramp) +μ·m·g·D(flat) determines the rest position — model must compute energetic balance, not just kinematic extrapolation. - Quantitative outcome prediction: The agent must predict the exact stopping position (or whether the block exits) — a continuous-valued endpoint.
- Visible per-phase ground truth: Ramp slide and flat slide render as distinct phases for fine-grained evaluation.
data/questions/Multi-35_block_sliding_friction_data-generator_task/Multi-35_block_sliding_friction_data-generator_00000000/
├── first_frame.png # Block atop ramp with parameters
├── final_frame.png # Block at rest position or edge
├── prompt.txt # Task instruction with physics parameters
├── ground_truth.mp4 # Animation of two-phase slide
└── question_metadata.json # Standardized VBVR task metadata
File specifications:
- Images: 1024×1024 PNG format
- Video: MP4 format, 16 fps, H.264 + yuv420p
- Metadata: VBVR canonical schema with
task_id,vbvr_task_code,media,parameters
inclined-plane friction kinetic-friction block-sliding continuous-physics energy-dissipation multi-step-reasoning
Part of the 36-Task Long-Horizon Multi-Step Reasoning Benchmark.


