1 Introduction
“Geometric probing considers problems of determining a geometric structure or some aspect of that structure from the results of a mathematical or physical measuring device, a probe.” [13, Page 1] Many probing tools have been studied in the literature such as finger probes [4]
, hyperplane (or line) probes
[5, 10], diameter probes [12], xray probes [7, 9], histogram (or parallel xray) probes [11], halfplane probes [14] and composite probes [3, 10] to name a few.A geometric probing problem can be considered as a reconstruction problem. Can one reconstruct an object given a set of probes? For diameter probes this is not the case: e.g., there exist a class of (curved) orbiform shapes such as the celebrated Reuleaux triangle, that have the same diameter function as the circle. What is more surprising and important for us is that this is not the case even for polygonal shapes: there are uncountable families of polygons with the same diameter function, where the polygons need not be regular, nor their diameter function needs to be constant [12]. In this paper we show, that an alternative probing device called an wedge yields the function that is free from this major drawback.
An wedge, first studied by Bose et al. [1], is the (closed) set of all points contained between two rays that are emanating from a single point, the apex of the wedge. The angle formed by the two rays is such that . A single probe of a convex gon is valid when is inside the wedge and both rays of the wedge are tangent to , see Figure 1a.^{1}^{1}1In [1] probing with an wedge is defined for a wider class of convex objects. Since here we focuse on the objects being convex polygons, we restrict our definition accordingly. A valid probe returns the coordinates of the apex and of the two points of contact between the wedge and the polygon. Using this tool, a convex gon can be reconstructed by between and probes, depending on the value of and the number of narrow vertices (vertices whose internal angle is at most ) in [1]. As the wedge rotates around , the locus of the apex of the wedge describes a curve called an cloud (see Figure 1b).
The cloud can be seen as a generalization of the diameter function introduced by Rao and Goldberg [12]. In their paper, a diameter probe consists of two parallel calipers turning around a convex object in the plane. The function that returns the distance between these calipers as they turn around is called a diameter function. Rao and Goldberg [12] show that two different convex polygons can have the same diameter function, and the fucntion need not be constant. This implies that recovering the exact shape and orientation of a convex gon given only its diameter function is not always possible and additional information is required. An wedge can be seen as two nonparallel calipers turning around a convex object in the plane. As we prove in this paper, two different convex polygons cannot have the same (nonconstant) cloud function, as opposed to the case of Rao and Goldberg’s tool. This is clearly showing the advantage of the cloud against the latter tool.
Related to our probing method is also the method of Fleischer and Wang [8]. In the latter method, a convex gon is placed inside a circle of radius . A camera that sees only the silhouette of can be placed anywhere on the circle. The angle with which the camera sees together with the position of the camera is a probe of . Let be the largest angle of . They prove that if no two camera tangents overlap, then probes are necessary and sufficient. Otherwise, approximately cameras are sufficient. In our method, the apex of the wedge that turns around can be seen as a camera. Therefore, our method is a variant of theirs because instead of fixing the circle on which the camera can move, we fix the angle from which can be seen by the camera.
In this paper, we prove that no two convex polygons have the same (nondegenerate) cloud, and give algorithms to reconstruct the convex polygon from its cloud. We show, that if the value of is known, can be reconstructed in time and space, where is the number of vertices with the internal angle at most (narrow vertices). In particular, this means that the required space is constant for any fixed value of . If the value of is not known, we can still recover , as long as . In this case, we give an time and space reconstruction algorithm. The time complexity reduces to , if, in addition, we know a vertex of and the vertices of are in a form of general position (no three vertices are on one supporting circle of an arc of the cloud).
The results in this paper differ from the ones in Bose et al. [1] in the following ways. First, we consider a different probing method, where only one piece of information is available for each probe instead of three, namely the coordinates of the apex of the wedge. Second, in this paper we prove a fundamental property of the cloud, that no two convex polygons have the same (nondegenerate) cloud, and thus cloud yields a more advantageous probing method than diameter probes. Further, here we derive a list of interesting properties of the cloud, which were not known before, and which allow us to provide a simple algorithm to reconstruct the polygon from its cloud. Note as well, that our results are more general than the ones from Bose et al. [1] since they hold for all , instead of .
The rest of the paper is organized as follows. Section 2, after recalling the necessary preliminaries and introducing the notation, gives a number of useful properties of the cloud, which in particular lead to the uniqueness of the polygon for a given cloud and fixed value of (see Theorem 2.1). Using these properties, in Section 3 we derive the algorithms to reconstruct polygon from its cloud, either knowing (see Section 3.1), or not (see Section 3.2).
2 Properties of the cloud
Let be an vertex convex polygon in . For any vertex of , let be the internal angle of at . Let be a fixed angle with . Consider an wedge ; recall that it is the set of points contained between two rays and emanating from the same point (the apex of ), such that the angle between the two rays is exactly (see Figure 1a). We call the ray (resp., ) that bounds from the left (resp., right) as seen from , the left (resp., right) arm of . See Figure 1a. We say that an wedge is minimal for if is contained in and the arms of are tangent to . The direction of is given by the bisector ray of the two arms of . Note that for each direction, there is a unique minimal wedge.
Definition 1 (cloud [2]).
The cloud of is the locus of the apexes of all minimal wedges for .
The cloud of consists of a circular sequence of circular arcs, where each two consecutive arcs share an endpoint. We define an arc of the cloud as a maximal contiguous portion of such that for every point of the corresponding minimal wedge is combinatorially the same, i.e., its left and right arm touch the same pair of vertices of . The points on connecting consecutive arcs are called pivots. We note that if , two consecutive arcs of the cloud can lie on the same supporting circle. In this case we call the pivot separating them a hidden pivot. There are between and pivots [2].
A vertex of is called narrow if the angle is at most . Note that a pivot of coincides with a vertex of if and only if that vertex is narrow. In this case, we also call such pivot narrow. If , we call (the vertex or the pivot) strictly narrow. The portion of between two points , unless explicitly stated otherwise, is the portion of one encounters when traversing from to clockwise, excluding and . We denote this by . The angular measure of an arc is the angle spanned by , measured from the center of its supporting circle. For two points on , the total angular measure of from to , denoted as , is the sum of the angular measures of all arcs in .
Each point in the interior of an arc corresponds to a unique minimal wedge with direction . Let be a pivot of . If is not strictly narrow, also corresponds to a unique minimal wedge with direction . Otherwise, corresponds to a closed interval of directions , where the angle between and equals . See Figure 2a. Let and denote the minimal wedges with apex at and directions respectively and . For points on that are not strictly narrow pivots, we define and both to be equal to , and and equal to .
The following is a crucial property of the cloud, lying in the basis of the other properties.
Lemma 1.
Let and be two points on such that there are no narrow pivots between and . Then the angle between and is .
Proof.
Suppose first that is a single arc (see Figure 2b). The angle between and equals the angle between the left arms of the two minimal wedges corresponding to these directions. Angle equals , which is half the angular measure of the arc , i.e., .
Now suppose that consists of several arcs. By assumption, none of the pivots separating these arcs are narrow (although and may be). Consider the change of direction of the minimal wedge as it moves from to . After traversing an arc with endpoints and , by the above observation, the direction changes by exactly . Since none of the intermediate pivots on are narrow, there is no change in direction as the wedge passes through each pivot. Therefore the total change in direction for the wedge is the sum of the changes induced by the traversed arcs, that is, . ∎
Corollary 1.
The sum of the angular measures of all arcs of is , where is the set of all narrow vertices of . In particular, if has no strictly narrow vertices, then the sum of angular measures of the arcs of is .
Proof.
Choose a point in the interior of an arc of and consider the change in the direction of the minimal wedge as its apex traverses the whole and returns back to . Since the minimal wedge at is unique, the total angle the direction has turned is . The narrow pivots break in a number of connected components, for which Lemma 1 applies. The total angular measure of the arcs of is the sum of angular measures of these components. In a narrow pivot , the minimal wedge turns from the position when its left arm coincides with the left edge incident to , to the position when its right arm coincides with the right edge incident to . See Figure 2a. Thus the angle the direction of the minimum wedge turned, while its apex has stayed in , equals . Summing up such deficit for all narrow pivots, we obtain that the total turn of the wedge corresponding to the arcs of is . Lemma 1 as applied to the components of as separated by the narrow pivots, implies that the total angular measure of all arcs of equals . ∎
Since each arm of any minimal wedge touches , and since is convex, Lemma 1 implies the following.
Corollary 2.
For any arc of , .
Let be a point on ; it corresponds to two minimal wedges , (which coincide if is not a narrow pivot). Consider the open ray of the right arm of . Its origin is in the interior of the region bounded by , thus it intersects at least once. Among the points of this intersection, let be the one closest to . Define the point analogously for the left arm of . See Figure 3a,b.
Lemma 2.
(a) Neither nor contains a narrow pivot. (b) If is a narrow pivot, then . (c) If is not narrow, then either , or is the first narrow pivot following in the clockwise direction. A symmetric statement holds for .
Proof.
We prove items (a), (b), (c) for and ; a symmetric argument applies for and in each case.
(a) If contained a narrow pivot , then had to lie inside the wedge (because it would be a vertex of ). However, in that case the left arm of should have crossed before , contradicting to the definition of .
(b) By Lemma 1, is twice the angle between and . Thus we need to show that the latter is . By definition, lies on the line through the left arm of the wedge . Since is narrow, passes through an edge of . Now consider , the leftmost minimal wedge corresponding to . Its right arm is aligned with , as this is the leftmost possible line through with entirely to its left (see Figure 3b). Therefore the angle between the bisectors of and is , and is .
(c) Let be not a narrow pivot. We suppose , and will show that is a narrow pivot of . By the above observation that there can be no narrow pivots between and , this will imply the claim. Suppose is not a narrow pivot. Then there is a vertex of , different from , where the left arm of touches . Then the wedge must have its right arm aligned with , which would mean . A contradiction. ∎
Lemma 3.
Let be a pivot of , and let and be the points on such that . (a) If pivot is narrow, then the supporting circles of all the arcs of pass through . (b) If consists of a single arc, or there is an arc of that is not incident to , such that the supporting circle of contains , then is narrow. A symmetric statement holds for .
Proof.
(a) Suppose that is a narrow pivot. Define points in the same way as points are defined for the point above. By Lemma 2b the points and coincide with and , respectively (see Figure 4a). The minimal wedge, as its apex traverses , is always touching . Indeed, when its apex is at , its left arm is aligned with the line through and , and thus with the edge of incident to and preceding it in clockwise order. When the apex of the minimal wedge reaches , its direction is and its right arm is touching . Thus every placement of the minimal wedge in the considered interval was touching by its left arm. Symmetrically, every minimal wedge with the apex at any point between and is touching by its right arm. The claim is implied.
(b) If consists of a single arc , any minimal wedge corresponding to this arc must pass through both and , which means that they both are vertices of , and thus narrow pivots. To see this, pick any point on , and any point on the supporting circle of outside . See Figure 4b. The quadrilateral is inscribed in the circle, thus the sum of the angle at and the one at is . The former angle is half the angular measure of (the angle in Figure 4b is half the angle ), i.e., it is . Therefore the angle at is , i.e., the minimal wedge with the apex is passing through and .
Suppose contains at least two arcs, and suppose there exists arc that is not incident to , but whose supporting circle passes through . Let be the supporting circle of the arc of incident to . Let be clockwise endpoint of . It is enough to show that pivot corresponds to the turn of the wedge around : indeed, this would imply that coincides with a vertex of , and thus it is a narrow pivot.
Assume for the sake of contradiction that the above does not hold. Suppose first that the pivot is not narrow. Observe that the wedge , cannot intersect arc with its arms. Thus the arms of touch circle in the apex and two points , that are the two vertices of that correspond to the arc . See Figure 5a. The two vertices corresponding to the arc of incident to must lie inside . By construction, must be the sequence of vertices of the polygon in clockwise order. However, by the assumption of the lemma, both and pass through and , and thus points (in this order) are not in convex position, contradicting to being convex.
Suppose now that the pivot is narrow. The minimal wedge as its apex traverses arc turns around some vertex of and . See Figure 5b. The minimal wedge of must contain since it is a vertex of . (In Figure 5b the right arm of this wedge passes through .) However, in this case one of the vertices of that correspond to the arc of incident to is outside (see the unfilled circle mark in Figure 5b). A contradiction.
The proof of item (b) for is analogous. ∎
Recall that a pivot is hidden if its incident arcs have the same supporting circle. With Lemma 3 we can identify all narrow pivots on that are not hidden, so we now turn our attention to the properties of hidden pivots.
Lemma 4.
Let be a hidden pivot of , let and be the two arcs of incident on , and let and be the other endpoints of and , respectively. Then , , and are all narrow and each of the arcs , has angular measure .
Proof.
Since is a hidden pivot, and are supported by the same circle . Consider the minimal wedge as its apex traverses . Its arms are touching two vertices of , both lying on . Since is a hidden pivot, the vertex touched by the left arm of the wedge is (otherwise, there would be no possibility to switch from to at point ). Let be the vertex of touched by the right arm of the wedge. As soon as the apex of the wedge reaches , the wedge becomes , and its right arm is passing through and . If polygon had a vertex between and , that vertex must lie outside , which is impossible. Thus is actually . Therefore, , which by Lemma 2b equals . A symmetric argument for , , and completes the proof. ∎
Corollary 3.
If all arcs of the cloud of have the same supporting circle , then is an integer and is a regular gon inscribed in .
Proof.
Since all arcs of the cloud of are supported by the circle , all the pivots of are hidden. Applying Lemma 4 to each pivot, we obtain that the pivots of are exactly the vertices of , and each arc has measure . Therefore the number of vertices of is , and the claim follows. ∎
Theorem 2.1.
Given an angle , and a circular sequence of at least two circular arcs, there is at most one convex polygon such that is the cloud of .
Proof.
Suppose is the cloud of a convex polygon . Lemmas 3 and 4 uniquely identify the narrow pivots of , which are the narrow vertices of (including hidden narrow pivots). By Lemma 2a, the portion of between any two narrow pivots has total angular measure at least , and thus the components of as defined by excluding all narrow vertices are uniquely determined by Lemma 2b. In particular, for each such component Lemma 2b gives the minimal wedge with the apex at some point in that component. Let be an arc that contains or is incident to , and be the supporting circle of . Intersecting with gives the two vertices of , that are tangent to the arms of the wedge as its apex traverses . ∎
3 Reconstructing from its cloud
In this section we let be an angle such that , and be a circular sequence of circular arcs. Our goal is to reconstruct the convex polygon for which is the cloud, or determine that no such polygon exists. As opposed to the previous sections, here we consider arcs of to be maximal portions of the same circle, that is, no two neighboring arcs can have same supporting circle. This model is natural for the reconstruction task, since as an input we are given a locus of the apexes of all the minimal wedges without any additional information. This automatically gives us all the pivots that are not hidden pivots.
Note that if is a single maximal arc, i.e., it is a circle , then is not unique. By Corollary 3, it is a regular gon inscribed in ; however, the position of its vertices on is impossible to identify given only and . Therefore we assume that has at least two (maximal) arcs.
First, in Section 3.1, we consider to be given. Afterwards, in Section 3.2, we consider the setting where is not known.
3.1 An aware reconstruction algorithm
Here we assume that is given. The main difficulty in the reconstruction task is caused by strictly narrow vertices, as the turn of the minimal wedge at those vertices is not reflected in the cloud (see Corollary 1). In our reconstruction algorithm, we first find all the nonhidden strictly narrow pivots of , and then treat the connected portions of between those pivots separately. In Lemma 5 we give a procedure to process such a portion of .
For two points and on , let be the union of the edges and vertices of touched by the arms of the minimal wedge as its apex traverses . Note that consists of at most two connected portions of ; it is possible that one of them is a single vertex.
Lemma 5.
Given a portion of that does not contain strictly narrow pivots, and the direction of the rightmost minimal wedge of , the portion of that corresponds to can be reconstructed in time linear in the number of arcs in . The procedure requires space.
Proof.
Let be the arc of incident to , let be the other endpoint of , and let be the supporting circle of . See Figure 6. By knowing the value of and the direction , we determine the wedge . The intersection between the wedge and the circle determines the two vertices of touched by the minimal wedge as its apex traverses arc . In Figure 6, these two points are and . The direction of the leftmost minimal wedge at , , is due to Lemma 1. If is inside , thus is not a strictly narrow vertex, and therefore there is a unique minimal wedge at , . Thus, for each arc of we find the pair of vertices of that induces that arc. Moreover, by visiting the pivots of in order, we find the vertices of each of the two chains of ordered clockwise. To avoid doublereporting vertices of , we keep the startpoints of the two chains, and whenever one chain reaches the startpoint of the other one, we stop reporting the points of the former chain.
This procedure visits the pivots of one by one, and performs operations at each pivot, namely, finding the intersection between a given wedge and a given circle. No additional information needs to be stored. ∎
3.1.1 Reconstruction algorithm.
As an input, we are given an angle , , and a circular sequence of circular arcs which is not a single circle. We now describe an algorithm to check if is the cloud of some convex polygon , and to return if this is the case. It consists of two passes through , which are detailed below. During the first pass we compute a list of all strictly narrow vertices of that are not hidden pivots. With each such vertex , we store the supporting lines of the two edges of incident on . In the second pass we use this list to reconstruct .
First pass.
We iterate through the pivots of (since we consider the maximal arcs of , the pivots we are iterating through are not hidden). For the currently processed pivot , we maintain the point on such that . If pivot is narrow, we jump to the point on at the distance from . Moreover, if is strictly narrow, we add to the list . If is not narrow, we process the next pivot of . We now give the details.
Let be the arc of incident to and following it in clockwise direction. Let be the arc following , and be the supporting circle of . We consider several cases depending on the angular measure of :
Second pass.
In case the list is empty, we simply apply the procedure of Lemma 5 to the whole . In particular, as both the start and the endpoint, we take the point with which we completed the first pass of the algorithm; the point such that is already known from the first pass. Then is the direction of the minimal wedge with the apex at and the right arm passing through .
Suppose now the list contains vertices. They subdivide into connected portions that are free from strictly narrow nonhidden pivots. Each portion is treated as follows:

