Skip to content

VBVR-DataFactory/Multi-26_line_intersection_construction_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-26: Line Intersection Construction Data Generator

Generates synthetic datasets for multi-line intersection construction. The agent must extend three given line segments into full lines, observe their common intersection point, and identify which of several option labels coincides with it — testing geometric extrapolation and concurrence reasoning.

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-26
Task Line Intersection Construction
Category Constructive Geometry
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-26_line_intersection_construction_data-generator.git
cd Multi-26_line_intersection_construction_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 image displays three separate line segments and several option markers (letters).
[Rules]
1. The three line segments must be extended into infinite straight lines.
2. The three lines will intersect at one single common point.
[Task] Generate a video animating the extension of the three line segments into full lines. Keep the extensions visible, identify their common intersection point, and highlight in red the option marker located at that specific point. Hold the final frame.

Visual

Initial Frame
Three short segments + option labels
Animation
Each segment extended into a full line
Final Frame
Common intersection found; correct option highlighted

📖 Task Description

Objective

Extend three given short line segments into infinite lines along their respective directions, identify the single point where all three lines meet (concurrence point), and select which option label is located at that point.

Task Setup

  • Three segments: Short, randomly positioned and oriented line segments.
  • Concurrence: Generated such that the three full lines meet at exactly one common point.
  • Option labels: A, B, C, D candidate locations placed near (but not coincident with) the intersection.
  • Solver: Closed-form line-line intersection in homogeneous coordinates.

Key Features

  • Extrapolation reasoning: The intersection lies outside the visible segments, requiring directional extrapolation, not interpolation.
  • Three-way concurrence: A correct answer must coincide with all three lines, eliminating two-line-only false positives.
  • Quantitative discrimination: Distractor option labels are placed close to the true intersection, demanding precise extension.
  • Visible construction: Each segment's extension renders as a separate animation phase, giving stepwise correctness signal.

📦 Data Format

data/questions/Multi-26_line_intersection_construction_data-generator_task/Multi-26_line_intersection_construction_data-generator_00000000/
├── first_frame.png            # Three short segments + option labels
├── final_frame.png            # Lines extended + correct option marked
├── prompt.txt                 # Task instruction
├── ground_truth.mp4           # Animation of segment extensions
└── 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

line-intersection concurrence geometric-construction extrapolation multiple-choice multi-step-reasoning


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

About

Multi-26: line intersection construction data generator — Constructive Geometry domain of the 36-task Long-Horizon Multi-Step Reasoning Benchmark.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages