Qurak

Enhanced cycle and tour functionality

نموونە 8 هەنگاو، بە ڕیز لە یەک دانیشتندا جێبەجێ دەبن. هەموو هەنگاوێک بەرامبەر بزوێنەرەکە جێبەجێ کراوە و دەرئەنجامی خوارەوە ئەوەیە کە دەریکردووە.

هەنگاوی 1
africa = CountryData["Africa"];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 2
borderQ[cont1_, cont2_] :=
  MemberQ[CountryData[cont1, "BorderingCountries"], CountryData[cont2]];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 3
adjm = Table[If[borderQ[u, v] || borderQ[v, u], 1, 0], {u, africa}, {v, africa}];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 4
coords = Reverse[CountryData[#, "CenterCoordinates"]& /@ africa, 2];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 5
southgraph = AdjacencyGraph[africa, adjm, VertexCoordinates -> coords, EdgeStyle -> Directive[Thickness[.003], White], VertexStyle -> Directive[EdgeForm[GrayLevel[.8]], GrayLevel[.7]], VertexSize -> .8];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 6
tour = FindPostmanTour[southgraph];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 7
path = tour[[1, All, 1]];
vrule = Thread[VertexList[southgraph] -> Range[VertexCount[southgraph]]];
route = GraphEmbedding[southgraph][[Join[path, {path[[1]]}] /. vrule]];

بێ دەرئەنجام - ئەم هەنگاوە شتێک بۆ هەنگاوی داهاتوو ئامادە دەکات.

هەنگاوی 8
Show[{Graphics[{LightGray, CountryData[#, "Polygon"] & /@ africa}], HighlightGraph[southgraph, path[[1]], VertexLabels -> "Name"], Graphics[{Arrowheads[Join[{0}, ConstantArray[.018, 45]]], GrayLevel[.3], Arrow[BSplineCurve[route, SplineDegree -> 2]]}]}]
دەرئەنجام
-Graphics-

فەنکشنە بەکارهاتووەکان

ڕەچەتە پەیوەندیدارەکان

هەموو ڕەچەتەکان · سەرچاوەی فەنکشنەکان · ئەمە لە کڵایەنتێکی MCP ەوە بەکاربهێنە