If it is a single maximal arc of measure , we simply separate it by equidistant points, and those points are exactly the vertices of the portion of corresponding to the considered component of , see Lemma 4.

Otherwise it is a portion free from any strictly narrow pivots. We process this portion by the procedure of Lemma 5.
Note that before starting the first pass, the algorithm has to find the starting positions and , for which we choose the one of and traverse until the corresponding position of (i.e., ). In order for this preparatory step, together with the first pass of the algorithm, perform exactly one pass through , the pointer has to stop at the initial position of , instead of the initial position of . However, this is still enough for creating the complete list . Indeed, by Lemma 2b, there is at most one narrow pivot between and . There is no such narrow pivot if and only if the left arm of the minimal wedge and the right arm of coincide, and in this case there is nothing to add to . If there is such a narrow pivot , then both and are not narrow. By Lemma 2c, both the left arm of the wedge and the right arm of pass through . Thus can be found as their intersection.
Correctness and complexity of the described algorithm analyzed in the following theorem.
Theorem 3.1.
Given an angle such that , and a circular sequence of circular arcs which is not a single circle, there is an algorithm to check if is the sequence of the maximal arcs, corresponding to the cloud of some vertex convex polygon , and to return if this is the case. The algorithm works in time, making two passes through the input, and it requires storage, where is the number of strictly narrow vertices of . In particular, the required storage is constant for any fixed value of .
Proof.
Consider the first pass of the algorithm. Cases a(i), b, and c are exactly the cases where is a narrow pivot, see Lemmas 3 and 4. The case d corresponds to an impossible situation by Lemma 4 and Corollary 2. In case a(i), we update to be , thus we are not processing the pivots between and ; Lemma 2 guarantees we do not miss any narrow pivot. Correctness of the second pass is implied by Lemmas 4 and 2a.
Each pivot of is visited exactly once during the first pass (it is either checked as the pivot , traversed in the case a(i), or skipped in the case c).The second pass as well visits each pivot once. The time spent during each such visit is . The storage required by the algorithm is the storage required for the list , i.e., it is .
3.2 An oblivious reconstruction algorithm
In this section we assume . Thus there are no hidden pivots in . Our reconstruction algorithm for this setting rely on the following property.
Lemma 6.
Let be the cloud of a polygon , such that . Each vertex of lies on at least two distinct supporting circles of arcs of .
Proof.
If is a narrow vertex, it is also a pivot of . Since , cannot be a hidden pivot, therefore it is incident to the two arcs with two distinct supporting circles. The statement follows. Assume now is not a narrow vertex.
Observe that each edge of appears on an arm of exactly two minimal wedges of , and both these wedges correspond to pivots of . Suppose for the sake of contradiction that there is a vertex of that lies on exactly one supporting circle of an arc of . Let be one of the two edges of incident to . Consider the two minimal wedges corresponding to . For each of them, one of the two arcs of incident to their apex has on its supporting circle. By our assumption, these two supporting circles coincide and equal . Consequently the two apexes of the wedges lie on . Since is not a narrow vertex, are three distinct points. These three points lie on one line (the supporting line of ), so it is impossible for all of them to lie on . We obtain a contradiction.
∎
We are ready to give the reconstruction algorithm, which is the main result of this section.
Theorem 3.2.
Given a circular sequence of circular arcs , there is an algorithm that finds the convex polygon such that is the cloud of for some angle with , if such a polygon exists. Otherwise, it reports that such a polygon does not exist.

