tetgenÊÖ²á ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/8/14 12:29:49ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

.

Õâ¸ö¿ÉÑ¡µÄµÚËĸö²¿·ÖÁгöÁËÇøÓòµÄÊôÐÔ£¨·ÖÅä¸øÒ»¸öÇøÓòÖеÄËùÓÐËÄÃæÌ壩ºÍ¹ØÓÚ×î´óËÄÃæÌåÌå»ýµÄÇøÓòÔ¼Êø¡£ÔÚµ÷ÓÃtetgenʱÈç¹ûʹÓÃÁ˲ÎÊý-AºóÕß-a²¢ÇÒûÓдøÊýÖµ£¬ÄÇôTetgen½«¶ÁÈëÕâ¸öÇøÓò¡£¶ÔÓÚ¶´À´Ëµ£¬ÇøÓòÊôÐÔºÍÌå»ýÔ¼ÊøÒÔͬÑùµÄ·½Ê½´«²¥¡£

Èç¹ûÔÚx£¬y£¬z×ø±êËùÔÚÐкóÃæÐ´ÁËÁ½¸öÖµ£¬Õâ¸öÐÎʽtetgen»á½«ËüÃÇǰÕßµ±×÷Ò»¸öÇøÓòÊôÐÔ£¨Ö»ÓÐÑ¡

Ïî-A¿ªÆô²ÅÄÜʹÓã©£¬²¢ÇÒºóÕ߻ᱻÈÏΪÊÇÒ»¸öÇøÓòÌå»ýÔ¼Êø£¨Ö»ÓÐÔÚ-a±»Ê¹ÓõÄʱºò²ÅÓÐÓã©¡£¶ÁÈëÔÚ×ø±êºóÃæÖ»Ê¹ÓÃÒ»¸öÖµÒ²ÊÇ¿ÉÄܵ쬴ËʱËü¼È±»µ±×÷ÇøÓòÊôÐÔÒ²±»µ±×÷Ìå»ýÔ¼Êø£¬×îÖÕÊÇÄĸö»¹µÃ¿´µ÷ÓÃÁËÄĸö²ÎÊý¡£Ò»¸ö¸ºµÄ×î´óÌå»ýÔ¼ÊøÔÊÐíʹÓÃ-AºÍ-a¶ø²»ÓÃÔÚÕâ¸öÌØÊâµÄÇøÓòÄÚÇ¿¼ÓÒ»¸öÌå»ýÔ¼Êø¡£

ÏÂÃæÊÇ.polyÎļþÖеĸñʽ£¬ËüÃèÊöÁËÒ»¸öÁ¢·½Ìå¡£

# Part 1 - node list

# node count, 3 dim, no attribute, no boundary marker 8300

# Node index, node coordinates 1 0.0 0.0 0.0 2 1.0 0.0 0.0 3 1.0 1.0 0.0 4 0.0 1.0 0.0 5 0.0 0.0 1.0 6 1.0 0.0 1.0 7 1.0 1.0 1.0 8 0.0 1.0 1.0

# Part 2 - facet list

# facet count, no boundary marker 60

# facets

1 # 1 polygon, no hole, no boundary marker 4 1234 # front 1

4 5678 # back 1

4 1265 # bottom 1

4 2376 # right 1

4 3487 #top 1

4 4158 # left # Part 3 - hole list 0 # no hole

# Part 4 - region list 0 # no region

4.1.3 .smesh files

.smeshÎļþ´ú±íÒ»¸öPLCµÄÌØÊâÀàÐÍ¡ª¡ªÍø¸ñ±íÃæ¡£.smeshÎļþ¸ñʽÊÇ.polyÎļþ¸ñʽµÄ¼ò»¯°æ¡£Ã¿Ò»ÃæÖ»ÓÐÒ»¸öÈ·ÇеĶà±ßÐΣ¬Ã»Óж´£¬Ã»ÓжκÍÄÚ²¿µã¡£ËüûÓÐ.polyÎļþµÄ¸ñʽÁé»î£¬µ«Êǵ±Íø¸ñ±íÃæÊÇÓÉÆäËû³ÌÐòµ÷Óô´½¨Ê±¸ü¼òµ¥¡¢¸üÓÐÓá£

