Recent research [1] about discrete surfaces for architectural design presents some elegant mesh study methods by using the concept of parallel mesh. By using mesh parallelism, we can get some interesting features of circular meshes, conical meshes [2] and edge offset meshes [3], as well as the relations between them. Circular meshes and conical meshes, which process vertex offset meshes and face offset meshes, respectively, are very useful especially in multi-layer architecture design. In some cases, we want to convert a mesh between a conical mesh and a circular mesh, such that both of them represent the same underlying surface. In [1], the authors provide a method to construct a circular mesh from conical mesh, or construct a conical mesh from a circular mesh. They also provide a method, by which we can construct a conical mesh from a circular mesh via the concept of polar duals. The purpose of this project is to implement and analyze the construction of a circular mesh from a conical mesh via the concept of polar duals. Other than translating the faces of the polar duals of circular mesh, which is mentioned in [1], I provide a new method to construct. This project was written in Matlab.

In this section, I briefly introduce some concepts and lemmas close related to my project.

**Circular mesh** is a quad mesh whose quads are not
only planar, but also have a circumcircle. Moreover, circular mesh m
possesses an offset mesh m' such that corresponding vertices of m and
m' lie at constant distance (vertex offset). Any circular mesh is
parallel to a mesh m^{0} whose vertices lie in a unit sphere.

**Conical mesh** is a PQ mesh, and all of its
vertices of valence four are conical, which means all the four
oriented face planes meeting at this vertex are tangent to a common
oriented cone of revolution. Moreover, conical mesh l possesses an
offset mesh l' such that corresponding oriented face planes of l and
l' lie at constant signed distance (face offset). Any conical mesh is
parallel to a mesh l^{0} whose face planes are tangent to a
unit sphere.

**Focal** is the intersection point of neighboring
axes (for conical meshes) or normal (for circular meshes), see Fig. 1
from [1].

**Fig.
1 the focals of conical mesh and circular mesh **

**Polar duals**: if PQ mesh m and l are called polar
duals of each other, if the vertices of m are contained in the unit
sphere S^{2}, and the face F_{ij} of the mesh l are
the polar duals of the vertices m_{ij}. A circular mesh which
approximates a unit sphere, has a polar dual which is a conical mesh.
Conversely, a conical mesh circumscribed to a unit sphere has a polar
dual which is a circular mesh.

There are five steps to construct a circular mesh from a conical
mesh, which are

1, Get a conical mesh as the input mesh for our
algorithm.

2, Get tangent points of the faces of l^{0} to
a unit sphere S^{2}.

3, Get axis directions of every cone
of the conical mesh.

4, Use the concept of mesh parallelism to
construct a circular mesh.

First of all, by using the method provided by [2], we can get a conical mesh (denoted as l) as input of our algorithm. See Fig. 2

**Fig.
2 a 5*5 conical mesh generated by perturbation method **

According to the normals to the faces of the conical mesh l, we
can get the tangent points of the faces of l^{0} to a unit
sphere S^{2}. Again, l^{0} is a conical mesh parallel
to l and all of its faces are tangent to a unit sphere. See Fig. 3
left. Then we connect these tangent points orderly. See Fig. 3 right.
What we get is a circular mesh (denoted as m^{0}).
Furthermore, it is the polar duals of the l^{0}, although we
still do not get the l^{0} explicitly.

**Fig. 3 left: the parallel conical mesh's tangent points to
a unit sphere. Right: its polar duals(circular mesh) **

After getting these tangent point, we can get part of the vertices
of l^{0}, which is the all the cone axes of l^{0}.
See Fig. 4. Line pass through a vertex and any one tangent point
around the vertex is a tangent line to the unit sphere. Actually,
what we need are the axis directions of every cone of the conical
mesh l, which is the input mesh.

**Fig. 4 vertices of the conical mesh l**^{0}

Unlike the method presented in [1], I do not do any translation. I
use the concept of mesh parallelism to construct a circular mesh (m)
from the conical mesh (l). As we all know, any circular mesh is
parallel to a mesh (here it is m^{0}), whose vertices lie in
a unit sphere. Then we need to find a set of points on the faces of
l, such that edges produced by connecting them are parallel to m^{0}'s
corresponding edges respectively.

