Meshing a circle in quadrilateral shapes
Show older comments

I've been given a task on how to mesh a circle, like the attached image. Can anybody help me where do start?
7 Comments
John D'Errico
on 18 Jun 2016
Edited: John D'Errico
on 18 Jun 2016
Start in the middle, and work out. I.e., the middle is a rectangular grid. Then create sets of quad elements outside, one row at a time, moving closer each time to the circular boundary. As each "row" gets closer to the circular boundary, make them approach a circular shape.
Roger Stafford
on 19 Jun 2016
One additional piece of advice. The points on the arc portions outside the square in the center are probably always on four circular arcs with varying curvature for each of the four pieces in such a way that the outer arcs have curvature 1/R, where R is the radius of the original circle making a single circle, the innermost arcs of curvature zero giving a square, and the intermediate arcs with uniformly-spaced curvature values between these two extremes.
This is all quite do-able. (I did a crude form of it on my computer and it seems to agree with your image.) However, the mesh you create will not be a single rectangular mesh in the matlab sense but will be two meshes of sizes 11 x 11 and 10 x 40, (or 9 x 9 and 11 x 40.)
John D'Errico
on 19 Jun 2016
Think of it like this: Start at every node on the boundary of the rectangular grid. Then vislize a ray that extends to the circle from those points, radially outward.
Now, cut each of those rays into an equal number of parts. That will allow you to create a set of quad elements that turn into an approximate circle at the perimeter.
Roger Stafford
on 19 Jun 2016
@John: I think I disagree about the “equal number of parts” for dividing up the rays. In the image if you follow along the rays that run horizontally or vertically from the center, as you get to the outer 11 points, the intervals between the successive points definitely gets larger as you move outward. I interpret that as indicating a uniformly increasing curvature in the associated arc, presumably beginning at zero and ending at the curvature of the outermost circle.
Roger Stafford
on 19 Jun 2016
It seems we both guessed wrong, John. I just finished matching up some arcs I generated against those in the given diagram and they don’t match very well. The curvature of the image’s arcs decreases as one moves inwards but not with uniform spacing. I don’t know what the formula would be. I think Damon will have to determine that.
Damon Moazami
on 22 Jun 2016
John D'Errico
on 22 Jun 2016
Roger - yes, it is true that one might get a closer approximation of the goal shape with a nonlinear spacing along some of those arcs. It should not be too far off though as a starting point.
Damon -
help meshgrid
Accepted Answer
More Answers (1)
KSSV
on 22 Jun 2016
0 votes
It can be done using Transfinite Interpolation (TFI). You have to divide your region into five parts (as shown in the attached figure). TFI allows you to mesh the domain into quad's given four sides of the domain. You have got five domains, each domain have four sides. Using TFI mesh each domain and then merge the domains. You can refer the below link for TFI.

8 Comments
Damon Moazami
on 22 Jun 2016
KSSV
on 22 Jun 2016
I am attaching the file here. This will demonstrate TFI, you have to apply this analogy to your case.
Damon Moazami
on 22 Jun 2016
Damon Moazami
on 22 Jun 2016
Damon Moazami
on 22 Jun 2016
KSSV
on 23 Jun 2016
Hey what's the problem you face while downloading mathwork files? This code shall help you pretty much.
Damon Moazami
on 23 Jun 2016
Damon Moazami
on 18 Jul 2016
Categories
Find more on Graphics Performance in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!