ºÍ.polyÎļþ¸ñʽһÑù£¬.smeshÎļþ¸ñʽҲÊÇÓÉËIJ¿·Ö×é³É£¬·Ö±ðÊÇµã£¬Ãæ£¬¶´£¬ºÍÇøÓò¡£ÆäÖÐÖ»ÓйØÓÚ

Ãæ²¿·ÖµÄÃèÊöºÍ.polyÎļþÊDz»Ò»ÑùµÄ¡£ËüµÄÃèÊöÈçÏ£º

Part 2 ÃæÁбí

One line: <# of facets> Following lines list # of facets:

<# of corners> ... [boundary marker]

...

ÿһ¸öÃæÖ»ÓÉÒ»¸öÈ·ÇеĶà±ßÐÎ×é³É¡£Ã¿Ò»¸ö¶à±ßÐεĽÇÁбíλÓÚͬһÐС£Ã¿Ò»¸öÃæµÄ¿ÉÑ¡±ß½ç±êʶ·û

ÔÚÊǽÇÁбíµÄ½áβ¸ø³öÀ´µÄ¡£

ÏÂÃæµÄÀý×ÓʾÀýÁ˵¥Î»Á¢·½ÌåÃæ²¿·ÖµÄ²¼¾Ö¡££¨Í¼17£©

# Part 2 - facet list

# facet count, no boundary marker 60

# facets

4 1234 # front 4 5678 # back 4 1265 # bottom 4 2376 # right 4 3487 #top 4 4158 # left

4.1.4 eleÎļþ¸ñʽÈçÏ£º

µÚÒ»ÐÐÈý¸öÊý×Ö·Ö±ð¶ÔÓ¦±äÁ¿£º

Numberoftetrahedra numberofcorners numberoftetrahedronattributes ËÄÃæÌå¸öÊý ÿ¸öËÄÃæÌå¶¥µã¸öÊý

ËÄÃæÌåÊôÐÔ¸öÊý

½ÓÏÂÀ´ÊÇËÄÃæÌåÁÐ±í£º

ËÄÃæÌå±àºÅ ½Úµã1 ½Úµã2 ½Úµã3 ½Úµã4 [¿ÉÑ¡ÏîËÄÃæÌåÊôÐÔ]

eleÎļþ°üº¬Ò»¸öËÄÃæÌåÁÐ±í¡£Ã¿Ò»¸öËÄÃæÌåÓÐËĸö½Ç£¨Èç¹û-o2Ñ¡ÏÆôµÄ»°¿ÉÄÜÊÇ10¸ö½Ç£©¡£½ÚµãÊǶÔÓ¦ÓÚµÄ.nodeÎļþÖС£µÚÒ»´ÎËĸö½ÚµãÊǽǵ㡣Èç¹ûʹÓÃÁËÑ¡Ïî-o2£¬Ê£ÏµÄÁù¸ö½ÚµãΪλÓÚËÄÃæÌåÁùÌõ±ßÉϵÄÖе㡣ͼ18չʾÁ˽ڵãµÄÊýÄ¿¡£

Èç¹ûµÚÒ»ÐеÄÇøÓòÊôÐÔΪ1£¬Ã¿Ò»¸öËÄÃæµ¯ÔÚ×îºóÒ»ÁлáÁíÍâÓÐÒ»¸öÇøÓòÊôÐÔ¡£ËÄÃæÌåµÄÇøÓòÊôÐÔÖ÷ÒªÊÇ

