280 likes | 510 Views
A New Algorithm for 3D Isovist. SULEIMAN Wassim 1 , JOLIVEAU Thierry 1 , FAVIER Eric 2 1 ISTHME-ISIG CNRS/UMR EVS, Université Jean Monnet - Saint-Etienne. 2 DIPI EA 3719 École Nationale d'Ingénieurs de Saint-Etienne wassim.suleiman@univ-st-etienne.fr thierry.joliveau@univ-st-etienne.fr
E N D
A New Algorithm for 3D Isovist SULEIMAN Wassim1, JOLIVEAU Thierry1, FAVIER Eric2 1ISTHME-ISIG CNRS/UMR EVS, Université Jean Monnet - Saint-Etienne. 2DIPI EA 3719 École Nationale d'Ingénieurs de Saint-Etienne wassim.suleiman@univ-st-etienne.fr thierry.joliveau@univ-st-etienne.fr eric.favier@enise.fr SAGEO 2012– 7 November 2012 in Liege, Belgium
Isovist : the visible space from a given point in space. Fields of use : Urban and landscape planning Navigation systems Visual surveillance Publicity placement Wireless Network architecture Isovist
Main technique for computing Isovist : ray tracing 2D Vector data 2.5D Raster data Brossard & Wieber Number of rays ? Resolution ?
2.5 and 3D Isovist solutions 2,5 Raster mode (Public Eye) Voxel mode (Pyysaloet al. 2009), (Morello & Ratti 2009) • Limitations ? • The identity and the individuality of the special entities (buildings for example) is lost • The precision is related to the resolution
New algorithms for computing ISOVIST in 2D and 3D • The principle is to analyze how the spatial entities (buildings) block the line-of-sight. • The isovist will be considered as a group of vision angle associated with spatial entities or free space (if there isno building blocking the sight).
New algorithm for 2D ISOVIST • Assumption • 2D space is an aggregation of segments. • Wewill use the polar coordinates centered at the observer point.
New algorithm for 2D ISOVIST • Definition • The angle of vision for is the angular interval. The module of the angle of vision is:.
New algorithm for 2D ISOVIST • Definition • The free segment is a segment whose the two ends are visible by the observer.
New algorithm for 2D ISOVIST • Definition • The free vision field is an angle of vision where there is no obstacle blocking the line of sight.
New algorithm for 2D ISOVIST Algorithm • BEGIN • Initialize FVF = , BVF= • While (S ) do: • Search for the free segments in S, and then order them with the increasing. . • While (F )do: • blocks the visibility in the angles {[θ1c, θ2c] FVF} • BVF = BVF • S = S – , F=F- • FVF = FVF - • ENDWHILE • Eliminate all segments who have angle of vision out of the free vision field from S. (i.e., the intersection between their angle of vision and the free vision field is empty). • ENDWHILE • RETURN Results = FVF BVF. • END.
New algorithm for 2D ISOVIST The complexity For environnement with N 2D segments, the complexity is in order of N*log(N) Comparisonwith ray tracing, for R ray tracing, The complexity is in order of (R+N)*log(R+N) For precision of 10^-6 rad, weneed R= 2*π*10^6 ≈ 6,283,000 !!!
New algorithm for 2D ISOVIST Implementation : virtual environment on Matlab
New algorithm for 2D ISOVIST Implementation : real GIS data on Matlab
New algorithm for 2D ISOVIST Autonome application usingVB.NET langage Execution time lessthan 10 sec
A new algorithm for computing 3D Isovist • Assumption • All surfaces in the 3D environment are an aggregation of polygons. • Each polygon () is presented by its projection on the unit sphere centered at the observer point.
A new algorithm for computing 3D Isovist 1 Polygon Observer Projection The projection on the unit sphere centered at the observer point.
A new algorithm for computing 3D Isovist • Definitions • (the solid angle of vision for) is the surface of its projection over the unit sphere.
A new algorithm for computing 3D Isovist • Definitions • The free polygon is a polygon whose edges (or the enclosed frontier segments) are visible from the observer.
A new algorithm for computing 3D Isovist • Definitions • The free vision field is a solid angle of vision where no obstacle is blocking the line of sight.
A new algorithm for computing 3D Isovist Algorithm • BEGIN • Initializing FS= {the entire unit sphere}, BS = . • While (P ) do : • Search for the free polygons. And order them with the increasing . • While (F ) do: • blocks the visibility in the solid angles FS. • BS = BS • P = P - , F = F - • FS=FS - . • ENDWHILE • Eliminate all polygons how have angle of vision out of the free vision field (the intersection between their solid angle of vision and the free vision field is empty) from P. • ENDWHILE • RETURN Results = FS BS • END.
A new algorithm for computing 3D Isovist Thecomplexity For environnement with P 3D polygons the complexityis in order of P (3D segment – polygon intersection) Comparisonwith ray tracing, for R ray tracing, The complexityis in order of (R+P) (3D segment – polygonintersection) For precision of 10^-3 rad, weneed R= (π*10^3)*(2*π*10^3) ≈ 19,739,000 !!!
A new algorithm for computing 3D Isovist Implementation on Matlab Execution time about 2 min
A new algorithm for computing 3D Isovist • Autonome application using C# langage Execution time lessthan 30 sec
A new algorithm for computing 3D Isovist • Autonome application usingC# langage
A new algorithm for computing 3D Isovist • ArcsceneAddin to export the results in format Esri multipatch
Conclusion • We propose a new algorithm for computing Isovist in 2D and 3D environment with non-flat topographical surface. • The new algorithm is faster than usual ray tracing method. • We develop a stand alone program to calculate the isovist in 2D and 3D with the possibility to export the result as Esri shape file like (points-polygons-3D multipatch).
Future work • Using parallel processing like using cuda over GPU. • Thinkingabout meaning and definition of 3D Visibility indices (spacesyntax).
Thank you for your attention ! SuleimanWassim wassim.suleiman@univ-st-etienne.fr