Hello,
I'm looking for the way to construct visibility graph (not visibility analysis) in ArcGIS. visibility graph is:
"v.net.visibility computes the visibility graph of a vector map containing lines, areas (boundaries) and points. The visibility graph is the graph where the nodes are the end point of the lines, boundaries or simply the points. There is an edge between two nodes if they are 'visible'. Two nodes are visibible if there is no segments in between them, i.e. the edge doesn't intersect any line or boundary in the vector map. This is useful to compute the sortest path in a vector map from any two points. To do this, first you need to compute the visibility graph and from it compute the shortest path using v.net.path or d.path." (from manual of GRASS GIS)
There are huge amount of research in the field of computational geometry, but they are just about algoritm itself.