ÓÃÀ´×öΪʶ±ðÄÄЩËÄÃæÌåºÍPLCµÄÃæÔ¼ÊøÇøÓòÏà¹ØµÄ±ê¼Ç¡£ËüÊÇλÓÚ.poly»òÕßÊÇ.smeshÎļþµÄµÚËIJ¿·Ö¡£ÇøÓòÊôÐÔûÓзÖÉ¢Ãæ£¬Í¬Ò»¸öÇøÓòµÄËùÓÐËÄÃæÌåÈÔÈ»ÊÇÓÐÏàͬµÄÇøÓòÊôÐÔ¡£ÇøÓòÊôÐÔ×î¹ã·ºµÄÓÃ;ÊǾö¶¨ËÄÃæÌåÊÇÄÄÒ»¸ö²ÄÖÊ¡£

Èç¹ûtetgen²úÉúÒ»¸öÍø¸ñ»òÕßÊÇËÄÃæÌåÆÊ·Ö£¬.eleÎļþÊÇĬÈϵÄÊä³öÎļþ¡£È»¶ø,ʹÓÃ-EÑ¡Ïî¿ÉÒÔºöÂÔ¡£

Èç¹ûʹÓÃÁË-rÑ¡Ïtetgen»á¶ÁÈë.eleÎļþ£¬²¢ÇÒ»áÒÀ¾ÝËüÖØ¹¹Ò»¸öËÄÃæÌåÍø¸ñ¡£ÏÂÃæµÄÀý×Ó˵Ã÷ÁËeleÎļþµÄ²¼¾Ö¡£

154 4 0 1 4 107 3 50 2 4 108 3 107 3 9 97 95 94 4 4 107 50 93 5 56 1 50 47 6 94989795 7 97 9 95 55 85255551 ...

4.1.5 faceÎļþ¸ñʽ

µÚÒ»ÐÐÁ½¸öÊý×Ö·Ö±ð±êʶface£¨Èý½ÇÐÎÃæ£©µÄ¸öÊýÓëÈý½ÇÐαêʶ·ûÁÐ±í£¨1Ϊ·Ç¿Õ0Ϊ¿Õ£© ½ÓÏÂÀ´ÊÇÈý½ÇÐÎÁÐ±í£º

face Îļþ°üº¬Ò»ÏµÁеÄÈý½ÇÐÎÃæÁÐ±í£¬ÕâÐ©Ãæ¿ÉÄÜÊDZ߽çÃæ£¨Ê¹ÓÃÁËÑ¡Ïî-P»òÕßÊÇ-r£©£¬¿ÉÄÜÊÇ͹¿ÇÃæ¡£Ã¿Ò»¸öÃæÓÐÈý¸ö½Ç£¬¿ÉÄÜ»¹Óб߽ç±êʶ·û¡£½ÚµãË÷Óë.node ÎļþÀïÒ»Ö¡£

Èý½ÇÐαàºÅ

¶¥µã1 ¶¥µã2 ¶¥µã3 face±êʶ·û

ÔÚ²úÉúÒ»¸öÍø¸ñ»òÕßÊǵÂÂåÄÚËÄÃæÌåÆÊ·Öºó£¬tetgenĬÈÏÊǰѱ߽çÃæ»òÕßÊÇ͹¿ÇÊä³öµ½ .faceÎļþ¡£È»¶ø£¬

Õâ¸öÎļþ¿ÉÒÔͨ¹ý-FÀ´ºöÂÔ¡£Èç¹ûʹÓÃÁË-rÑ¡ÏtetgenÒ²¿ÉÒÔ¶ÁÈë.faceÎļþÀ´Ê¶±ðÔÚÖØ¹¹Íø¸ñÖеı߽çÃæ¡£-BÑ¡Ïî¿ÉÒÔÓÃÀ´½ûÖ¹±ß½ç±êʶ·ûµÄ¿ÉÑ¡ÁС£

