diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/buildcyclebug.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/buildcyclebug.mp | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/buildcyclebug.mp b/Master/texmf-dist/doc/metapost/featpost/example/buildcyclebug.mp new file mode 100644 index 00000000000..4f2a2cfe9d5 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/buildcyclebug.mp @@ -0,0 +1,203 @@ +% buildcyclebug.mp +% L. Nobre G. +% 2006 + +beginfig(1); + numeric squaregridstep, i, j, rotationanglestep, u, nx, ny; + numeric rotationangle, horishift; + path leftcirc, righcirc, basecirc; + pen markpen; + pair shiftvect; + markpen = pencircle scaled 3pt; + u = 10mm; + squaregridstep = 2.1u; + rotationanglestep = 5.5; + + nx = floor( 21cm / ( squaregridstep+1 ) ); + ny = 2*floor( 29cm / ( squaregridstep+1 ) ); + basecirc = fullcircle scaled u; + for i=1 upto nx: + horishift := (i/nx)*0.45u; + for j=1 upto ny: + rotationangle := j*rotationanglestep; + shiftvect := squaregridstep*(i,0.5*j); + leftcirc := basecirc rotated (2*rotationangle) + shifted ( shiftvect+horishift*left ); + righcirc := basecirc rotated rotationangle + shifted ( shiftvect+horishift*right ); + draw leftcirc withcolor 0.3white; + draw righcirc withcolor 0.3white; + draw buildcycle( leftcirc, reverse righcirc ) withcolor blue; + draw point 0 of leftcirc withpen markpen; + draw point 0 of righcirc withpen markpen; + endfor; + endfor; +endfig; + +beginfig(2); + path a, b, c; + a = (159.49368,290.7048)..controls (159.29092,291.94003) + and (158.9775,293.15451) + ..(158.55756,294.33372)..controls (158.13393,295.5233) + and (157.60364,296.6721) + ..(156.97446,297.76695)..controls (156.33871,298.87321) + and (155.6046,299.9199) + ..(154.78215,300.89539)..controls (153.9502,301.88214) + and (153.03125,302.79204) + ..(152.03786,303.61603)..controls (151.0325,304.44995) + and (149.95486,305.19261) + ..(148.81863,305.83694)..controls (147.66982,306.48843) + and (146.46558,307.03687) + ..(145.22061,307.47765)..controls (143.96362,307.92268) + and (142.66995,308.25626) + ..(141.3548,308.47633)..controls (140.03023,308.698) + and (138.68887,308.8037) + ..(137.34593,308.79295)..controls (135.99751,308.78217) + and (134.65259,308.65404) + ..(133.32639,308.40996)..controls (131.99881,308.16563) + and (130.69505,307.80605) + ..(129.43005,307.33498)..controls (128.16791,306.86497) + and (126.94911,306.28574) + ..(125.78854,305.60234)..controls (124.63374,304.92235) + and (123.5411,304.14188) + ..(122.5243,303.26889)..controls (121.51508,302.4024) + and (120.58455,301.44818) + ..(119.74568,300.41588)..controls (118.91405,299.39249) + and (118.17587,298.29651) + ..(117.54193,297.1402)..controls (116.91396,295.99477) + and (116.39084,294.79483) + ..(115.98134,293.55438)..controls (115.57558,292.32524) + and (115.28311,291.06154) + ..(115.10854,289.77898)..controls (114.93536,288.5067) + and (114.87895,287.22122) + ..(114.94107,285.93872)..controls (115.0028,284.66422) + and (115.18134,283.39806) + ..(115.47398,282.15607)..controls (115.76532,280.91968) + and (116.16852,279.71237) + ..(116.67828,278.54889)..controls (117.18674,277.38843) + and (117.79907,276.27635) + ..(118.50629,275.22514)..controls (119.21288,274.17487) + and (120.01135,273.18947) + ..(120.89124,272.27943)..controls (121.77103,271.3695) + and (122.72879,270.53844) + ..(123.75226,269.79378)..controls (124.77632,269.04868) + and (125.86238,268.39284) + ..(126.9978,267.83188)..controls (128.13411,267.27048) + and (129.3158,266.80612) + ..(130.52983,266.44218)..controls (131.74399,266.07822) + and (132.98631,265.81592) + ..(134.24382,265.65674)..controls (135.50044,265.49768) + and (136.76797,265.44212) + ..(138.03372,265.49004)..controls (139.29755,265.53787) + and (140.55539,265.68869) + ..(141.79463,265.94131)..controls (143.03053,266.19325) + and (144.24384,266.54561) + ..(145.42241,266.99493)..controls (146.59683,267.44267) + and (147.73291,267.98524) + ..(148.81863,268.61847)..controls (149.90009,269.24919) + and (150.9279,269.96771) + ..(151.89061,270.76805)..controls (152.8493,271.56505) + and (153.74008,272.44041) + ..(154.5525,273.38608)..controls (155.36205,274.32838) + and (156.09094,275.33714) + ..(156.72955,276.40274)..controls (157.36655,277.46562) + and (157.91138,278.58112) + ..(158.35652,279.73755)..controls (158.8012,280.89273) + and (159.14471,282.08438) + ..(159.38153,283.29933)..controls (159.6187,284.51605) + and (159.74791,285.75134) + ..(159.7672,286.99081)..controls (159.78654,288.23448) + and (159.69516,289.47742) + ..cycle; + b = (164.69388,283.76816)..controls (164.45602,285.2755) + and (164.0816,286.75807) + ..(163.57579,288.19778)..controls (163.06467,289.6526) + and (162.42154,291.05757) + ..(161.65623,292.39624)..controls (160.8809,293.75246) + and (159.9834,295.03499) + ..(158.97679,296.22963)..controls (157.95538,297.44182) + and (156.82588,298.55852) + ..(155.6046,299.56902)..controls (154.36432,300.59523) + and (153.03438,301.50781) + ..(151.63235,302.29881)..controls (150.2098,303.1014) + and (148.71864,303.77567) + ..(147.17755,304.31679)..controls (145.61667,304.86487) + and (144.01057,305.27425) + ..(142.37828,305.54321)..controls (140.73018,305.81479) + and (139.06157,305.9422) + ..(137.39133,305.92545)..controls (135.71124,305.9086) + and (134.03581,305.74596) + ..(132.38377,305.43983)..controls (130.7291,305.13322) + and (129.1041,304.68382) + ..(127.52728,304.09592)..controls (125.95447,303.5095) + and (124.43553,302.7875) + ..(122.98894,301.93604)..controls (121.55147,301.08994) + and (120.191,300.11926) + ..(118.92514,299.03305)..controls (117.6715,297.95732) + and (116.51561,296.77249) + ..(115.47398,295.49034)..controls (114.44432,294.22292) + and (113.53049,292.86551) + ..(112.74724,291.43265)..controls (111.97365,290.01747) + and (111.3307,288.5346) + ..(110.82997,287.0015)..controls (110.33537,285.48715) + and (109.98169,283.9303) + ..(109.77559,282.35062)..controls (109.5717,280.78786) + and (109.51315,279.20952) + ..(109.6024,277.63603)..controls (109.69093,276.07535) + and (109.9245,274.52629) + ..(110.29973,273.0088)..controls (110.67278,271.50015) + and (111.18423,270.02914) + ..(111.82713,268.61427)..controls (112.46806,267.20374) + and (113.23691,265.855) + ..(114.12129,264.5829)..controls (115.0049,263.31194) + and (116.0003,262.12254) + ..(117.09409,261.02722)..controls (118.18842,259.93134) + and (119.37697,258.93388) + ..(120.64404,258.04337)..controls (121.91309,257.15147) + and (123.25624,256.37012) + ..(124.65749,255.70496)..controls (126.06084,255.03879) + and (127.51752,254.49147) + ..(129.01158,254.06616)..controls (130.50682,253.64052) + and (132.03445,253.3385) + ..(133.57892,253.16093)..controls (135.1232,252.9834) + and (136.6793,252.93085) + ..(138.23209,253.003)..controls (139.78247,253.07506) + and (141.32457,253.27116) + ..(142.84367,253.58932)..controls (144.35844,253.90657) + and (145.84552,254.34416) + ..(147.29047,254.89853)..controls (148.72931,255.45056) + and (150.1218,256.11664) + ..(151.45383,256.89171)..controls (152.77919,257.66292) + and (154.0404,258.53955) + ..(155.22351,259.51508)..controls (156.4003,260.4854) + and (157.49585,261.55034) + ..(158.4969,262.70111)..controls (159.49316,263.84637) + and (160.39235,265.07266) + ..(161.18283,266.36856)..controls (161.97006,267.65913) + and (162.64664,269.01411) + ..(163.20195,270.42015)..controls (163.75612,271.82329) + and (164.18744,273.27196) + ..(164.48865,274.75021)..controls (164.7901,276.22968) + and (164.96005,277.73294) + ..(164.99524,279.2424)..controls (165.03055,280.75697) + and (164.93001,282.27168) + ..cycle; + draw a; + draw b; + c = buildcycle( b, a ); + show c; + draw c withcolor green; + + pair sh, si; + numeric sc; + sh = (-150,-285); + si = (-150,-290); + sc = 10; + draw a shifted sh scaled sc; + draw b shifted si scaled sc; + c := buildcycle( a shifted sh scaled sc, b shifted si scaled sc ); + draw c withcolor green; +endfig; + +end. + |