# Polygonal mapping

**URL:** <https://discourse.mcneel.com/t/polygonal-mapping/69169>\
**Category:** Grasshopper\
**Created:** [August 20, 2018, 3:22pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169 "2018-08-20T15:22:33Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 20, 2018, 3:22pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/1 "2018-08-20T15:22:33Z")

</div>

Hi all,  
Does anybody know an easy way to map geometry from and to polygonal surfaces?  
I am working on a [muqarnas](https://en.wikipedia.org/wiki/Muqarnas) dome and I am trying to map a pattern on various irregular polygon cells (3/4/5/6/7-gons).  
I (think I) am pretty familiar with paneling tools but it is based on quads. Is there a way to work with polygonal mapping like the picture bellow?

The idea is to design a pattern on a regular polygon and then map it on an irregular polygon of equal sides.

any help will be appreciated

![polygonal](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/6/8/6814401e3abdb12b8dd2f8d6ddad917870ff2215.jpeg)

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 20, 2018, 4:11pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/2 "2018-08-20T16:11:05Z")

</div>

this is the closest thing I found so far in the entire internet…  
[https://www.andrew.cmu.edu/user/vasua/FinalAssignmentWriteup/FinalAssignmentWriteup.html](https://www.andrew.cmu.edu/user/vasua/FinalAssignmentWriteup/FinalAssignmentWriteup.html)

 ![polygonal](https://global.discourse-cdn.com/mcneel/original/3X/8/9/89b4f295d3f1433eaad749287aafcbe1b33efb52.jpeg)

Is it another one of these things that seem simple but are very difficult?

---

<div class="post-metadata">

**Author:** ![Michael\_Pryor](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/michael_pryor/32/489117_2.png) [@Michael\_Pryor](https://discourse.mcneel.com/u/Michael_Pryor)\
**Post date:** [August 20, 2018, 4:17pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/3 "2018-08-20T16:17:59Z")

</div>

A typical thing to do (and seems so in the geometry of that Muqarnas) is to break your geometry down into a quad or triangle.

 ![Capture](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/2/1/21a905c39fc956368abb067e467ed17aecc30f02.png)  
[TriMap.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/9/c/9c1d2f2f592b2d7c43a682d19fe474eec26c7579.gh) (10.9 KB)

In the link you posted you can see they are also breaking down into triangles.

 ![Capture](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/f/d/fd9cba7a1d6da5b21773c93c4ad169ecfaa241b4.png)

and actually [Mesh+](https://www.food4rhino.com/app/mesh) has this for Mesh and curves using the same method as that article. The key is that the polylines typologies must match (same number of sides).

 ![Capture](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/f/8/f8560d8bb8b13a0b5a8702ab399a02e8bfe857de.png)

---

<div class="post-metadata">

**Author:** ![PeterFotiadis](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/peterfotiadis/32/472316_2.png) [@PeterFotiadis](https://discourse.mcneel.com/u/PeterFotiadis)\
**Post date:** [August 20, 2018, 5:20pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/4 "2018-08-20T17:20:45Z")

</div>

> [@anikolo](#):
>
> this is the closest thing I found

Search as well: Non Affine Transformations, QuadrilateralDistortion

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 20, 2018, 5:25pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/5 "2018-08-20T17:25:48Z")

</div>

but of course we are talking about meshes.  
I was breaking down the methodology and thought about transforming the control points of curves so as to recreate them within the new polygon.

---

<div class="post-metadata">

**Author:** ![Michael\_Pryor](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/michael_pryor/32/489117_2.png) [@Michael\_Pryor](https://discourse.mcneel.com/u/Michael_Pryor)\
**Post date:** [August 20, 2018, 5:36pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/6 "2018-08-20T17:36:02Z")

</div>

There is a component for that also in M+ “m+ Map Crv to Crv”, There is one for points as well.

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 20, 2018, 6:29pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/7 "2018-08-20T18:29:47Z")

</div>

BTW, I think the ‘solution’ button might be inhibiting the discussion. So many times there are more than one solutions…

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 20, 2018, 10:20pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/8 "2018-08-20T22:20:21Z")

</div>

Hi Michael,  
Thanks a lot for your help! I didn’t even know about this plugin. It’s amazing!  
still though, Map Crv to Crv only seems to work with polylines. It completely distorts curves and arcs.  
I tried using map Pt to Crv to transform the control points but that doesn’t work either and it becomes complicated fast.  
Do you have any advice?

[remapping.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/f/c/fc53eba71fd8d73c817ff28c12d5120e6c0a1be9.gh) (27.6 KB)

 ![remapping](https://global.discourse-cdn.com/mcneel/original/3X/e/3/e3ee10f6cf465eca5fd5c50623074d78301c82c8.png)

edit:  
as for the triangular mapping, it also becomes complicated when you have a shape that extends beyond the comprising triangles (for example, some of the shapes I want to recreate, do not have polar but single symmetry thus each half extends over three triangles)

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 20, 2018, 10:23pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/9 "2018-08-20T22:23:21Z")

</div>

> [@PeterFotiadis](#):
>
> Search as well: Non Affine Transformations

Oh great Lord, I never disregard your wisdom 🙂 and please keep it coming.  
But following your previews advice, I try not to think like an academic (at least until the opportune moment!)

---

<div class="post-metadata">

**Author:** ![HS\_Kim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/hs_kim/32/473975_2.png) [@HS\_Kim](https://discourse.mcneel.com/u/HS_Kim)\
**Post date:** [August 21, 2018, 2:41am UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/10 "2018-08-21T02:41:44Z")

</div>

If your curves are to be transformed into shapes of degree 3 or higher afterward, then you should rebuild degree 1 or 2 curves to degree 3 or higher in advance.

 ![Canvas%20at%2011%3B34%3B31](https://global.discourse-cdn.com/mcneel/original/3X/4/7/471ca5395c704b8fd73f54fa5c74a54978d00630.jpeg) [remapping\_re.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/4/5/459b1b459d9fcacb15246bb7166b12dc1268c5ab.gh) (33.0 KB)

---

<div class="post-metadata">

**Author:** ![PeterFotiadis](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/peterfotiadis/32/472316_2.png) [@PeterFotiadis](https://discourse.mcneel.com/u/PeterFotiadis)\
**Post date:** [August 21, 2018, 6:01am UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/11 "2018-08-21T06:01:51Z")

</div>

When you know a thing or two about Dark Matters notify:

The **Mother Goose** C# thingy is the answer to all questions (4\*4 trans Matrices etc etc).

![Screen%20Shot%20024](https://global.discourse-cdn.com/mcneel/original/3X/8/2/82c7f4af7317520d80d1781e92384806797ae002.jpeg)

 ![Screen%20Shot%20025](https://global.discourse-cdn.com/mcneel/original/3X/b/e/be083cf1bf4675cd68af24377ffe2ae4efa44a65.jpeg)

---

<div class="post-metadata">

**Author:** ![anikolo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/anikolo/32/475580_2.png) [@anikolo](https://discourse.mcneel.com/u/anikolo)\
**Post date:** [August 21, 2018, 11:20am UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/12 "2018-08-21T11:20:12Z")

</div>

Ok,  
It is the last time I tell you how much you rock. It’s becoming boring! 😂  
from now on, it is implied!

---

<div class="post-metadata">

**Author:** ![Michael\_Pryor](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/michael_pryor/32/489117_2.png) [@Michael\_Pryor](https://discourse.mcneel.com/u/Michael_Pryor)\
**Post date:** [August 21, 2018, 12:18pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/13 "2018-08-21T12:18:45Z")

</div>

Side note: you can also use fit curve set to degree 3 to try and maintain the arc shapes.

---

<div class="post-metadata">

**Author:** ![Michael\_Pryor](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/michael_pryor/32/489117_2.png) [@Michael\_Pryor](https://discourse.mcneel.com/u/Michael_Pryor)\
**Post date:** [August 21, 2018, 12:21pm UTC](https://discourse.mcneel.com/t/polygonal-mapping/69169/14 "2018-08-21T12:21:02Z")

</div>

> Hi Michael,  
> Thanks a lot for your help! I didn’t even know about this plugin. It’s amazing!

It is one of my favorite 😃
