Skip to content

VBVR-DataFactory/Multi-36_target_after_reflection_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-36: Target After Reflection Data Generator

Generates synthetic datasets for post-reflection target identification. The agent must trace a ball's trajectory through multiple wall reflections under the law of reflection and predict which of several candidate target positions it will exactly overlap with at the end of its motion.

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-36
Task Target After Reflection
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-36_target_after_reflection_data-generator.git
cd Multi-36_target_after_reflection_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] The scene shows a ball with an arrow indicating its initial direction, and several empty target positions (hollow circles) on the right side.
[Rules]
1. The ball moves in straight lines.
2. The ball reflects off the walls following the law of reflection (the angle of reflection equals the angle of incidence).
[Task] Generate a video simulating the ball moving along its initial direction and bouncing off walls. The trajectory will eventually align exactly with and completely overlap one of the target positions. Trace the path and hold the final frame.

Visual

Initial Frame
Ball + initial direction arrow + candidate targets
Animation
Ball travels and bounces through walls
Final Frame
Ball exactly overlapping the correct target

📖 Task Description

Objective

Predict which of several candidate target positions a moving ball will end up exactly overlapping with after a deterministic trajectory of straight-line motion and wall reflections governed by the law of reflection.

Task Setup

  • Ball: Starts at a printed initial position with a printed direction arrow.
  • Walls: Boundary segments off which the ball reflects elastically (angle in = angle out).
  • Targets: Several hollow circles distributed in the right region; exactly one will be exactly overlapped at trajectory end.
  • Stopping: Ball halts upon overlapping the matching target.
  • Solver: Closed-form ray-tracing with reflection produces the unique trajectory and matched target.

Key Features

  • End-state target identification: Differs from Multi-32 (target during trajectory) — here the ball settles on a target via exact overlap, requiring exact endpoint computation.
  • Multi-bounce compounding: Trajectory may include several reflections; cumulative angular precision required.
  • Multiple candidates: Distractor targets are placed close together, demanding precise extrapolation.
  • Visible reflection-by-reflection trace: Each segment renders, providing per-bounce intermediate state for evaluation.

📦 Data Format

data/questions/Multi-36_target_after_reflection_data-generator_task/Multi-36_target_after_reflection_data-generator_00000000/
├── first_frame.png            # Ball + initial arrow + target candidates
├── final_frame.png            # Ball exactly overlapping correct target
├── prompt.txt                 # Task instruction
├── ground_truth.mp4           # Animation of full reflective 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

reflection-law multi-bounce target-prediction continuous-physics endpoint-overlap multiple-choice multi-step-reasoning


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

About

Multi-36: target after reflection 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