Èç¹ûÔÚµÚÒ»Ðеı߽ç±êʶ·ûΪ1,ÿһ¸öÃæÔÚ×îºóÒ»ÁÐÓÐÒ»¸öÁíÍâµÄ±ß½ç±êʶ·û¡£ÃæµÄ±ß½ç±êʶ·ûÊÇ

ÓÉ.poly ºÍ.smeshÎļþ¶¨ÒåµÄ¡£ËüÃÇÖ÷ÒªÊÇÓÃÀ´Ê¶±ðÄÄЩËÄÃæÌåÆÊ·ÖÃæºÍÄÄÒ»¸öPLCÃæÏà¹ØµÄ±ê¼Ç¡£Æä×î¹ã·ºµÄʹÓÃÊǾö¶¨ÄĶùΪ²»Í¬µÄ±ß½çÌõ¼þ¡£

4.1.6 .edgeÎļþ

First line: <# of edges>

Remaining lines list # of edges: ...

.edge file°üº¬±ßµÄÁÐ±í£¬ÕâЩ±ßÊÇPLCµÄ¶Î»òÕßÊÇ×ֶΡ£Ã¿Ò»Ìõ±ßÓÐÁ½ÌõÖն˽ڵ㣬Ë÷Òý¶ÔÓ¦ÓÚ.nodeÎļþÖÐÏàÓ¦µÄµã¡£ ËüÊÇtetgenµÄÊä³ö²¿·Ö£¨Ê¹ÓÃ-eÑ¡Ï¡£

4.1.7 .vol files

First line: <# of tetrahedra>

Remaining lines list # of maximum volumes: ...

.volÎļþÓëÿһ¸öËÄÃæÌåµÄ×î´óÌå»ýÏà¹Ø£¬×î´óÌå»ýÊÇÓÃÓÚÓÅ»¯Íø¸ñµÄ¡£ÔÚʹÓÃ-rÑ¡Ïîʱ£¬tetgen½«»á¶ÁÈë´ËÎļþ¡£

ºÍÆäËûµÄÎļþ¸ñʽһÑù£¬Ã¿Ò»¸öËÄÃæÌ屨ÐëÓбàºÅ£¬²¢ÇÒÊÇÁ¬Ðø±àºÅµÄ¡£Èç¹û¸øÒ»¸öËÄÃæÌå·ÖÅäÒ»¸ö·ûµÄ

×î´óÌå»ý£¬ËÄÃæÌå¿ÉÄÜÊÇûÓÐÔ¼ÊøµÄ¡£

4.1.8 .var files

One line: <# of facet constraints>

Remaining lines list # of facet constraints:

...

One line: <# of segment constraints>

Remaining lines list # of segment constraints:

...

Var ÎļþÔÊÐíÄã¶ÔÃæºÍ¶ÎÉèÖÿɱäµÄÔ¼Êø¡£Ïñ¶ÔÒ»¸öÇøÓòÉèÖÃ×î´óÌå»ýÒ»Ñù£¬Ã¿Ò»Ãæ¶¼¿ÉÒÔÓÐ×î´óÃæ»ýÏÞÖÆ¡£ÔÚÊä³öÖУ¬×Ó±íÃæµÄÃæ»ý¶¼Ð¡ÓÚ֮ǰµÄ¶ÔÓ¦Æ½ÃæÃæ»ýÏÞÖÆ¡£Í¬ÑùµØ£¬Ã¿Ò»¸ö¶Î¶¼ÓÐ×î´ó³¤¶ÈÏÞÖÆ£¬Òò´Ë£¬Õâ¸ö¶ÎµÄ×ֶν«²»»á±ÈËü³¤¡£

Éè¶¨ÃæµÄÃæÔ¼ÊøÊÇͨ¹ýÉèÖñ߽ç±êʶ·û£¬Ãæ±ß½ç±êʶ·ûÊÇÒ»¸öÕûÊý£¬·Ö²¼ÔÚÃæ¶ÔÓ¦µÄ.poly»ò.smeshÎļþ

