From: Dima K. <gn...@di...> - 2020-06-30 03:55:43
|
Ethan A Merritt <me...@uw...> writes: > On Monday, 29 June 2020 19:51:04 PDT Dima Kogan wrote: >> Alright, I debugged this (rr was invaluable), and I know mostly what's >> going on. The flow is roughly this: >> >> 1. The data is read here: >> >> https://sourceforge.net/p/gnuplot/gnuplot-main/ci/branch-5-4-stable/tree/src/plot3d.c#l1037 >> >> At the end of the first line, x is 3999.0000000000005, which is just outside the >> xrange [0:3999]. This isn't unexpected due to the "using" expression > > But the x coordinates should come out identically the same in the "good" and "bad" > cases, right? So how does this explain a different between them? In the "good" case we're getting lucky in step 5. The corners (which were out-of-bounds in step 2, and were thus ignored for computing view_port_z[]) still end up in-bounds in step 5. There's an extra step that I didn't mention in the previous email: 3.5. We expand the autoranged axis extents to nice, round numbers: https://sourceforge.net/p/gnuplot/gnuplot-main/ci/branch-5-4-stable/tree/src/axis.c#l960 This provides some margin so that getting lucky in this way is possible. |