If no additional information is given, the algorithm works in time and space.

If in addition a vertex of is given, and it is guaranteed that each supporting circle of an arc of passes through exactly two vertices of , the algorithm works in time and space.
Proof.
In both cases, we first construct the arrangement of all the supporting circles of the arcs of . This can be done in time and space [6].
(i) For each pair of vertices of that are incident to the same circle, we do the following. Construct a wedge passing through and , such that the apex of lies in the interior of an arc of supported by , and the angle corresponding at is less than . Note that such an arc is unique. Run the algorithm of Theorem 3.1 for , angle , and the direction of .
We process pairs of vertices in total, processing one pair takes time, thus the total time spent on the reconstruction of is .
(ii) If is not a vertex of , we stop the procedure returning a negative answer. Otherwise we choose a circle containing . For each vertex of such that , we repeat the above procedure.
By our assumption, every supporting circle of incident to is incident to only one other vertex of . Thus it is not possible that the minimal wedge corresponding to does not pass through . Therefore, it is enough to just consider one circle incident to . Since there are distinct vertices of on the circle , the time required for the algorithm is . ∎
References
 [1] Bose, P., Carufel, J.D., Shaikhet, A., Smid, M.H.M.: Probing convex polygons with a wedge. Comput. Geom. 58, 34–59 (2016)
 [2] Bose, P., Mora, M., Seara, C., Sethia, S.: On computing enclosing isosceles triangles and related problems. International Journal of Computational Geometry & Applications 21(01), 25–45 (2011)
 [3] Bruckstein, A.M., Lindenbaum, M.: Reconstruction of polygonal sets by constrained and unconstrained double probing. Ann. Math. Artif. Intell. 4, 345–361 (1991)
 [4] Cole, R., Yap, C.: Shape from probing. J. Algorithms 8(1), 19–38 (1987)