ÖС£É趨һ¸ö¶ÎµÄ¶ÎÔ¼ÊøÊÇͨ¹ýÉèÖöεÄÁ½¸öÖÕµãË÷Òý¡£

ÏÂÃæµÄÀý×Ó˵Ã÷ÁË.varÎļþµÄ²¼¾Ö¡£Ëü¿ÉÒԺͰüº¬µÄexample.polyÎļþÒ»ÆðʹÓá£

# Facet constraints 1 # 1 constraint

1 2 0.5 # Set maximum area constraint (0.5) on all facets # having boundary marker 2. # Segment constraints 10 # 10 constraints

1 32 33 0.05 # Set maximum edge length constraint (0.05) on # segment with endpoints 32 and 33. 2 33 34 0.05 3 34 35 0.05 4 35 36 0.05 5 36 37 0.05 6 37 38 0.05 7 38 39 0.05 8 39 40 0.05 9 40 41 0.05 10 41 42 0.05

4.1.9 .neigh files

First line: <# of tetrahedra> <# of nei. per tet. (always 4)> Following lines list # of neighbors:

...

.neighÎļþºÍÿһ¸öËÄÃæÌåÏàÁÚµÄËÄÃæÌåÓйأ¬Ë÷Òý¶ÔÓ¦µÄËÄÃæÌåÔÚ.ele ÎļþÖС£ Ë÷ÒýΪ-1ʱ±êʶËÄÃæÌåûÓÐÏàÁÚµÄËÄÃæÌ壨´ËʱËÄÃæÌåλÓÚÍø¸ñÓòµÄÍâ½ç£©¡£ËÄÃæÌåiµÄµÚÒ»¸öÁÚ¾ÓÓëËÄÃæÌåiµÄµÚÒ»¸ö½ÇÊÇÏà·´µÄ¡£µ±Ê¹ÓÃ-nÑ¡Ïîʱ£¬tetgen»áÊä³öÕâ¸öÎļþ¡£

4.2 Ö§³ÖµÄÎļþ¸ñʽ

TetgenÒ²Ö§³ÖһЩ¶àÃæÌåÎļþ¸ñʽ¡£±í3ÁгöÁËÖ§³ÖµÄÎļþ¸ñʽ¡£Tetgenͨ¹ýÎļþÀ©Õ¹ÃûÀ´Ê¶±ðÕâЩÎļþ¡£ 4.2.1 .off files

OffÎļþÒ»ÖÖ×ÛÊöÎļþ¸ñʽ£¬ËüÊÇÒ»¸öΪunix/linuxϵͳ¿ª·¢µÄ½»»¥Ê½ÈýάͼÐÎÏÔʾÆ÷¡£Ëü°üº¬¿ÉÄܹ²¶¥µãµÄ¹²Ãæ¶à±ßÐμ¯£¬ËüÊÇÒ»ÖÖÃèÊö¶àÃæÌå·Ç³£·½±ãµÄ·½Ê½¡£¶àÃæÌå¿ÉÄÜÊǰ¼Ðεĵ«Ã»Óй涨¶àÃæÌåÒ»¶¨°üº¬¶´¡£

¶ÔÓÚoffÎļþ¸ñʽÔÚÃèÊö¿ÉÒÔÔÚÍøÉϲ鵽¡£ÏÂÃæÊǶÔÕâÖÖÎļþ¸ñʽµÄÒ»¸ö¼òµ¥ÃèÊö¡£

provisionOFF numVertices numFaces numEdges xyz xyz

... numVertices like above NVertices v1 v2 v3 ... vN MVertices v1 v2 v3 ... vM ... numFaces like above

×¢ÒâÕâ¸ö¶¥µã±àºÅÊÇ´Ó0¿ªÊ¼µÄ£¬±ßÒ²ÊÇ´Ó0¿ªÊ¼±àºÅµÄ¡£

4.2.2 .ply files