{"id":1581,"date":"2023-06-04T17:02:55","date_gmt":"2023-06-04T09:02:55","guid":{"rendered":"https:\/\/blog.vanabel.cn\/?p=1581"},"modified":"2023-06-04T17:06:24","modified_gmt":"2023-06-04T09:06:24","slug":"lisanpingjunqululiudeyizhongshuzhimoni","status":"publish","type":"post","link":"https:\/\/blog.vanabel.cn\/?p=1581","title":{"rendered":"\u79bb\u6563\u5e73\u5747\u66f2\u7387\u6d41\u7684\u4e00\u79cd\u6570\u503c\u6a21\u62df"},"content":{"rendered":"<p>\u7ed9\u5b9a\u4e00\u4e2a$n$-\u591a\u8fb9\u5f62, \u5047\u8bbe\u5176\u9876\u70b9\u6ee1\u8db3\u65b9\u7a0b<br \/>\n\\[<br \/>\n \\dot v_i(t)=\\frac{\\nu_i(t)}{\\| \\nu_i(t) \\|^2},<br \/>\n\\]<br \/>\n\u5176\u4e2d$\\nu_i(t)$\u662f\u9876\u70b9$v_{i-1},v_i,v_{i+1}$\u6784\u6210\u7684\u4e09\u89d2\u5f62\u4e4b\u5916\u63a5\u5706\u5fc3\u3002\u5b83\u53ef\u4ee5\u89c6\u4e3a\u8fde\u7eed\u60c5\u5f62\u4e0b\u7684\u66f2\u7ebf\u5e73\u5747\u66f2\u7387\u6d41\u7684\u4e00\u79cd\u79bb\u6563\u63a8\u5e7f\u3002<\/p>\n<p>\u6211\u4eec\u77e5\u9053\u8fde\u7eed\u60c5\u5f62\u4e0b\uff0c\u5e73\u5747\u66f2\u7387\u6d41\u6709\u6240\u8c13\u7684Gage-Hamilton-Grayson\u5b9a\u7406\uff0c\u5b83\u8868\u660e\u5e73\u5747\u66f2\u7387\u6d41\u4fdd\u6301\u7b80\u5355\u66f2\u7ebf\u4e3a\u7b80\u5355\u66f2\u7ebf\u3002<\/p>\n<p>\u4f46\u4e0b\u9762\u7684\u6570\u503c\u6a21\u62df\u8868\u9762\uff0c\u8fd9\u4e2a\u5e73\u5747\u66f2\u7387\u6d41\u4e0d\u4e00\u5b9a\u4fdd\u6301\u66f2\u7ebf\u7684\u7b80\u5355\u6027\u3002<br \/>\n<!--more--><\/p>\n<pre lang=\"latex\">\r\n\r\n\r\n\r\n\\mplibtextextlabel{enable}\r\n\\mplibnumbersystem{double}\r\n\\begin{mplibcode}\r\n<\/pre>\n<pre lang=\"metapost\">\r\nu:=10pt;\r\nvardef DiscreteFlow(suffix $)(text Pairs) = \r\n  save i_; i_ := 0; \n    pair $[]; \n    \n    for i = Pairs: \r\n      $[i_] := i*u;\r\n      i_ := i_ + 1;\r\n      show $[i_]; \r\n    endfor;\r\nenddef;\r\n\n\n\r\nvardef CircumCenter(expr A,B,C)= \r\n  save p; pair p;\r\n  p=.5[A,B]+whatever*((A-B) rotated 90)=.5[A,C]+whatever*((A-C) rotated 90);\r\n  p\r\nenddef;\r\nvardef NormSquare(expr A) = \r\n  xpart(A)**2+ypart(A)**2\r\nenddef;\r\n\r\n\r\n\r\nbeginfig(1);\r\n  \n  Maxiteration=50; delta=1; N=20; \n  for j=1 upto N:\r\n    randomseed := uniformdeviate infinity;\r\n    z[j]=8*dir(360j\/N)+(normaldeviate,normaldeviate);\r\n    show \"z[\" & decimal j & \"]= (\" & decimal xpart(z[j]) & \",\" & decimal ypart(z[j]) & \")\";\r\n  endfor;\r\n\r\n  z0=z[N];\r\n\r\n  draw (z[1] for i=2 upto N: --z[i] endfor --cycle) scaled 10u  withcolor blue withpen pencircle scaled 3pt;\r\n  dotlabel(\"c2\", CircumCenter(z[1],z[2],z[3])*10u);\r\n  for i=1 upto N:\r\n    dotlabel(decimal i, z[i] scaled 10u);\r\n  endfor;\r\n  pair p[], c;\r\n  \n  for i=0 upto N: p[i]=z[i]; endfor;\r\n  \n  for n=1 upto Maxiteration:\r\n    for i=1 upto N:\r\n      c:=CircumCenter(p[(N*(n-1)+i-1) mod N],p[(N*(n-1)+i) mod N],p[(N*(n-1)+i+1) mod N]);\r\n      p[N*n+i]=p[N*(n-1)+i]+delta*c\/NormSquare(c);\r\n      \n\tdrawarrow (p[N*(n-1)+i]--p[N*n+i]) scaled 10u withpen pencircle scaled .3pt;\r\n    endfor;\r\n      if n=Maxiteration:\r\n\tdraw (p[N*n+1] for i=2 upto N: -- p[N*n+i] endfor --cycle) scaled 10.1u withpen pencircle scaled 1pt withcolor red;\r\n      elseif (n mod 2=0):\r\n\tdraw (p[N*n+1] for i=2 upto N: -- p[N*n+i] endfor --cycle) scaled 10u;\r\n      else:\r\n      draw (p[N*n+1] for i=2 upto N: -- p[N*n+i] endfor --cycle) scaled 10u  dashed evenly withcolor .5*red;\r\n      fi;\r\n  endfor;\r\n\r\n\r\n  \r\nendfig;\r\n<\/pre>\n<pre lang=\"latex\">\r\n\\end{mplibcode}\r\n\r\n<\/pre>\n<p>\u4e00\u4e2a\u8f93\u51fa\u4e3a\uff0c\u7ed9\u5b9a\u9876\u70b9\u5982\u4e0b<\/p>\n<pre lang=\"tex\">\r\n(luamplib)               {randomseed:=164.13048854794684}\r\n(luamplib)               >> \"z[1]= (7.1663813354355792,2.115410943910577)\"\r\n(luamplib)               {randomseed:=1282.7618269274324}\r\n(luamplib)               >> \"z[2]= (6.1198547032965198,3.1294415485934794)\"\r\n(luamplib)               {randomseed:=403.39625352345581}\r\n(luamplib)               >> \"z[3]= (5.3874308800111868,4.8324648551767311)\"\r\n(luamplib)               {randomseed:=3339.1733235391926}\r\n(luamplib)               >> \"z[4]= (3.5465950228343885,6.1858621289233282)\"\r\n(luamplib)               {randomseed:=1839.1381135784272}\r\n(luamplib)               >> \"z[5]= (1.2672314185221965,7.8164049682362586)\"\r\n(luamplib)               {randomseed:=3420.0974717036256}\r\n(luamplib)               >> \"z[6]= (-3.7256314873696939,6.8671219483403938)\"\r\n(luamplib)               {randomseed:=510.18410242830026}\r\n(luamplib)               >> \"z[7]= (-5.6650842541666693,6.4155586555366675)\"\r\n(luamplib)               {randomseed:=12.746562895524596}\r\n(luamplib)               >> \"z[8]= (-7.3959720323999152,5.2194560696781931)\"\r\n(luamplib)               {randomseed:=1303.1675809171504}\r\n(luamplib)               >> \"z[9]= (-6.7246625396621438,1.5797575825552226)\"\r\n(luamplib)               {randomseed:=1827.3952890813218}\r\n(luamplib)               >> \"z[10]= (-9.1673328058487815,-0.45325023466673714)\"\r\n(luamplib)               {randomseed:=7.8023681259649997}\r\n(luamplib)               >> \"z[11]= (-9.510793507129911,-3.9190636005348356)\"\r\n(luamplib)               {randomseed:=1418.1949241054936}\r\n(luamplib)               >> \"z[12]= (-7.425895076183326,-4.2579680419470947)\"\r\n(luamplib)               {randomseed:=1480.3974041179326}\r\n(luamplib)               >> \"z[13]= (-3.3223499681157214,-6.4744847060536879)\"\r\n(luamplib)               {randomseed:=876.68583251129962}\r\n(luamplib)               >> \"z[14]= (-1.8601946468263932,-6.6736668112858331)\"\r\n(luamplib)               {randomseed:=2646.6707481852013}\r\n(luamplib)               >> \"z[15]= (-0.45124071673288363,-9.4417326012844018)\"\r\n(luamplib)               {randomseed:=132.57237941859191}\r\n(luamplib)               >> \"z[16]= (2.9170180427407999,-8.5078926786590099)\"\r\n(luamplib)               {randomseed:=1047.8092142440955}\r\n(luamplib)               >> \"z[17]= (4.2494809218946745,-6.7105559485829076)\"\r\n(luamplib)               {randomseed:=2021.5000778674312}\r\n(luamplib)               >> \"z[18]= (8.0277937535304655,-3.4644864211184609)\"\r\n(luamplib)               {randomseed:=2055.7357077356655}\r\n(luamplib)               >> \"z[19]= (10.187937026289996,-3.2670946608207374)\"\r\n(luamplib)               {randomseed:=3756.315583007492}\r\n(luamplib)               >> \"z[20]= (8.0942754644586294,-0.78244053305555517)\"\r\n<\/pre>\n<p>\u84dd\u8272\u591a\u8fb9\u5f62\u7ecf\u8fc7\u6f14\u5316\u540e\uff0c\u53d8\u6210\u7ea2\u8272\u591a\u8fb9\u5f62<br \/>\n<a href=\"https:\/\/blog.vanabel.cn\/wp-content\/uploads\/2023\/06\/DiscreteCurvatureFlow.svg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.vanabel.cn\/wp-content\/uploads\/2023\/06\/DiscreteCurvatureFlow.svg\" alt=\"\" width=\"5296\" height=\"5707\" class=\"aligncenter size-full wp-image-1584\" srcset=\"https:\/\/blog.vanabel.cn\/wp-content\/uploads\/DiscreteCurvatureFlow.svg 150w, https:\/\/blog.vanabel.cn\/wp-content\/uploads\/DiscreteCurvatureFlow.svg 300w, https:\/\/blog.vanabel.cn\/wp-content\/uploads\/DiscreteCurvatureFlow.svg 768w\" sizes=\"auto, (max-width: 5296px) 100vw, 5296px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7ed9\u5b9a\u4e00\u4e2a$n$-\u591a\u8fb9\u5f62, \u5047\u8bbe\u5176\u9876\u70b9\u6ee1\u8db3\u65b9\u7a0b \\[ \\dot v_i(t)=\\frac{\\nu_i(t)}{\\&hellip; <a class=\"more-link\" href=\"https:\/\/blog.vanabel.cn\/?p=1581\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u79bb\u6563\u5e73\u5747\u66f2\u7387\u6d41\u7684\u4e00\u79cd\u6570\u503c\u6a21\u62df<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[292,297,296],"class_list":["post-1581","post","type-post","status-publish","format-standard","hentry","category-math","tag-metapost","tag-pingjunqululiu","tag-lisan","entry"],"_links":{"self":[{"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/1581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1581"}],"version-history":[{"count":3,"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/1581\/revisions"}],"predecessor-version":[{"id":1585,"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/1581\/revisions\/1585"}],"wp:attachment":[{"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}