[metapost] re: workaround for turningnumber bug
L. Nobre G.
nobre at lince.cii.fc.ul.pt
Sat Jan 29 00:40:34 CET 2005
On Fri, 28 Jan 2005, Taco Hoekwater wrote:
> There are two separate bugs in the database already, but they
> are probably the same actual bug or at least very related.
>
> It looks like the inaccuracies introduced by calculating
> envelopes are the real culprits. That is to say: JDH hints
> in his explanations that "turningnumber" is actaully using the
> envelope routines instead of the path itself.
Is that the reason for having a strange result from the buildcycle macro
in the program below?
(a very small path near (156.120,299.131))
beginfig(1);
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( a, b );
show c;
draw c withcolor green;
endfig;
end.
Lu\'{\i}s Nobre Gon\c{c}alves - http://matagalatlante.org
More information about the metapost
mailing list