Skip to content

Releases: Abhrankan-Chakrabarti/factor-city

v1.1.0 — Bug Fixes & Compatibility

Choose a tag to compare

@Abhrankan-Chakrabarti Abhrankan-Chakrabarti released this 13 Jun 17:13

v1.1.0 — Bug Fixes & Compatibility

Fixed

  • Building inspector — replaced manual matrix unprojection with camera.unproject() using a near-plane depth offset (0.01) to avoid the infinity overflow produced by depth=1.0 in current Open3D builds
  • Q to quit — key handler now correctly uses gui.KeyEvent.Type.DOWN instead of gui.KeyEvent.DOWN, which is unavailable on Windows builds
  • set_background_color deprecation — replaced with set_background()
  • gui.HorizSeparator unavailable — replaced with gui.Label("") spacers
  • clear_3d_labels / add_3d_label on wrong object — moved label management to SceneWidget directly where the API is available

Notes

  • Equation labels above rooftops are back via SceneWidget.add_3d_label()
  • All fixes maintain compatibility with current Open3D releases on Windows

v1.0.0 — Initial Release

Choose a tag to compare

@Abhrankan-Chakrabarti Abhrankan-Chakrabarti released this 10 Jun 13:00

v1.0.0 — Initial Release

Factor City is an interactive 3D prime factorization visualizer built with Open3D. Each integer in a configurable grid is rendered as a tower of colored blocks, one floor per prime factor, where each prime has a distinct color.

Features

  • 3D block towers encoding prime factorization of each number in the city grid
  • 11-prime color palette (primes 2–31), gray fallback for larger primes
  • Floating equation labels above each rooftop (n = p₁ × p₂ × …)
  • Animated delivery truck orbiting the city with hopping motion
  • Building inspector — click any tower to see its full factorization in the side panel
  • Selected building highlight via color brightening
  • Custom tower deployment — enter any integer ≥ 2 and place it in the grid at runtime
  • Speed slider, animation toggle, and label toggle via side control panel
  • Color-coded prime legend rendered in the 3D scene

Requirements

  • Python 3.10+
  • open3d ≥ 0.18.0
  • numpy ≥ 1.26.0