Блог пользователя Himalaya_

Автор Himalaya_, история, 9 месяцев назад, По-английски

Hello Codeforces!

Like many of you, I struggle to visualize grid/coordinate geometry problems when I don't have a pen and paper handy. Debugging DFS/BFS paths or complex geometry on a blank screen is painful.

I couldn't find a simple, lightweight tool that did exactly what I wanted, so I built CP Grid Visualizer.

It's a single-file, browser-based tool to instantly plot points and lines on an infinite grid.

Link: https://himalaya-pahar.github.io/cp-grid-visualization/

github repo: https://github.com/himalaya-pahar/cp-grid-visualization

Features:

  • Infinite Grid: Handles negative coordinates and large ranges easily.

  • Fast I/O: Left-click to add points. Click any two points to draw a line.

  • Interactive: Click points to connect them with lines.

  • Precision Control: Switch between Snap-to-Grid (Integers) and Decimal Mode (Floats) instantly.

  • Safe Mode: Toggle "Allow Adding Points" OFF to lock the board and prevent accidental clicks.

  • Fast Edit: Right-Click any point to delete it instantly.

  • Live Distances: Hover over any line to see Manhattan & Euclidean lengths instantly.

  • Export: One-click "Download Image" to save your visualization (great for editorials or asking for help).

  • Dark Mode: Because we are programmers.

How to use:

  • Add Point: Left-click empty space (or type coordinates in the sidebar).

  • Connect: Click Point A, then Click Point B to draw a line.

  • Delete: Right-Click any point to remove it instantly.

  • Navigate: Drag to pan, Scroll to zoom.

  • Settings: Use the sidebar to Lock the board or switch to Decimal mode.

UI of CP Grid Visualizer

My Visualizer UI

Visualizing the third sample case for 2193F — Pizza Delivery. Calculated the optimal path visually in seconds

My Visualizer UI

Problem link: https://codeforces.me/contest/2193/problem/F

I kept it very simple (just HTML/JS) so it's fast and works offline if you save the file.

Let me know if you find any bugs or have feature requests!

  • Проголосовать: нравится
  • +235
  • Проголосовать: не нравится

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Great job! Do u want to make a service from your MVP?

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

honestly good stuff!!!

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Things nobody asked for but everybody needs

Very good job

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

This is pretty useful!

one thing -- an ability/toggle to be able to click to add or drag points would be amazing

»
9 месяцев назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

cool! i have a suggestion: maybe clicking on two points could show their manhattan and euclidean distance.

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by Himalaya_ (previous revision, new revision, compare).

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by Himalaya_ (previous revision, new revision, compare).

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

nice but can u make this more easy like instead of enterin one by one enterin an hole case like

1 1

2 2

3 3

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Honestly amazing work! You could even add a graph mode, which shows all the nodes and the distances between them to visualize graphs. Like this one

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Finally someone did it

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Thanks! Good tool

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

orz

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

very helpful good job, also could you add ctrl + z to remove recently added points ?

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

this is exactly what I need to prepare for MO

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by Himalaya_ (previous revision, new revision, compare).

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Very helpful. Awesome job!

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Also, can u add the feature to add a list of points (and lines also maybe)

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Nice. When already clicking on a vertex, and you drag out a new line, if you click it removes it, could you add an option to automatically place a new point and connect the current line to the new point instead?

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Thanks it really helpful!

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

amazing

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Very nice! Could you add a toggle for "Connect bulk input points in order"?

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

this is great! definitely using this for future cf problems

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

i have a suggestion: make a save code

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

This is peak