> >1. Placement of the grid points so that the mesh is symmetric. We have > >found a work around: to set up the geometry on the same pixel grid as the > >viewpoints (as Mike does in starlogo); > > I agree. As you know this is not so straightforward in the case of vector > spaces. I am not sure what other alternatives exist. Why don't we try using > an output from Mike's star logo code to avoid any further delays. The alternative is to have the computer decide on mesh generation for you, so that view points are on the same pixel grid as the input geometry. It means work, but it seems possible to do. Mike's solution tells us that we don't need to depend on this to write the simple test cases in the paper where lack of symmetry could be spoted easily. Maybe this is not so relevant in examples like gassin, where it's hard to see lack of symmetry if the mesh is fine enough. > In simple ray tracing, the loss in isovist area and shape depends upon the > ray interval and geometry of the obstacles. The further the obstacles, the > higher the chance that their boundaries will be truncated due to wide > sweeps of even narrow ray intervals. Its listed as a limitation of the > version 1.x of the extension in the FAQs. The version 2.0 doesn't have this > limitation regarding the shape of the isovist. My argument was not properly elaborated before. There are two possibilities to converge to the *true* solution: 1. Refine mesh step & keep ray interval constant This is where I believe the problems will appear. At least, that's where they appeared in depthmap. The error may converge very slowly to zero for some points on the mesh as you refine the mesh step. Think of it like this, even if you would have an continuum of mesh points, this would not be enough to guarantee that the solution is *rigorous* -you need to have an infinitesimal ray interval. Depthmap doesn't seem to guarantee a nice convergence either as the depth computation is done on a graph and not on euclidean space (it seems that you get more and more spurious maxima as the grid is refined). 2. Refine ray interval & keep mesh step (cannot be done in depthmap) This is what the figs I have sent you show. The process is different and we may be reasonably safe here if we accept that the process of finding the axial line is to refine (heuristically) the ray interval until it gives us satisfactory results. That is, you try with one angle and then refine it until you see all these spurious maxima disappear. This is also, probably, the best method to build an isovist field. As you refine the ray interval, for every point in your grid, the error is converging *nicely* to zero. What I mean by *nicely* is the following: as you refine the ray interval you get a decreasing number of spurious maxima (remember that in depthmap the number of spurious maxima often increase as the grid step is refined). I think this is a strong point of your method. **But** one obvious problem with the pictures I've sent you is: Why is it that as you refine the angle you see less maxima, but the ridge becomes less straight (see upper right corner of gassin-1by2deg.tif)? I suggest that we refine the ray interval even further (keeping the same grid step) for now. Later on, we should refine just the mesh step, keeping the ray interval and see what happens. -Rui