ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 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>
<# of corners>
...
ÿһ¸öÃæÖ»ÓÉÒ»¸öÈ·ÇеĶà±ßÐÎ×é³É¡£Ã¿Ò»¸ö¶à±ßÐεĽÇÁбíλÓÚͬһÐС£Ã¿Ò»¸öÃæµÄ¿ÉÑ¡±ß½ç±êʶ·û
ÔÚÊǽÇÁбíµÄ½áβ¸ø³öÀ´µÄ¡£
ÏÂÃæµÄÀý×ÓʾÀýÁ˵¥Î»Á¢·½ÌåÃæ²¿·ÖµÄ²¼¾Ö¡££¨Í¼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