Professional Documents
Culture Documents
Location-aware computing refers to computing that takes into account a particular context (mainly position) Location-aware computing relies on location-based services. In a narrow sense, such services are tied to mobile networks. Services based on other information like IP numbers probably rather use the more "geolocation" term. Location Based Services (LBS) are information and entertainment services accessible with mobile devices through the mobile network and utilizing the ability to make use of the geographical position of the mobile device. ([ http://en.wikipedia.org/wiki/Location-based_service Wikipedia], retrieved 13:37, 3 June 2008 (UTC).) Location-based services can deliver location-aware content to subscribers on the basis of the positioning capability of the wireless infrastructure.
Delaunay triangulation
From Wikipedia, the free encyclopedia
In mathematics and computational geometry, a Delaunay triangulation for a set P of points in a plane is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay triangulations maximize the minimum angle of all the angles of the triangles in the triangulation; they tend to avoid skinny triangles. The triangulation is named after Boris Delaunay for his work on this topic from 1934.[1] For a set of points on the same line there is no Delaunay triangulation (the notion of triangulation is degenerate for this case). For four or more points on the same circle (e.g., the vertices of a rectangle) the Delaunay triangulation is not unique: each of the two possible triangulations that split the quadrangle into two triangles satisfies the "Delaunay condition", i.e., the requirement that the circumcircles of all triangles have empty interiors.
By considering circumscribed spheres, the notion of Delaunay triangulation extends to three and higher dimensions. Generalizations are possible to metrics other than Euclidean. However in these cases a Delaunay triangulation is not guaranteed to exist or be unique.
Contents
[hide]
The Delaunay triangulation with all the circumcircles and their centers (in red).
Connecting the centers of the circumcircles produces the Voronoi diagram (in red).
d-dimensional Delaunay[edit]
For a set P of points in the (d-dimensional) Euclidean space, a Delaunay triangulation is a triangulation DT(P) such that no point in P is inside the circum-hypersphere of any simplex in DT(P). It is known[2] that there exists a unique Delaunay triangulation for P, if P is a set of points in general position; that is, there exists no kflat containing k + 2 points nor a k-sphere containing k + 3 points, for 1 k d 1 (e.g., for a set of points in 3; no three points are on a line, no four on a plane, no four are on a circle, and no five on a sphere). The problem of finding the Delaunay triangulation of a set of points in d-dimensional Euclidean space can be converted to the problem of finding the convex hull of a set of points in (d + 1)-dimensional space, by giving each point p an extra coordinate equal to |p|2, taking the bottom side of the convex hull, and mapping back to ddimensional space by deleting the last coordinate. As the convex hull is unique, so is the triangulation, assuming all facets of the convex hull are simplices. Nonsimplicial facets only occur when d + 2 of the original points lie on the same d-hypersphere, i.e., the points are not in general position.
Properties[edit]
Example steps
The union of all simplices in the triangulation is the convex hull of the points. The Delaunay triangulation contains O(nd / 2) simplices.[3] In the plane (d = 2), if there are b vertices on the convex hull, then any triangulation of the points has at most 2n 2 b triangles, plus one exterior face (see Euler characteristic).
In the plane, each vertex has on average six surrounding triangles. In the plane, the Delaunay triangulation maximizes the minimum angle. Compared to any other triangulation of the points, the smallest angle in the Delaunay triangulation is at least as large as the smallest angle in any other. However, the Delaunay triangulation does not necessarily minimize the maximum angle[citation needed].
A circle circumscribing any Delaunay triangle does not contain any other input points in its interior. If a circle passing through two of the input points doesn't contain any other of them in its interior, then the segment connecting the two points is an edge of a Delaunay triangulation of the given points.
Each triangle of the Delaunay triangulation of a set of points in d-dimensional spaces corresponds to a facet of convex hull of the projection of the points onto a (d + 1)-dimensional paraboloid, and vice versa.
The closest neighbor b to any point p is on an edge bp in the Delaunay triangulation since the nearest neighbor graph is a subgraph of the Delaunay triangulation.
The Delaunay triangulation is a geometric spanner: the shortest path between two vertices, along
This triangulation does not meet the Delaunay condition (the sum of and is bigger than 180).
This triangulation does not meet the Delaunay condition (the circumcircles contain more than three points).
Flipping the common edge produces a Delaunay triangulation for the four points.
Algorithms[edit]
Many algorithms for computing Delaunay triangulations rely on fast operations for detecting when a point is within a triangle's circumcircle and an efficient data structure for storing triangles and edges. In two dimensions, one way to detect if point D lies in the circumcircle of A, B, C is to evaluate the determinant:[4]
When A, B and C are sorted in a counterclockwise order, this determinant is positive if and only if D lies inside the circumcircle.
Flip algorithms[edit]
As mentioned above, if a triangle is non-Delaunay, we can flip one of its edges. This leads to a straightforward algorithm: construct any triangulation of the points, and then flip edges until no triangle is non-Delaunay.[dubious discuss] Unfortunately, this can take O(n2) edge flips, and does not extend to three dimensions or higher.[2]
Incremental[edit]
The most straightforward way of efficiently computing the Delaunay triangulation is to repeatedly add one vertex at a time, retriangulating the affected parts of the graph. When a vertex v is added, we split in three
the triangle that contains v, then we apply the flip algorithm. Done naively, this will take O(n) time: we search through all the triangles to find the one that contains v, then we potentially flip away every triangle. Then the overall runtime is O(n2). If we insert vertices in random order, it turns out (by a somewhat intricate proof) that each insertion will flip, on average, only O(1) triangles although sometimes it will flip many more.[5] This still leaves the point location time to improve. We can store the history of the splits and flips performed: each triangle stores a pointer to the two or three triangles that replaced it. To find the triangle that contains v, we start at a root triangle, and follow the pointer that points to a triangle that contains v, until we find a triangle that has not yet been replaced. On average, this will also take O(logn) time. Over all vertices, then, this takes O(n log n) time.[2] While the technique extends to higher dimension (as proved by Edelsbrunner and Shah[6]), the runtime can be exponential in the dimension even if the final Delaunay triangulation is small. The BowyerWatson algorithm provides another approach for incremental construction. It gives an alternative to edge flipping for computing the Delaunay triangles containing a newly inserted vertex.
Sweepline[edit]
Fortune's Algorithm uses a sweepline technique to achieve O(n log n) runtime in the planar case.
Sweephull[edit]
Sweephull[12] is a fast hybrid technique for 2D Delaunay triangulation that uses a radially propagating sweep-hull (sequentially created from the radially sorted set of 2D points, giving a non-overlapping triangulation), paired with a nal iterative triangle ipping step. An accurate integer arithmetic variant of the algorithm is also presented. Empirical results indicate the algorithm runs in approximately half the time of Qhull, and free implementations in C++ and C# are available.[13]
Applications[edit]
The Euclidean minimum spanning tree of a set of points is a subset of the Delaunay triangulation of the same points, and this can be exploited to compute it efficiently. For modelling terrain or other objects given a set of sample points, the Delaunay triangulation gives a nice set of triangles to use as polygons in the model. In particular, the Delaunay triangulation avoids narrow triangles (as they have large circumcircles compared to their area). See triangulated irregular network.
Delaunay triangulations can be used to determine the density or intensity of points samplings by means of the DTFE.
Delaunay triangulations are often used to build meshes for space-discretised solvers such as the finite element method and the finite volume method of physics simulation, because of the angle guarantee and because fast triangulation algorithms have been developed. Typically, the domain to be meshed is specified as a coarse simplicial complex; for the mesh to be numerically stable, it must be refined, for instance by usingRuppert's algorithm. The increasing popularity of finite element method and boundary element method techniques increases the incentive to improve automatic meshing algorithms. However, all of these algorithms can create distorted and even unusable grid elements. Fortunately, several techniques exist which can take an existing mesh and improve its quality. For example, smoothing (also referred to as mesh refinement) is one such method, which repositions nodal locations so as to minimize element distortion. The stretched grid method allows the generation of pseudo-regular meshes that meet the Delaunay criteria easily and quickly in a one-step solution.
Voronoi diagram
From Wikipedia, the free encyclopedia
In mathematics, a Voronoi diagram is a way of dividing space into a number of regions. A set of points (called seeds, sites, or generators) is specified beforehand and for each seed there will be a corresponding region consisting of all points closer to that seed than to any other. The regions are called Voronoi cells. It is dual to the Delaunay triangulation. It is named after Georgy Voronoy, and is also called a Voronoi tessellation, a Voronoi decomposition, a Voronoi partition, or a Dirichlet tessellation (after Peter Gustav Lejeune Dirichlet). Voronoi diagrams can be found in a large number of fields in science and technology, even in art, and they have found numerous practical and theoretical applications.[1][2]
Formal definition[edit]
Let let be a space (a nonempty set) endowed with a distance function . Let be a set of indices and . The Voronoi cell, is not
be a tuple (ordered collection) of nonempty subsets (the sites) in the space , associated with the site is the set of all points in , where
or Voronoi region,
whose distance to
even coincide (an application is described below for sites representing shops), but usually they are assumed to be disjoint. In addition, infinitely many sites are allowed in the definition (this setting has applications in geometry of numbers and crystallography), but again, in many cases only finitely many sites are considered. In the particular case where the space is a finite dimensional Euclidean space, each site is a point, there are finitely many points and all of them are different, then the Voronoi cells are convex polytopes and they can be represented in a combinatorial way using their vertices, sides, 2-dimensional faces, etc. Sometimes the induced combinatorial structure is referred to as the Voronoi diagram. However, in general the Voronoi cells may not be convex or even connected.
Illustration[edit]
As a simple illustration, consider a group of shops in a flat city. Suppose we want to estimate the number of customers of a given shop. With all else being equal (price, products, quality of service, etc.), it is reasonable to assume that customers choose their preferred shop simply by distance considerations: they will go to the shop located nearest to them. In this case the Voronoi cell of a given shop can be
used for giving a rough estimate on the number of potential customers going to this shop (which is modeled by a point in our flat city). So far it was assumed that the distance between points in the city is measured using the standard distance, the familiar Euclidean distance: However, if we consider the case where customers only go to the shops by a vehicle and the traffic paths are parallel to the distance, namely and axes, as in Manhattan, then a more realistic distance function will be the .
Voronoi diagrams of 20 points under two different metrics
Euclidean distance
Manhattan distance
Properties[edit]
The dual graph for a Voronoi diagram (in the case of a Euclidean space with point sites) corresponds to the Delaunay triangulation for the same set of points.
The closest pair of points corresponds to two adjacent cells in the Voronoi diagram. Assume the setting is the Euclidean plane and a group of different points are given. Then two points are adjacent on the convex hull if and only if their Voronoi cells share an infinitely long side.
If the space is a normed space and the distance to each site is attained (e.g., when a site is a compact set or a closed ball), then each Voronoi cell can be represented as a union of line segments emanating from the sites.[3] As shown there, this property does not necessarily hold when the distance is not attained.
Under relatively general conditions (the space is a possibly infinite dimensional uniformly convex space, there can be infinitely many sites of a general form, etc.) Voronoi cells enjoy a certain stability property: a small change in the shapes of the sites, e.g., a change caused by some translation or distortion, yields a small change in the shape of the Voronoi cells. This is the geometric stability of Voronoi diagrams.[4] As shown there, this property does not hold in general, even if the space is twodimensional (but non-uniformly convex, and, in particular, non-Euclidean) and the sites are points.
Examples[edit]
This is a slice of the Voronoi diagram of a random set of points in a 3D box. In general a cross section of a 3D Voronoi tessellation is not a 2D Voronoi tessellation itself. (The cells are all convex polyhedra.)
Voronoi tessellations of regular lattices of points in two or three dimensions give rise to many familiar tessellations.
A 2D lattice gives an irregular honeycomb tessellation, with equal hexagons with point symmetry; in the case of a regular triangular lattice it is regular; in the case of a rectangular lattice the hexagons reduce to rectangles in rows and columns; a square lattice gives the regular tessellation of squares; note that the rectangles and the squares can also be generated by other lattices (for example the lattice defined by the vectors (1,0) and (1/2,1/2) gives squares). See here for a dynamic visual example.
A simple cubic lattice gives the cubic honeycomb. A hexagonal close-packed lattice gives a tessellation of space with trapezo-rhombic dodecahedra. A face-centred cubic lattice gives a tessellation of space with rhombic dodecahedra. A body-centred cubic lattice gives a tessellation of space with truncated octahedra. Parallel planes with regular triangular lattices aligned with each other's centers give the hexagonal prismatic honeycomb.
Certain body centered tetragonal lattices give a tessellation of space with rhombo-hexagonal dodecahedra.
For the set of points (x, y) with x in a discrete set X and y in a discrete set Y, we get rectangular tiles with the points not necessarily at their centers.
Although a normal Voronoi cell is defined as the set of points closest to a single point in S, an nth-order Voronoi cell is defined as the set of points having a particular set of n points in S as its nnearest neighbors. Higher-order Voronoi diagrams also subdivide space. Higher-order Voronoi diagrams can be generated recursively. To generate the nth-order Voronoi diagram from set S, start with the (n 1)th-order diagram and replace each cell generated byX = {x1, x2, ..., xn1} with a Voronoi diagram generated on the set S X.
Approximate Voronoi diagram of a set of points. Notice the blended colors in the fuzzy boundary of the Voronoi cells.
Voronoi diagrams are often not feasible ford > 2. An alternative is to use approximate Voronoi diagrams, where the Voronoi cells have a fuzzy boundary, which can be approximated.[8] Another alternative is when any site is a fuzzy circle and as a result the cells become fuzzy too.[9] Voronoi diagrams are also related to other geometric structures such as the medial axis (which has found applications in image segmentation, optical character recognition, and other computational applications), straight skeleton, and zone diagrams.
Applications[edit]
In epidemiology, Voronoi diagrams can be used to correlate sources of infections in epidemics. One of the early applications of Voronoi diagrams was implemented by John Snow to study the 1854 Broad Street cholera outbreak in Soho, England. He showed the correlation between areas on the map of London using a particular water pump, and the areas with most deaths due to the outbreak.
A point location data structure can be built on top of the Voronoi diagram in order to answer nearest neighbor queries, where one wants to find the object that is closest to a given query point. Nearest neighbor queries have numerous applications. For example, one might want to find the nearest
hospital, or the most similar object in a database. A large application is vector quantization, commonly used in data compression.
In geometry, Voronoi diagrams can be used to find the largest empty circle amid a set of points, and in an enclosing polygon; e.g. to build a new supermarket as far as possible from all the existing ones, lying in a certain city.
Voronoi diagrams together with farthest-point Voronoi diagrams are used for efficient algorithms to compute the roundness of a set of points.[5]
The Voronoi approach is also put to good use in the evaluation of circularity/roundness while assessing the dataset from a coordinate-measuring machine.
In networking, Voronoi diagrams can be used in derivations of the capacity of a wireless network. In climatology, Voronoi diagrams are used to calculate the rainfall of an area, based on a series of point measurements. In this usage, they are generally referred to as Thiessen polygons.
In ecology, Voronoi diagrams are used to study the growth patterns of forests and forest canopies, and may also be helpful in developing predictive models for forest fires.
In computational chemistry, Voronoi cells defined by the positions of the nuclei in a molecule are used to compute atomic charges. This is done using the Voronoi deformation density method.
In polymer physics, Voronoi diagrams can be used to represent free volumes of polymers. In materials science, polycrystalline microstructures in metallic alloys are commonly represented using Voronoi tessellations. In solid state physics, the Wigner-Seitz cell is the Voronoi tessellation of a solid, and the Brillouin zone is the Voronoi tessellation of reciprocal (wave number) space of crystals which have the symmetry of a space group.
In mining, Voronoi polygons are used to estimate the reserves of valuable materials, minerals, or other resources. Exploratory drillholes are used as the set of points in the Voronoi polygons.
In computer graphics, Voronoi diagrams are used to procedurally generate organic or lava-looking textures.
In autonomous robot navigation, Voronoi diagrams are used to find clear routes. If the points are obstacles, then the edges of the graph will be the routes furthest from obstacles (and theoretically any collisions).
We all know that speaking the same words in one location may not produce the same result as if they are spoken somewhere else. In most settings jokes are acceptable and they will get a laugh, but not at a funeral. Part of being "rhetorically sensitive" is knowing what kinds of messages are appropriate in which settings and being able to anticipate how your messages will be interpreted by others in various settings. The most important influence on WHAT IS APPROPRIATE and HOW MESSAGES ARE INTERPRETED is context. You can better understand communication events by becoming aware of the six kinds of context. All 6 kinds of context are present for EVERY act of communication; but in different settings one or another may become more important. PHYSICAL CONTEXT: includes the material objects surrounding the communication event and any other features of the natural world that influence
communication. (e.g. furniture and how it is arranged, size of the room, colors, temperature, time of day, etc.) INNER CONTEXT: includes all feelings, thoughts, sensations, and emotions going on inside of the source or receiver which may influence how they act or interpret events. (e,g. hungry, sleepy, angry, happy, impatient, nauseous, etc.) SYMBOLIC CONTEXT: includes all messages (primarily words) which occur before or after a communication event and which influence source or receiver in their actions or understandings of the event. (e.g. previous discussions (words we've said) in this class influence how you understand this handout.) RELATIONAL CONTEXT: the relationship between the sender and the receiver(s) of a message. (e.g. father-son, student-teacher, expert-layman, friend-friend, etc.) SITUATIONAL CONTEXT: what the people who are communicating think of as (label) the event they are involved in -- what we call the act we are engaged in. (e.g. having class, being on a date, studying, playing a game, helping a friend with a problem, etc.) CULTURAL CONTEXT: The rules and patterns of communication that are given by (learned from) our culture and which differ from other cultures. (e.g. American, Japanese, British, etc.) Some people have suggested that within the U.S. there are sub-cultures. (e.g. Hispanic, Southern, rural-Midwest, urban gang, etc.)
Pervasive computing
Pervasive computing (also called ubiquitous computing) is the growing trend towards embedding microprocessors in everyday objects so they can communicate information. The words pervasive and ubiquitous mean "existing everywhere." Pervasive computing devices are completely connected and constantly available. Pervasive computing relies on the convergence of wireless technologies, advanced electronics and the Internet. The goal of researchers working in pervasive computing is to create smart products that communicate unobtrusively. The products are connected to the Internet and the data they generate is easily available. Privacy advocates are concerned about the "big brother is watching you" aspects of pervasive computing, but from a practical standpoint, most researchers feel it will improve efficiency. In a 1996 speech, Rick Belluzo, who was then executive VP and general manager of HewlettPackard, compared pervasive computing to electricity. He described it as being "the stage when we take computing for granted. We only notice its absence, rather than its presence." An example of a practical application of pervasive computing is the replacement of old electric meters with smart meters. In the past, electric meters had to be manually read by a company representative. Smart meters report usage in real-time over the Internet. They will also notify the power company when there is an outage, reset thermostats according to the homeowner's directives, send messages to display units in the home and regulate the water heater.
Service discovery An adaptable middleware in a device (or a mobile computing system) that dynamica lly discovers services Bluetooth Service discovery protocol JINI SLP (service location protocol) UPnP (Universal Plug and Play) service discovery functions Steps for Service discovery 1. Lets nearby service network (or device or system) recognize that device 2. Lets the nearby network know of device service(s) 3. Searches and discovers a new service(s) at the network 4. Interacting with nearby network using discovered service(s) Self-administration Software for starting the operating system Allocating network and system access addresses Initiating accesses Establishing and terminating the connections Making secure connections by the provisions by a system on its own without using network administration software when connecting to a network Self Configuration Means establishing and modifying the route information for the connections by a system on its own Self-healing network Means that the network can establish an alternative route when a connection or enroute node breaks The discovery of the neighbouring devices and server and interactions done without administering the device JINI enabled printer When placed close to the camera, the latter discovers the former and starts interacting with it Prints the selected pictures
Using Bluetooth self discovery protocol (SDP) Enable camera placed near a Bluetooth enabled PC discovers that the PC is Bluetooth enabled The camera exchanges information with the PC, which downloads the pictures or video clips onto it Bluetooth enabled PC discovering WiFiLAN Downloads MP3 files from the broadband Internet Service discovery in iPod When placed near it, the PC transfers the media files to iPod The user can now listen to selected music when mobile The iPod can also download photo albums and iTunes form the PC or network