Cluster Analysis on Subject Data in Immersive Virtual Environments
A framework for analyzing navigation patterns in virtual reality environments
using k-means clustering to identify behavioral strategies in maze exploration
Ruida Zeng, Richard Paris, Bobby Bodenheimer
Learning in Virtual Environments (LIVE) Lab, Vanderbilt University
Overview • Team • Quick Start • Results • Structure • Requirements • Documentation
Analysis of navigation patterns from ~200 subjects in an immersive virtual maze environment. This research was conducted during the 2019 VUSE Undergraduate Summer Research Program.
The project applies k-means clustering to identify distinct navigation strategies and behavioral patterns as subjects explore and learn a virtual maze over 10-minute sessions.
| Role | Name | Contribution |
|---|---|---|
| Primary Investigator | Dr. Bobby Bodenheimer | Project oversight, EECS Department |
| Graduate Research Assistant | Richard Paris | VR environment creation (Unity), experiment design |
| Undergraduate Researcher | Ruida Zeng | Data analysis, clustering algorithms |
📧 Contact: ruida dot zeng at vanderbilt dot edu
# Clone the repository
git clone https://github.com/ruidazeng/vr-navigation.git
cd vr-navigation
# Install dependencies
pip install -r requirements.txt# Visualize a subject's navigation path
python visualization/visual.py
# Run k-means clustering on all subjects
python clustering/km_vector.py
# View 3D temporal clustering
python clustering/km_3d.py
![]() K-Means Clustering |
![]() 3D Temporal View |
![]() Temporal Color Coding |
![]() Path Visualization |
vr-navigation/
├── clustering/ # K-means clustering algorithms
├── visualization/ # Data visualization scripts
├── preprocessing/ # Legacy data parsing scripts
├── Parsed Data/ # 143 subject CSV files
└── Resources/ # Images and documentation
| Directory | Description | Docs |
|---|---|---|
clustering/ |
K-means clustering for navigation pattern analysis | 📖 README |
visualization/ |
Matplotlib and turtle graphics visualizations | 📖 README |
preprocessing/ |
Legacy scripts for parsing raw experimental data | 📖 README |
Parsed Data/ |
143 parsed CSV files with subject navigation data | 📖 README |
| Package | Version | Purpose |
|---|---|---|
numpy |
1.19+ | Numerical computing |
pandas |
1.0+ | Data manipulation |
scikit-learn |
0.24+ | K-means clustering |
matplotlib |
3.3+ | Visualization |
pip install -r requirements.txt| Document | Description |
|---|---|
| Clustering Scripts | K-means algorithms and usage |
| Visualization Scripts | Path visualization tools |
| Preprocessing Scripts | Legacy data parsing documentation |
| Parsed Data | Data format and subject status |
| LICENSE | License information |
Made with ❤️ at Vanderbilt University • 2019 Summer Research





