Generates synthetic tasks where a row of dots is displayed. The goal is to identify and circle the dot that is in the middle by count (the one with an equal number of dots on each side).
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.
| Property | Value |
|---|---|
| Task ID | G-217 |
| Task | Circle Central Dot |
| Category | Knowledge |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | ~2-3 seconds |
| Output | PNG images + MP4 video |
# Clone the repository
git clone https://github.com/VBVR-DataFactory/G-217_circle_central_dot_data-generator.git
cd G-217_circle_central_dot_data-generator
# Install dependencies
pip install -r requirements.txt# Generate 100 samples
python examples/generate.py --num-samples 100
# Generate with specific seed
python examples/generate.py --num-samples 100 --seed 42
# Generate without videos
python examples/generate.py --num-samples 100 --no-videos
# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_output| Argument | Type | Description | Default |
|---|---|---|---|
--num-samples |
int | Number of samples to generate | 100 |
--seed |
int | Random seed for reproducibility | Random |
--output |
str | Output directory | data/questions |
--no-videos |
flag | Skip video generation | False |
A row of dots is shown. Circle the dot that is in the middle by count (the one with an equal number of dots on each side).
![]() |
![]() |
![]() |
| Initial Frame Row of dots displayed |
Animation Red circle expands around central dot |
Final Frame Central dot circled |
Identify and circle the dot that occupies the exact middle position in a row of dots, defined as having an equal number of dots on each side.
- Dot Count: Typically odd number of dots (e.g., 5, 7, 9, 11) for unique center
- Arrangement: Dots arranged in horizontal straight line
- Spacing: Uniform spacing between all dots
- Dot Style: All dots identical in size and color
- Marking Method: Red circle expands around the central dot
- Position-based: Middle determined by count, not spatial measurement
- Counting skill: Tests ability to count positions accurately
- Median position: Understanding of middle/center concept
- Position reasoning: Finding the element with equal numbers on both sides
- Clear animation: Red circle smoothly expands around center dot
- Unambiguous answer: Unique central position (odd number of dots)
- Symmetry recognition: Central dot creates symmetrical arrangement
data/questions/circle_central_dot_task/circle_central_dot_00000000/
├── first_frame.png # Initial state (dots without marking)
├── final_frame.png # Goal state (central dot circled)
├── prompt.txt # Task instructions
├── ground_truth.mp4 # Solution video (16 fps)
└── question_metadata.json # Task metadata
File specifications: Images are 1024×1024 PNG. Videos are MP4 at 16 fps, approximately 2-3 seconds long.
counting spatial-reasoning median-position central-element position-identification symmetry


