Skip to content

VBVR-DataFactory/Multi-27_perpendicular_bisector_construction_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-27: Perpendicular Bisector Construction Data Generator

Generates synthetic datasets for perpendicular-bisector construction. The agent must draw the perpendicular bisector of a given segment (the locus of points equidistant from its two endpoints) and identify which of several option labels lies on it — testing geometric construction with metric (distance) constraints.

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-27
Task Perpendicular Bisector 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-27_perpendicular_bisector_construction_data-generator.git
cd Multi-27_perpendicular_bisector_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 a straight line segment connecting two small circles, along with several option markers.
[Rules]
1. A perpendicular bisector is a line that passes through the exact midpoint of a segment at a 90-degree angle.
2. Only one of the given option markers lies on this perpendicular bisector.
[Task] Generate a video animating the construction of the perpendicular bisector for the given segment. Keep the construction line visible, and highlight in red the option marker that lies on that bisector. Hold the final frame.

Visual

Initial Frame
Segment with two endpoint circles + option labels
Animation
Midpoint located, perpendicular drawn step by step
Final Frame
Bisector visible; correct option highlighted in red

📖 Task Description

Objective

Construct the perpendicular bisector of a given segment — the line passing through the segment's midpoint at a right angle — and identify which of several option labels lies on this constructed line.

Task Setup

  • Segment: A pair of small circles marking the segment's endpoints.
  • Construction: First find the midpoint, then erect the perpendicular through it.
  • Option labels: A, B, C, D candidate points scattered near (but not all on) the bisector.
  • Solver: Closed-form midpoint + 90° rotation; the unique correct option lies on the bisector.

Key Features

  • Two-step geometric construction: Locate midpoint → rotate direction by 90° to draw the bisector.
  • Equidistance characterization: The bisector is the locus of points equidistant from both endpoints — a metric, not topological, constraint.
  • Quantitative discrimination: Distractor options are placed close to the bisector to penalize coarse approximation.
  • Visible construction trace: Midpoint marker, perpendicular line, and option highlighting are sequentially rendered.

📦 Data Format

data/questions/Multi-27_perpendicular_bisector_construction_data-generator_task/Multi-27_perpendicular_bisector_construction_data-generator_00000000/
├── first_frame.png            # Segment + option labels
├── final_frame.png            # Bisector drawn + correct option marked
├── prompt.txt                 # Task instruction
├── ground_truth.mp4           # Animation of stepwise construction
└── 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

perpendicular-bisector geometric-construction equidistance midpoint multiple-choice multi-step-reasoning


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

About

Multi-27: perpendicular bisector 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