How does Plot work?

*To*: mathgroup at smc.vnet.net*Subject*: [mg115144] How does Plot work?*From*: Yaroslav Bulatov <yaroslavvb at gmail.com>*Date*: Sun, 2 Jan 2011 04:56:19 -0500 (EST)

I've read the chapter in Stan Wagon's book on adaptive plotting, and I still have unanswered questions 1. How does Plot choose initial 50 points? If they were chosen to split PlotRange into 49 equal intervals, then the following Plot would coincide with x-axis, but it doesn't kk = 49; plot1 = Plot[Sin[2 Pi x], {x, 0, kk}, Mesh -> All, PlotStyle -> Gray, MeshStyle -> Directive[Black, Thick], MaxRecursion -> 0, PlotPoints -> kk + 1, PlotRangePadding -> 0, PlotRange -> {{0, kk}, {-1, 1}}, Axes -> {True, True}] 2. How does adaptive plotting choose to subdivide the regions? The explanation in the book is that it subdivides if the angle between two segments is more than 5 degrees, but you can see in this sequence below that a segment doesn't get subdivided, even it should be according to the "5 degree rule". This recently caused a user to wonder why there was a "hole" in his plot (http://stackoverflow.com/ questions/4572183/strange-sinx-graph-in-mathematica) plot1 = Plot[Sin[x], {x, -42 Pi, 42 Pi}, PlotPoints -> 100, PlotStyle -> LightGray]; Table[plot2 = Plot[Sin[x], {x, -42 Pi, 42 Pi}, Mesh -> All, MeshStyle -> Thick, PlotStyle -> Red, MaxRecursion -> k]; Show[plot1, plot2, PlotRange -> {{-110, -90}, {-1, 1}}, PlotLabel -> ("MaxRecursion " <> ToString[k])], {k, 0, 5}] // GraphicsColumn