By studying the principle of conical mesh, I found I can get those
circular mesh's vertices using the informartion of focals of the
conical mesh l. From a focal, I make 4 lines which are perpendicular
to faces around it. Now we can get 2 faces which are parallel to the
corresponding 2 faces of m^{0} respectively (actually it is a
translating face planes of m^{0}). See Fig. 5, modified from
[2].

**Fig. 5** **the focal and the circular mesh
constructed using the focal **

However, there is a weakness of my method. Because not all axes of cones intersect in one focal. As a result, the two perpendicular line of one face plane are not coincident. See the red line and the blue line in Fig. 6. Meanwhile, the focals from the row strips are not coincident with those from column strips. See Fig. 1 for detail.

**Fig. 6** **weakness of my method: the
different focals do not give the same perpendicular point to a face
plane**

I solve this problem by dividing the mesh to several parts, making sure the focal of every part is unique and independent to others. Take Fig. 7 for example, those 9 red points, I can generate them by using the method present above. They are unique. After that, I use the mesh parallelism to get three white points. Then using the same method, we can get those 4 yellow points.

**Fig. 7 focals are different between row strips and column
strip, it cause the same problem as Fig. 6. My method to solve the
problem**

Finally, I get a circular mesh from a conical mesh, such that both of them represent the same underlying surface.

Here I show 2 results of my method. See Fig. 8 and 9.

**Fig. 8 Conical mesh 5*5 and its circular mesh** **4*4**

**Fig. 9 Conical mesh 9*9 and its circular mesh 8*8 **

**Difference:** Mesh translation v.s. mesh
parallelism. In this project, I use a different approach to construct
a circular mesh from a conical mesh. In [1], authors provide a
construction method of a conical mesh from a circular mesh. First,
constructing m^{0}, then find l^{0} by polar duality,
and translate the face planes of l^{0} to l, which pass
through the vertices of m. Although, they did not mention how to
construct a circular mesh from a conical mesh in similar way, in my
opinion, the procedure would be similar: first, constructing l^{0},
then find m^{0} by polar duality, and translate the face
planes of m^{0}, until vertices touch the faces of the
conical mesh l.

However, it is not easy to get the translation for every face plane, such that all of the faces will connect to each other at the vertices. In this project, I present a new method, which is mainly based on the concept of mesh parallelism. In addition, I include the focals of the conical mesh, in order to take advantage of conical meshes' good properties.

**Strengths:** My method makes full use of the
vectors direction information of the conical mesh. We know those
normal of the faces. What I need is to calculate the focals. It's
easy to implement. At contrast, translating faces and making sure all
of them intersect in the vertices, needs to do face scaling.
Therefore, it is not easy to implement. Moreover, because this method
divides the mesh quite evenly, the accumulating error, which would be
big problem in pure mesh parallelism method, can be limited in my
method.

**Weakness:** This method does not fit for the whole
mesh. It still needs to calculate some points using mesh parallelism.

**What I have learned:** I know the properties of
conical mesh and circular, and their relations. I begin to understand
how discrete surface for architectural design works.

**Future work:** According to [4], all edge offset
meshes have a parallel mesh whose edges are all tangent to a unit
sphere. When I was working on this project, I also tried to construct
edge offset mesh. See Fig. 10. However, although every edge of this
"mesh" is parallel to a tangent line to a unit sphere, its
faces are not all planar. In the future, we may try to modify this
method, in order to construct edge offset mesh from a conical mesh or
a circular mesh.

**Fig. 10** **"Edge offset" mesh **

[1] Helmut Pottmann and Johannes Wallner. The Focal Geometry of Circular and Conical Meshes. Advances in Computational Mathematics,vol.29,no.3,pp.249-268,Oct. 2008.

[2] Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping Wang. Geometric Modeling with Conical Meshes and Developable Surfaces. ACM Transaction on Graphics, vol. 25, no. 3, pp. 681-689, 2006.

[3] Helmut Pottmann, Yang Liu, Johannes Wallner, Alexander Bobenko and Wenping Wang. Geometry of Multi-layer freeform Structures for Architecture. ACM Transactions on Graphics,vol.26,no.3,pp.65-1-11,July 2007.

[4] Helmut Pottmann and Sigrid Brell-Cokcan. Discrete surfaces for architecutral design. Curves and Surfaces: Avignon 2006. P.Chenin et al., Eds. Nashboro Press.