Skip to content

VBVR-DataFactory/Multi-28_triangle_orthocenter_construction_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-28: Triangle Orthocenter Construction Data Generator

Generates synthetic datasets for triangle orthocenter construction. The agent must draw the three altitudes of a triangle (each from a vertex perpendicular to the opposite side) and identify their common intersection — the orthocenter — selecting which option label coincides with it.

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-28
Task Triangle Orthocenter 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-28_triangle_orthocenter_construction_data-generator.git
cd Multi-28_triangle_orthocenter_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 shows a triangle and several option markers.
[Rules]
1. An altitude of a triangle is a perpendicular line segment from a vertex to the line containing the opposite side.
2. The orthocenter is the single point where all three altitudes intersect.
[Task] Generate a video animating the drawing of the three altitudes of the triangle. Keep the altitude lines visible, and highlight in red the single option marker located at their intersection (the orthocenter). Hold the final frame.

Visual

Initial Frame
Triangle + option labels
Animation
Three altitudes drawn one by one
Final Frame
Orthocenter found; correct option highlighted in red

📖 Task Description

Objective

Construct the three altitudes of a given triangle (each drawn from a vertex perpendicular to the opposite side, possibly extended) and identify which of several option labels lies at their common intersection — the orthocenter.

Task Setup

  • Triangle: Three labeled vertices forming a triangle (acute, right, or obtuse).
  • Altitude: From each vertex, drop a perpendicular onto the opposite side (extending the side if needed for obtuse triangles).
  • Concurrence: The three altitudes always meet at a single point — the orthocenter — by classical geometry.
  • Option labels: A, B, C, D candidate points placed near the expected orthocenter.
  • Solver: Closed-form intersection of two altitude equations.

Key Features

  • Three-altitude concurrence: The orthocenter's location depends globally on all three vertices — moving any vertex shifts it.
  • Right-angle constraint: Each altitude must be exactly perpendicular to its target side, demanding precise angular construction.
  • Position varies dramatically with triangle type: Acute → inside, right → on a vertex, obtuse → outside the triangle. Models must adapt to all cases.
  • Visible construction: Each altitude renders as a separate animation phase, with the orthocenter emerging from their shared intersection.

📦 Data Format

data/questions/Multi-28_triangle_orthocenter_construction_data-generator_task/Multi-28_triangle_orthocenter_construction_data-generator_00000000/
├── first_frame.png            # Triangle + option labels
├── final_frame.png            # Altitudes drawn + orthocenter 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

orthocenter triangle-altitude geometric-construction concurrence multiple-choice multi-step-reasoning


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

About

Multi-28: triangle orthocenter 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