octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #58956] Empty plot for certain xlim / ylim set


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #58956] Empty plot for certain xlim / ylim settings
Date: Fri, 28 Aug 2020 12:11:03 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36 Edg/84.0.522.63

Follow-up Comment #8, bug #58956 (project octave):

I made the change you described in comment #7. Here again as a patch to make
it easier to find those lines:

diff -r 6dbd32dd2a5f libinterp/corefcn/gl-render.cc
--- a/libinterp/corefcn/gl-render.cc    Fri Aug 28 14:50:41 2020 +0200
+++ b/libinterp/corefcn/gl-render.cc    Fri Aug 28 17:47:08 2020 +0200
@@ -1279,8 +1279,10 @@
 
     Matrix x_zlim = props.get_transform_zlim ();
 
-    xZ1 = std::max (-1e6, x_zlim(0)-(x_zlim(1)-x_zlim(0))*100.0);
-    xZ2 = std::min (1e6, x_zlim(1)+(x_zlim(1)-x_zlim(0))*100.0);
+    // xZ1 = std::max (-1e6, x_zlim(0)-(x_zlim(1)-x_zlim(0))*100.0);
+    // xZ2 = std::min (1e6, x_zlim(1)+(x_zlim(1)-x_zlim(0))*100.0);
+    xZ1 = x_zlim(0)-(x_zlim(1)-x_zlim(0))/2;
+    xZ2 = x_zlim(1)+(x_zlim(1)-x_zlim(0))/2;
 
     Matrix x_mat1 = props.get_opengl_matrix_1 ();
     Matrix x_mat2 = props.get_opengl_matrix_2 ();


Without that change, I couldn't make the axes in your example appear in any
test.
CC'ing Pantxo. Maybe he still remembers why that change was done in the first
place for bug #54551.


With that change, I can the OpenGL errors (while the axes have disappeared).
Octave crashes eventually for me, too.

If I add the following line after "axes equal" in your script, I see no OpenGL
errors, the axes don't disappear and Octave doesn't crash:

  set(gca, 'CameraPosition', [0.014392034052167, 0.134014656653948,
2.411976487699734]*1e13);


That is the camera position Matlab calculates at that point in the script.

For reference, the camera position Octave calculates at that point in the
script (if it isn't set manually):

>> format long
>> get(gca, 'CameraPosition')
ans =

   1.439510455551360e+11   1.340147276008146e+12   1.685352061831762e+13


It is again the z-component that differs. So there seems something off in how
we calculate the camera position.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?58956>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]