Skip to content

VBVR-DataFactory/Multi-33_elastic_bouncing_trajectory_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-33: Elastic Bouncing Trajectory Data Generator

Generates synthetic datasets for elastic-bounce trajectory simulation. The agent must simulate a ball bouncing off walls a fixed number of times under elastic collision physics, predicting the final stop position determined by the bounce sequence.

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.


📌 Basic Information

Property Value
Task ID Multi-33
Task Elastic Bouncing Trajectory
Category Continuous Physics
Resolution 1024×1024 px
FPS 16 fps
Duration varies
Output PNG images + MP4 video

🚀 Usage

Installation

# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/Multi-33_elastic_bouncing_trajectory_data-generator.git
cd Multi-33_elastic_bouncing_trajectory_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 Data

# 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

Command-Line Options

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)

📖 Task Example

Prompt

[Scenario] A ball is placed at the initial position with a direction arrow indicating its movement direction.
[Rules]
1. The ball moves in straight lines and bounces off the boundary walls.
2. The ball follows elastic collision physics, where the angle of incidence equals the angle of reflection.
3. The ball must complete exactly 4 bounces.
[Task] Generate a video simulating the ball's movement step by step. Animate the complete trajectory until the ball stops after the 4th bounce, with its final position exactly at the wall where the last collision occurs. Hold the final frame.

Visual

Initial Frame
Ball + initial direction arrow + boundary walls
Animation
Ball travels and bounces N times elastically
Final Frame
Ball stopped at the wall of last collision

📖 Task Description

Objective

Simulate a ball bouncing off boundary walls a fixed number of times (N) under elastic collision physics, then predict the exact wall location where the ball comes to rest after the N-th collision.

Task Setup

  • Ball: Starts at a printed position with a printed initial direction arrow.
  • Walls: Boundary segments forming a closed (or partially closed) region.
  • Bounce count: A pre-specified small integer N (e.g., 2, 3, 5).
  • Physics: Elastic collision — angle of incidence = angle of reflection, perfect energy retention.
  • Stopping condition: Ball halts immediately after the N-th wall contact.
  • Solver: Closed-form ray-marching with perfect reflection produces the unique final position.

Key Features

  • Pure trajectory simulation: No multiple-choice — the agent must predict the exact stop position, a regression-style endpoint.
  • N-step compounding: Each bounce direction depends on all previous bounces; correctness is fragile to early errors.
  • Continuous-space reasoning: Unlike discrete grid tasks, the ball traverses real-valued positions and angles.
  • Visible per-bounce ground truth: Each segment of the trajectory renders, supporting per-bounce evaluation.

📦 Data Format

data/questions/Multi-33_elastic_bouncing_trajectory_data-generator_task/Multi-33_elastic_bouncing_trajectory_data-generator_00000000/
├── first_frame.png            # Ball + initial arrow + walls
├── final_frame.png            # Ball at final stop position
├── prompt.txt                 # Task instruction with bounce count
├── ground_truth.mp4           # Animation of bouncing trajectory
└── 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

🏷️ Tags

elastic-collision bouncing-ball trajectory-prediction continuous-physics reflection-law n-bounce multi-step-reasoning


Part of the 36-Task Long-Horizon Multi-Step Reasoning Benchmark.

About

Multi-33: elastic bouncing trajectory data generator — Continuous Physics domain of the 36-task Long-Horizon Multi-Step Reasoning Benchmark.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages