Map Visualizer shifts that experience into something more physical and exploratory. Users place one of several RFID cards onto a sensor, each representing a different topographic pattern. That input triggers a 3D model, which is projected using a Pepper’s Ghost setup to appear as a floating hologram. A dial allows the viewer to rotate the terrain and examine it from different angles. The system was built using Three.js, Arduino, and custom 3D models, alongside a fully constructed physical prototype. By combining digital mapping with tactile interaction, the project turns geography into something you interact with, not just look at.

Research and Development
The first step was to create four unique 3D landscape models that I could use for the projection and to reference when creating the topographic map cards. I modeled and textured the landscapes all in Womp! I then exported the .obj and .mtl files directly from womp to use in Visual Studio Code. Once in vscode, I utilized three.js and Claude to vibe code a program that showed the 3D models with correct mapping and buttons that switched between all four.
Once I had a user interface that loaded the models and let you switch between them seamlessly, I started implementing RFID detection. I used an Adafruit RFID shield for an Arduino to detect RFID sticker sensors. I coded each of the four stickers info to corresponded to one of the 3D models. That way, when one sticker was detected, the corresponding model would load on screen. I attached the stickers to the backs of four map cards and my map detection system was complete.
The final step in the process was to build my Pepper's Ghost and box to contain my monitor and sensor's as shown in my sketch. I first experimented with using domes for the ghost effect, but eventually opted to construct a black box using PET plastic as my reflective material. I tested the effect with a bag of potato chips. Success! I placed the Pepper's Ghost box on a flat monitor and got to work constructing the bigger bounding box to hide the Arduino sensor and excess monitor. I also hooked up the dial to allow the user to spin the 3D model.













