

Hi,
I am trying to get my head around combinatorial maps, and I thought I would
start with the simplest nontrivial example, a 1simplex (#0cells=2,
#1cells=1).
So, first I tried the obvious construction helper:
CGAL::Combinatorial_map<1> cm;
cm.make_edge();
cm.display_characteristics(std::cout);
std::cout << std::endl;
However, this gives me:
#Darts=2, #0cells=2, #1cells=2, #ccs=2
But that's not quite right (#1cells=2).
So I tried creating the 1simplex manually:
CGAL::Combinatorial_map<1> cm;
auto dh1 = cm.create_dart();
auto dh2 = cm.create_dart();
cm.dart_link_beta<0>(dh1, dh2);
cm.dart_link_beta<0>(dh2, dh1);
cm.display_characteristics(std::cout);
std::cout << std::endl;
However, this gives me:
#Darts=2, #0cells=2, #1cells=2, #ccs=1
But that's still not quite right (#1cells=2).
I tried a bunch of other things, but I never managed to get the intended
result (#1cells=1). My intuition for combinatorial maps is still very poor,
which was the motivation for this exercise. At this point, I feel like I
must be missing something. Please forgive me if it is something very
obvious. Still, I would appreciate any hints...
Cheers,
Peter

Sent from: http://cgaldiscuss.949826.n4.nabble.com/
You are currently subscribed to cgaldiscuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgaldiscuss


Hi Peter;
Le 26/08/2018 à 13:41, kloffy a écrit :
> Hi,
>
> I am trying to get my head around combinatorial maps, and I thought I would
> start with the simplest nontrivial example, a 1simplex (#0cells=2,
> #1cells=1).
>
>
> So, first I tried the obvious construction helper:
>
> CGAL::Combinatorial_map<1> cm;
>
> cm.make_edge();
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=2
>
> But that's not quite right (#1cells=2).
A 1D combinatorial map can be seen as a set of 1D curves (possibly opened).
As said in the doc of make_edge (here
https://doc.cgal.org/latest/Combinatorial_map/classGenericMap.html#a6f455fd64b650495392bddecedbd5afe),
this method requires that the dimension of the combinatorial map n is >= 2.
Indeed, an edge is made of two darts linked by beta2 and this requires n>=2.
In a 1D cmap, an edge is made of two darts linked by beta1. If you want
to create such an edge by hand, you must use
cm.dart_link_beta<1>(dh1, dh2);
To have an intuition of what is a combinatorial map, have a look at the
2 first figures in the user manual (here
https://doc.cgal.org/latest/Combinatorial_map/index.html).
Hope this help.
Best
Guillaume
>
>
> So I tried creating the 1simplex manually:
>
> CGAL::Combinatorial_map<1> cm;
>
> auto dh1 = cm.create_dart();
> auto dh2 = cm.create_dart();
>
> cm.dart_link_beta<1>(dh1, dh2);
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=1
>
> But that's still not quite right (#1cells=2).
>
>
> I tried a bunch of other things, but I never managed to get the intended
> result (#1cells=1). My intuition for combinatorial maps is still very poor,
> which was the motivation for this exercise. At this point, I feel like I
> must be missing something. Please forgive me if it is something very
> obvious. Still, I would appreciate any hints...
>
> Cheers,
> Peter
>
>
>
> 
> Sent from: http://cgaldiscuss.949826.n4.nabble.com/>

===================================================================
Guillaume DAMIAND
CNRS  LIRIS UMR 5205
Université Claude Bernard
Bâtiment Nautibus (710)
43 Boulevard du 11 Novembre 1918
69622 Villeurbanne Cedex (France)

Tél: +33 (0)4.72.43.14.34 Fax: +33 (0)4.72.43.15.36
Mail: [hidden email]
Web: http://liris.cnrs.fr/guillaume.damiand/===================================================================


Hi
Guillaume,
Many thanks for your suggestions! However, I am still a bit confused. I tried your code:
CGAL::Combinatorial_map<1> cm;
auto dh1 = cm.create_dart(); auto dh2 = cm.create_dart();
cm.dart_link_beta<1>(dh1, dh2);
cm.display_characteristics(std::cout); std::cout << std::endl;
But it still gives me:
#Darts=2, #0cells=2, #1cells=2, #ccs=1
Am I wrong to expect that an edge would only have a single 1cell? My expectation comes from the faces of a 1simplex ( https://en.wikipedia.org/wiki/Simplex). Perhaps in
combinatorial maps it works differently...
I think the main challenge for me in terms of forming an intuition is to understand the different betas. I can see the value of combinatorial maps to represent cellular structures, and a lot of the concepts and operations make sense. I am just having trouble getting my head around why an edge is made of
two darts linked by beta1, as opposed to beta0, for example?
I hope some of that makes sense. Thank you again for the help!
Cheers, Peter
On Mon, Aug 27, 2018 at 4:43 PM Guillaume Damiand < [hidden email]> wrote: Hi Peter;
Le 26/08/2018 à 13:41, kloffy a écrit :
> Hi,
>
> I am trying to get my head around combinatorial maps, and I thought I would
> start with the simplest nontrivial example, a 1simplex (#0cells=2,
> #1cells=1).
>
>
> So, first I tried the obvious construction helper:
>
> CGAL::Combinatorial_map<1> cm;
>
> cm.make_edge();
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=2
>
> But that's not quite right (#1cells=2).
A 1D combinatorial map can be seen as a set of 1D curves (possibly opened).
As said in the doc of make_edge (here
https://doc.cgal.org/latest/Combinatorial_map/classGenericMap.html#a6f455fd64b650495392bddecedbd5afe),
this method requires that the dimension of the combinatorial map n is >= 2.
Indeed, an edge is made of two darts linked by beta2 and this requires n>=2.
In a 1D cmap, an edge is made of two darts linked by beta1. If you want
to create such an edge by hand, you must use
cm.dart_link_beta<1>(dh1, dh2);
To have an intuition of what is a combinatorial map, have a look at the
2 first figures in the user manual (here
https://doc.cgal.org/latest/Combinatorial_map/index.html).
Hope this help.
Best
Guillaume
>
>
> So I tried creating the 1simplex manually:
>
> CGAL::Combinatorial_map<1> cm;
>
> auto dh1 = cm.create_dart();
> auto dh2 = cm.create_dart();
>
> cm.dart_link_beta<1>(dh1, dh2);
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=1
>
> But that's still not quite right (#1cells=2).
>
>
> I tried a bunch of other things, but I never managed to get the intended
> result (#1cells=1). My intuition for combinatorial maps is still very poor,
> which was the motivation for this exercise. At this point, I feel like I
> must be missing something. Please forgive me if it is something very
> obvious. Still, I would appreciate any hints...
>
> Cheers,
> Peter
>
>
>
> 
> Sent from: http://cgaldiscuss.949826.n4.nabble.com/
>

===================================================================
Guillaume DAMIAND
CNRS  LIRIS UMR 5205
Université Claude Bernard
Bâtiment Nautibus (710)
43 Boulevard du 11 Novembre 1918
69622 Villeurbanne Cedex (France)

Tél: +33 (0)4.72.43.14.34 Fax: +33 (0)4.72.43.15.36
Mail: [hidden email]
Web: http://liris.cnrs.fr/guillaume.damiand/
===================================================================


Hi,
Just following up on this, since I am feeling quite stuck. Is there anybody who could answer the following question?
1) Should it be possible to construct a 1D combinatorial map with the following characteristics?
#Darts=2, #0cells=2, #1cells=1, #ccs=1
Bonus questions:
1a)
If yes, what is the correct code to construct such a combinatorial map?
1b) If no, what is the best representation of a 1simplex (1d line segment)?
Any advice would be greatly appreciated. Thank you in advance!
Cheers, Peter
On Mon, Aug 27, 2018 at 5:58 PM Peter Klosowski < [hidden email]> wrote: Hi
Guillaume,
Many thanks for your suggestions! However, I am still a bit confused. I tried your code:
CGAL::Combinatorial_map<1> cm;
auto dh1 = cm.create_dart(); auto dh2 = cm.create_dart();
cm.dart_link_beta<1>(dh1, dh2);
cm.display_characteristics(std::cout); std::cout << std::endl;
But it still gives me:
#Darts=2, #0cells=2, #1cells=2, #ccs=1
Am I wrong to expect that an edge would only have a single 1cell? My expectation comes from the faces of a 1simplex ( https://en.wikipedia.org/wiki/Simplex). Perhaps in
combinatorial maps it works differently...
I think the main challenge for me in terms of forming an intuition is to understand the different betas. I can see the value of combinatorial maps to represent cellular structures, and a lot of the concepts and operations make sense. I am just having trouble getting my head around why an edge is made of
two darts linked by beta1, as opposed to beta0, for example?
I hope some of that makes sense. Thank you again for the help!
Cheers, Peter
On Mon, Aug 27, 2018 at 4:43 PM Guillaume Damiand < [hidden email]> wrote: Hi Peter;
Le 26/08/2018 à 13:41, kloffy a écrit :
> Hi,
>
> I am trying to get my head around combinatorial maps, and I thought I would
> start with the simplest nontrivial example, a 1simplex (#0cells=2,
> #1cells=1).
>
>
> So, first I tried the obvious construction helper:
>
> CGAL::Combinatorial_map<1> cm;
>
> cm.make_edge();
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=2
>
> But that's not quite right (#1cells=2).
A 1D combinatorial map can be seen as a set of 1D curves (possibly opened).
As said in the doc of make_edge (here
https://doc.cgal.org/latest/Combinatorial_map/classGenericMap.html#a6f455fd64b650495392bddecedbd5afe),
this method requires that the dimension of the combinatorial map n is >= 2.
Indeed, an edge is made of two darts linked by beta2 and this requires n>=2.
In a 1D cmap, an edge is made of two darts linked by beta1. If you want
to create such an edge by hand, you must use
cm.dart_link_beta<1>(dh1, dh2);
To have an intuition of what is a combinatorial map, have a look at the
2 first figures in the user manual (here
https://doc.cgal.org/latest/Combinatorial_map/index.html).
Hope this help.
Best
Guillaume
>
>
> So I tried creating the 1simplex manually:
>
> CGAL::Combinatorial_map<1> cm;
>
> auto dh1 = cm.create_dart();
> auto dh2 = cm.create_dart();
>
> cm.dart_link_beta<1>(dh1, dh2);
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=1
>
> But that's still not quite right (#1cells=2).
>
>
> I tried a bunch of other things, but I never managed to get the intended
> result (#1cells=1). My intuition for combinatorial maps is still very poor,
> which was the motivation for this exercise. At this point, I feel like I
> must be missing something. Please forgive me if it is something very
> obvious. Still, I would appreciate any hints...
>
> Cheers,
> Peter
>
>
>
> 
> Sent from: http://cgaldiscuss.949826.n4.nabble.com/
>

===================================================================
Guillaume DAMIAND
CNRS  LIRIS UMR 5205
Université Claude Bernard
Bâtiment Nautibus (710)
43 Boulevard du 11 Novembre 1918
69622 Villeurbanne Cedex (France)

Tél: +33 (0)4.72.43.14.34 Fax: +33 (0)4.72.43.15.36
Mail: [hidden email]
Web: http://liris.cnrs.fr/guillaume.damiand/
===================================================================


盖的是数学学院的章，虽然说录取的可能性非常大，但最终解释权应该是浙大研究生院。首先你需要获得吉大的推免资格。 所以，我说若是上报吉大教务处，你就填我的名字没问题。 浙大的面试开学你还需要再过来的话，我还是希望能方面跟你聊一聊的。
在 20180829 12:13:15，"Peter Klosowski" < [hidden email]> 写道：
>Hi,
>
>
>Just following up on this, since I am feeling quite stuck. Is there anybody who could answer the following question?
>
>
>1) Should it be possible to construct a 1D combinatorial map with the following characteristics?
>
>
>
>#Darts=2, #0cells=2, #1cells=1, #ccs=1
>
>
>Bonus questions:
>
>
>1a) If yes, what is the correct code to construct such a combinatorial map?
>
>1b) If no, what is the best representation of a 1simplex (1d line segment)?
>
>
>
>Any advice would be greatly appreciated. Thank you in advance!
>
>
>
>Cheers,
>Peter
>
>
>
>On Mon, Aug 27, 2018 at 5:58 PM Peter Klosowski < [hidden email]> wrote:
>
>Hi Guillaume,
>
>
>Many thanks for your suggestions! However, I am still a bit confused. I tried your code:
>
>
> CGAL::Combinatorial_map<1> cm;
>
> auto dh1 = cm.create_dart();
> auto dh2 = cm.create_dart();
>
> cm.dart_link_beta<1>(dh1, dh2);
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
>
>But it still gives me:
>
>
>#Darts=2, #0cells=2, #1cells=2, #ccs=1
>
>
>Am I wrong to expect that an edge would only have a single 1cell? My expectation comes from the faces of a 1simplex ( https://en.wikipedia.org/wiki/Simplex). Perhaps in combinatorial maps it works differently...
>
>
>
>
>I think the main challenge for me in terms of forming an intuition is to understand the different betas. I can see the value of combinatorial maps to represent cellular structures, and a lot of the concepts and operations make sense. I am just having trouble getting my head around why an edge is made of two darts linked by beta1, as opposed to beta0, for example?
>
>
>
>
>
>I hope some of that makes sense. Thank you again for the help!
>
>
>
>
>
>Cheers,
>Peter
>
>
>
>On Mon, Aug 27, 2018 at 4:43 PM Guillaume Damiand < [hidden email]> wrote:
>
>Hi Peter;
>
>
>Le 26/08/2018 à 13:41, kloffy a écrit :
>> Hi,
>>
>> I am trying to get my head around combinatorial maps, and I thought I would
>> start with the simplest nontrivial example, a 1simplex (#0cells=2,
>> #1cells=1).
>>
>>
>> So, first I tried the obvious construction helper:
>>
>> CGAL::Combinatorial_map<1> cm;
>>
>> cm.make_edge();
>>
>> cm.display_characteristics(std::cout);
>> std::cout << std::endl;
>>
>> However, this gives me:
>>
>> #Darts=2, #0cells=2, #1cells=2, #ccs=2
>>
>> But that's not quite right (#1cells=2).
>
>
>A 1D combinatorial map can be seen as a set of 1D curves (possibly opened).
>
>As said in the doc of make_edge (here
> https://doc.cgal.org/latest/Combinatorial_map/classGenericMap.html#a6f455fd64b650495392bddecedbd5afe),
>this method requires that the dimension of the combinatorial map n is >= 2.
>
>Indeed, an edge is made of two darts linked by beta2 and this requires n>=2.
>
>In a 1D cmap, an edge is made of two darts linked by beta1. If you want
>to create such an edge by hand, you must use
>
>cm.dart_link_beta<1>(dh1, dh2);
>
>To have an intuition of what is a combinatorial map, have a look at the
>2 first figures in the user manual (here
> https://doc.cgal.org/latest/Combinatorial_map/index.html).
>
>Hope this help.
>
>Best
>Guillaume
>
>>
>>
>> So I tried creating the 1simplex manually:
>>
>> CGAL::Combinatorial_map<1> cm;
>>
>> auto dh1 = cm.create_dart();
>> auto dh2 = cm.create_dart();
>>
>> cm.dart_link_beta<1>(dh1, dh2);
>>
>> cm.display_characteristics(std::cout);
>> std::cout << std::endl;
>>
>> However, this gives me:
>>
>> #Darts=2, #0cells=2, #1cells=2, #ccs=1
>>
>> But that's still not quite right (#1cells=2).
>>
>>
>> I tried a bunch of other things, but I never managed to get the intended
>> result (#1cells=1). My intuition for combinatorial maps is still very poor,
>> which was the motivation for this exercise. At this point, I feel like I
>> must be missing something. Please forgive me if it is something very
>> obvious. Still, I would appreciate any hints...
>>
>> Cheers,
>> Peter
>>
>>
>>
>> 
>> Sent from: http://cgaldiscuss.949826.n4.nabble.com/>>
>
>
>===================================================================
>Guillaume DAMIAND
>
>CNRS  LIRIS UMR 5205
>Université Claude Bernard
>Bâtiment Nautibus (710)
>43 Boulevard du 11 Novembre 1918
>69622 Villeurbanne Cedex (France)
>
>Tél: +33 (0)4.72.43.14.34 Fax: +33 (0)4.72.43.15.36
>Mail: [hidden email]
>Web: http://liris.cnrs.fr/guillaume.damiand/>===================================================================
>
>

You are currently subscribed to cgaldiscuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgaldiscuss


Hi Peter;
If your goal is to understand the mean of the different beta, I
suggest you to start in 2D, and study the examples given in the
CGAL user manual.
Indeed, 1D combinatorial map with boundaries (which is what you
try to do) is a very special case.
For this reason, it is not possible to build a 1D cmap with
#Darts=2, #0cells=2, #1cells=1, #ccs=1 because 1 dart represents
one 0cell and one 1cell. But this is possible in a 2D
combinatorial map, as said in my previous email, by creating 2
darts linked by beta2.
In my point of view, this is not a problem because 1D
combinatorial map is a very special case, not really interesting.
To represend 1D line segment, you can simply use a polygon
representation based on vertices and edges.
Best
Guillaume
Le 29/08/2018 à 06:13, Peter Klosowski a écrit :
Hi,
Just following up on this, since I am feeling quite stuck.
Is there anybody who could answer the following question?
1) Should it be possible to construct a 1D combinatorial
map with the following characteristics?
#Darts=2, #0cells=2, #1cells=1, #ccs=1
Bonus questions:
1a) If yes, what is the correct code to construct such a
combinatorial map?
1b) If no, what is the best representation of a 1simplex
(1d line segment)?
Any advice would be greatly appreciated. Thank you in
advance!
Cheers,
Peter
On Mon, Aug 27, 2018 at 5:58 PM Peter Klosowski
< [hidden email]>
wrote:
Hi Guillaume,
Many thanks for your suggestions! However, I am still a
bit confused. I tried your code:
CGAL::Combinatorial_map<1> cm;
auto dh1 = cm.create_dart();
auto dh2 = cm.create_dart();
cm.dart_link_beta<1>(dh1, dh2);
cm.display_characteristics(std::cout);
std::cout << std::endl;
But it still gives me:
#Darts=2, #0cells=2, #1cells=2, #ccs=1
Am I wrong to expect that an edge would only have a
single 1cell? My expectation comes from the faces of a
1simplex ( https://en.wikipedia.org/wiki/Simplex).
Perhaps in combinatorial maps it works differently...
I think the main challenge for me in terms of forming
an intuition is to understand the different betas. I can
see the value of combinatorial maps to represent cellular
structures, and a lot of the concepts and operations make
sense. I am just having trouble getting my head around why
an edge is made of
two darts linked by beta1, as opposed to beta0, for
example?
I hope some of that makes sense. Thank you again for
the help!
Cheers,
Peter
On Mon, Aug 27, 2018 at 4:43 PM Guillaume
Damiand < [hidden email]>
wrote:
Hi
Peter;
Le 26/08/2018 à 13:41, kloffy a écrit :
> Hi,
>
> I am trying to get my head around combinatorial maps,
and I thought I would
> start with the simplest nontrivial example, a
1simplex (#0cells=2,
> #1cells=1).
>
>
> So, first I tried the obvious construction helper:
>
> CGAL::Combinatorial_map<1> cm;
>
> cm.make_edge();
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=2
>
> But that's not quite right (#1cells=2).
A 1D combinatorial map can be seen as a set of 1D curves
(possibly opened).
As said in the doc of make_edge (here
https://doc.cgal.org/latest/Combinatorial_map/classGenericMap.html#a6f455fd64b650495392bddecedbd5afe),
this method requires that the dimension of the
combinatorial map n is >= 2.
Indeed, an edge is made of two darts linked by beta2 and
this requires n>=2.
In a 1D cmap, an edge is made of two darts linked by
beta1. If you want
to create such an edge by hand, you must use
cm.dart_link_beta<1>(dh1, dh2);
To have an intuition of what is a combinatorial map, have
a look at the
2 first figures in the user manual (here
https://doc.cgal.org/latest/Combinatorial_map/index.html).
Hope this help.
Best
Guillaume
>
>
> So I tried creating the 1simplex manually:
>
> CGAL::Combinatorial_map<1> cm;
>
> auto dh1 = cm.create_dart();
> auto dh2 = cm.create_dart();
>
> cm.dart_link_beta<1>(dh1, dh2);
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=1
>
> But that's still not quite right (#1cells=2).
>
>
> I tried a bunch of other things, but I never managed
to get the intended
> result (#1cells=1). My intuition for combinatorial
maps is still very poor,
> which was the motivation for this exercise. At this
point, I feel like I
> must be missing something. Please forgive me if it is
something very
> obvious. Still, I would appreciate any hints...
>
> Cheers,
> Peter
>
>
>
> 
> Sent from: http://cgaldiscuss.949826.n4.nabble.com/
>


===================================================================
Guillaume DAMIAND
CNRS  LIRIS UMR 5205
Université Claude Bernard
Bâtiment Nautibus (710)
43 Boulevard du 11 Novembre 1918
69622 Villeurbanne Cedex (France)

Tél: +33 (0)4.72.43.14.34 Fax: +33 (0)4.72.43.15.36
Mail: [hidden email]
Web: http://liris.cnrs.fr/guillaume.damiand/
===================================================================


Hi
Guillaume,
Many thanks for shedding more light on the subject. It is very helpful to get confirmation that it is impossible to construct the kind of combinatorial map that I was trying to make. It saves me a lot of trial and error!
Have been reading the documentation some more, and I am actually finding generalized maps a bit easier to grasp. There everything behaves as I would expect:
CGAL::Generalized_map<1> gm1;
auto dh1 = gm1.create_dart(); auto dh2 = gm1.create_dart();
gm1.sew<0>(dh1, dh2);
gm1.display_characteristics(std::cout); std::cout << std::endl; gm1.display_darts(std::cout); std::cout << std::endl;
With the resulting:
#Darts=2, #0cells=2, #1cells=1, #ccs=1, orientable=true
I will keep reading about it, and eventually I am sure it will all make sense. Thank you again for your guidance, it is a very interesting subject that I am only beginning to get my head around!
Best, Peter
On Wed, Aug 29, 2018 at 4:02 PM Guillaume Damiand < [hidden email]> wrote:
Hi Peter;
If your goal is to understand the mean of the different beta, I
suggest you to start in 2D, and study the examples given in the
CGAL user manual.
Indeed, 1D combinatorial map with boundaries (which is what you
try to do) is a very special case.
For this reason, it is not possible to build a 1D cmap with
#Darts=2, #0cells=2, #1cells=1, #ccs=1 because 1 dart represents
one 0cell and one 1cell. But this is possible in a 2D
combinatorial map, as said in my previous email, by creating 2
darts linked by beta2.
In my point of view, this is not a problem because 1D
combinatorial map is a very special case, not really interesting.
To represend 1D line segment, you can simply use a polygon
representation based on vertices and edges.
Best
Guillaume
Le 29/08/2018 à 06:13, Peter Klosowski a écrit :
Hi,
Just following up on this, since I am feeling quite stuck.
Is there anybody who could answer the following question?
1) Should it be possible to construct a 1D combinatorial
map with the following characteristics?
#Darts=2, #0cells=2, #1cells=1, #ccs=1
Bonus questions:
1a) If yes, what is the correct code to construct such a
combinatorial map?
1b) If no, what is the best representation of a 1simplex
(1d line segment)?
Any advice would be greatly appreciated. Thank you in
advance!
Cheers,
Peter
On Mon, Aug 27, 2018 at 5:58 PM Peter Klosowski
< [hidden email]>
wrote:
Hi Guillaume,
Many thanks for your suggestions! However, I am still a
bit confused. I tried your code:
CGAL::Combinatorial_map<1> cm;
auto dh1 = cm.create_dart();
auto dh2 = cm.create_dart();
cm.dart_link_beta<1>(dh1, dh2);
cm.display_characteristics(std::cout);
std::cout << std::endl;
But it still gives me:
#Darts=2, #0cells=2, #1cells=2, #ccs=1
Am I wrong to expect that an edge would only have a
single 1cell? My expectation comes from the faces of a
1simplex ( https://en.wikipedia.org/wiki/Simplex).
Perhaps in combinatorial maps it works differently...
I think the main challenge for me in terms of forming
an intuition is to understand the different betas. I can
see the value of combinatorial maps to represent cellular
structures, and a lot of the concepts and operations make
sense. I am just having trouble getting my head around why
an edge is made of
two darts linked by beta1, as opposed to beta0, for
example?
I hope some of that makes sense. Thank you again for
the help!
Cheers,
Peter
On Mon, Aug 27, 2018 at 4:43 PM Guillaume
Damiand < [hidden email]>
wrote:
Hi
Peter;
Le 26/08/2018 à 13:41, kloffy a écrit :
> Hi,
>
> I am trying to get my head around combinatorial maps,
and I thought I would
> start with the simplest nontrivial example, a
1simplex (#0cells=2,
> #1cells=1).
>
>
> So, first I tried the obvious construction helper:
>
> CGAL::Combinatorial_map<1> cm;
>
> cm.make_edge();
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=2
>
> But that's not quite right (#1cells=2).
A 1D combinatorial map can be seen as a set of 1D curves
(possibly opened).
As said in the doc of make_edge (here
https://doc.cgal.org/latest/Combinatorial_map/classGenericMap.html#a6f455fd64b650495392bddecedbd5afe),
this method requires that the dimension of the
combinatorial map n is >= 2.
Indeed, an edge is made of two darts linked by beta2 and
this requires n>=2.
In a 1D cmap, an edge is made of two darts linked by
beta1. If you want
to create such an edge by hand, you must use
cm.dart_link_beta<1>(dh1, dh2);
To have an intuition of what is a combinatorial map, have
a look at the
2 first figures in the user manual (here
https://doc.cgal.org/latest/Combinatorial_map/index.html).
Hope this help.
Best
Guillaume
>
>
> So I tried creating the 1simplex manually:
>
> CGAL::Combinatorial_map<1> cm;
>
> auto dh1 = cm.create_dart();
> auto dh2 = cm.create_dart();
>
> cm.dart_link_beta<1>(dh1, dh2);
>
> cm.display_characteristics(std::cout);
> std::cout << std::endl;
>
> However, this gives me:
>
> #Darts=2, #0cells=2, #1cells=2, #ccs=1
>
> But that's still not quite right (#1cells=2).
>
>
> I tried a bunch of other things, but I never managed
to get the intended
> result (#1cells=1). My intuition for combinatorial
maps is still very poor,
> which was the motivation for this exercise. At this
point, I feel like I
> must be missing something. Please forgive me if it is
something very
> obvious. Still, I would appreciate any hints...
>
> Cheers,
> Peter
>
>
>
> 
> Sent from: http://cgaldiscuss.949826.n4.nabble.com/
>


===================================================================
Guillaume DAMIAND
CNRS  LIRIS UMR 5205
Université Claude Bernard
Bâtiment Nautibus (710)
43 Boulevard du 11 Novembre 1918
69622 Villeurbanne Cedex (France)

Tél: +33 (0)4.72.43.14.34 Fax: +33 (0)4.72.43.15.36
Mail: [hidden email]
Web: http://liris.cnrs.fr/guillaume.damiand/
===================================================================