[5]
Dobkin, D., Edelsbrunner, H., Yap, C.K.: Probing convex polytopes. In: Proceedings of the Eighteenth Annual ACM Symposium on Theory of Computing. pp. 424–432. STOC ’86, ACM, New York, NY, USA (1986)
 [6] Edelsbrunner, H., O’Rourke, J., Seidel, R.: Constructing arrangements of lines and hyperplanes with applications. SIAM Journal on Computing 15(2), 341–363 (1986)
 [7] Edelsbrunner, H., Skiena, S.: Probing convex polygons with xrays. SIAM J. Comput. 17(5), 870–882 (1988)
 [8] Fleischer, R., Wang, Y.: On the camera placement problem. In: ISAAC. pp. 255–264 (2009)
 [9] Gardner, R.J.: Xrays of polygons. Discrete Comput. Geom. 7, 281–293 (March 1992)
 [10] Li, S.R.: Reconstruction of polygons from projections. Inf. Process. Lett. 28(5), 235–240 (1988)
 [11] Meijer, H., Skiena, S.S.: Reconstructing polygons from xrays. Geometriae Dedicata 61, 191–204 (1996)
 [12] Rao, A.S., Goldberg, K.Y.: Shape from diameter: Recognizing polygonal parts with a paralleljaw gripper. I. J. Robotic Res. 13(1), 16–37 (1994)
 [13] Skiena, S.: Problems in geometric probing. Algorithmica 4(4), 599–605 (1989)
 [14] Skiena, S.: Probing convex polygons with halfplanes. J. Algorithms 12(3), 359–374 (1991)