bugGNU Octave - Bugs: bug #65641, 'view' produces incorrect...

 
 

bug #65641: 'view' produces incorrect viewpoint when given a vector aligned with the primary axes

Submitter:  None
Submitted:  Thu 25 Apr 2024 10:36:25 AM UTC
   
 
Category:  Plotting Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Marco Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 9.1.0
Operating System:  * Any Fixed Release:  10.1.0 (current default)
Planned Release:  10.1.0 (current default)
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 02 May 2024 09:20:32 PM UTC, comment #29: 

Changeset looks good.  Marking as Fixed and closing report.

Rik <rik5>
Group administrator
Fri 26 Apr 2024 09:24:51 PM UTC, comment #28: 
Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 08:06:17 PM UTC, comment #27: 

yes, i tested a few points, mainly because i was worried this would cover the on-axis case but then be very discontinuous/unpredictable just off axis. and it is, but that seems to be matlab's behavior as well.

Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 08:03:15 PM UTC, comment #26: 

Sorry. I didn't notice that your change only makes a difference if x(2) is already tested to be 0.

In that case, your patch might cover the last corner cases correctly indeed.

Markus Mützel <mmuetzel>
Group administrator
Fri 26 Apr 2024 07:56:44 PM UTC, comment #25: 

Are you sure your patch is correct in general? Have you tested with viewpoints that are not on one of the main axes?

Markus Mützel <mmuetzel>
Group administrator
Fri 26 Apr 2024 07:51:17 PM UTC, comment #24: 

the attached patch forces az = +0 when a z-axis vector is specified, and adds a BIST to check for compatible output.

It's definitely not an elegant fix. I was worried about it being highly discontinuous for slightly off-z-axis vectors, e.g, [-0.0001, 0, -1], but it seems matlab is too, and this matches:

matlab:

>> view([-0.0001,0,-1]);[a,b]=view();[a,b,1/a,1/b]
ans =
  -90.0000  -89.9943   -0.0111   -0.0111
>> view([-0.000,0,-1]);[a,b]=view();[a,b,1/a,1/b]
ans =
         0  -90.0000       Inf   -0.0111


patched octave

 view([-0.0001,0,-1]);[a,b]=view();[a,b,1/a,1/b]
ans =

  -9.0000e+01  -8.9994e+01  -1.1111e-02  -1.1112e-02

>>  view([-0.000,0,-1]);[a,b]=view();[a,b,1/a,1/b]
ans =

         0  -90.0000       Inf   -0.0111


i think this would pretty much satisfy the bug report.

(file #55979)

Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 04:04:50 AM UTC, comment #23: 

correct that:


so, for [+/-0, +/-0, +/-1] case, only [+0, +0, +/-1] is correct.

the azimuth for these should always be +0, and
the sign of the elevation should match the sign of x. (which it does)

Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 04:01:39 AM UTC, comment #22: 

yes, regarding neg 0 matlab does still preserve that:

matlab 2023b:

>> x = -0
x =
     0
>> x=1/x
x =
  -Inf
>> x=1/x
x =
     0


same in octave.

a little compatibility test in matlab with 1/x's to check for all main axis viewpoints and include the -0 cases:

idx = 1;
for x1 = [-1, -0, 1, 0]
  for x2 = [-1, -0, 1, 0]
    for x3 = [-1, -0, 1, 0]
      if (([x1,x2,x3]==[0,0,0]))
       az = NaN;
       el = NaN;
      else
        view([x1,x2,x3]);
        [az, el]=view();
      end
      output(idx,:) = [x1, x2, x3, 1/x1, 1/x2, 1/x3, az, el, 1/az, 1/el];
      idx = idx + 1;
    end
  end
end


produces:

output =
    -1.0000    -1.0000    -1.0000    -1.0000    -1.0000    -1.0000   -45.0000   -35.2644    -0.0222    -0.0284
    -1.0000    -1.0000          0    -1.0000    -1.0000       -Inf   -45.0000          0    -0.0222       -Inf
    -1.0000    -1.0000     1.0000    -1.0000    -1.0000     1.0000   -45.0000    35.2644    -0.0222     0.0284
    -1.0000    -1.0000          0    -1.0000    -1.0000        Inf   -45.0000          0    -0.0222        Inf
    -1.0000          0    -1.0000    -1.0000       -Inf    -1.0000   -90.0000   -45.0000    -0.0111    -0.0222
    -1.0000          0          0    -1.0000       -Inf       -Inf   -90.0000          0    -0.0111       -Inf
    -1.0000          0     1.0000    -1.0000       -Inf     1.0000   -90.0000    45.0000    -0.0111     0.0222
    -1.0000          0          0    -1.0000       -Inf        Inf   -90.0000          0    -0.0111        Inf
    -1.0000     1.0000    -1.0000    -1.0000     1.0000    -1.0000  -135.0000   -35.2644    -0.0074    -0.0284
    -1.0000     1.0000          0    -1.0000     1.0000       -Inf  -135.0000          0    -0.0074       -Inf
    -1.0000     1.0000     1.0000    -1.0000     1.0000     1.0000  -135.0000    35.2644    -0.0074     0.0284
    -1.0000     1.0000          0    -1.0000     1.0000        Inf  -135.0000          0    -0.0074        Inf
    -1.0000          0    -1.0000    -1.0000        Inf    -1.0000   -90.0000   -45.0000    -0.0111    -0.0222
    -1.0000          0          0    -1.0000        Inf       -Inf   -90.0000          0    -0.0111       -Inf
    -1.0000          0     1.0000    -1.0000        Inf     1.0000   -90.0000    45.0000    -0.0111     0.0222
    -1.0000          0          0    -1.0000        Inf        Inf   -90.0000          0    -0.0111        Inf
          0    -1.0000    -1.0000       -Inf    -1.0000    -1.0000          0   -45.0000       -Inf    -0.0222
          0    -1.0000          0       -Inf    -1.0000       -Inf          0          0       -Inf       -Inf
          0    -1.0000     1.0000       -Inf    -1.0000     1.0000          0    45.0000       -Inf     0.0222
          0    -1.0000          0       -Inf    -1.0000        Inf          0          0       -Inf        Inf
          0          0    -1.0000       -Inf       -Inf    -1.0000          0   -90.0000        Inf    -0.0111
          0          0          0       -Inf       -Inf       -Inf        NaN        NaN        NaN        NaN
          0          0     1.0000       -Inf       -Inf     1.0000          0    90.0000        Inf     0.0111
          0          0          0       -Inf       -Inf        Inf        NaN        NaN        NaN        NaN
          0     1.0000    -1.0000       -Inf     1.0000    -1.0000  -180.0000   -45.0000    -0.0056    -0.0222
          0     1.0000          0       -Inf     1.0000       -Inf  -180.0000          0    -0.0056       -Inf
          0     1.0000     1.0000       -Inf     1.0000     1.0000  -180.0000    45.0000    -0.0056     0.0222
          0     1.0000          0       -Inf     1.0000        Inf  -180.0000          0    -0.0056        Inf
          0          0    -1.0000       -Inf        Inf    -1.0000          0   -90.0000        Inf    -0.0111
          0          0          0       -Inf        Inf       -Inf        NaN        NaN        NaN        NaN
          0          0     1.0000       -Inf        Inf     1.0000          0    90.0000        Inf     0.0111
          0          0          0       -Inf        Inf        Inf        NaN        NaN        NaN        NaN
     1.0000    -1.0000    -1.0000     1.0000    -1.0000    -1.0000    45.0000   -35.2644     0.0222    -0.0284
     1.0000    -1.0000          0     1.0000    -1.0000       -Inf    45.0000          0     0.0222       -Inf
     1.0000    -1.0000     1.0000     1.0000    -1.0000     1.0000    45.0000    35.2644     0.0222     0.0284
     1.0000    -1.0000          0     1.0000    -1.0000        Inf    45.0000          0     0.0222        Inf
     1.0000          0    -1.0000     1.0000       -Inf    -1.0000    90.0000   -45.0000     0.0111    -0.0222
     1.0000          0          0     1.0000       -Inf       -Inf    90.0000          0     0.0111       -Inf
     1.0000          0     1.0000     1.0000       -Inf     1.0000    90.0000    45.0000     0.0111     0.0222
     1.0000          0          0     1.0000       -Inf        Inf    90.0000          0     0.0111        Inf
     1.0000     1.0000    -1.0000     1.0000     1.0000    -1.0000   135.0000   -35.2644     0.0074    -0.0284
     1.0000     1.0000          0     1.0000     1.0000       -Inf   135.0000          0     0.0074       -Inf
     1.0000     1.0000     1.0000     1.0000     1.0000     1.0000   135.0000    35.2644     0.0074     0.0284
     1.0000     1.0000          0     1.0000     1.0000        Inf   135.0000          0     0.0074        Inf
     1.0000          0    -1.0000     1.0000        Inf    -1.0000    90.0000   -45.0000     0.0111    -0.0222
     1.0000          0          0     1.0000        Inf       -Inf    90.0000          0     0.0111       -Inf
     1.0000          0     1.0000     1.0000        Inf     1.0000    90.0000    45.0000     0.0111     0.0222
     1.0000          0          0     1.0000        Inf        Inf    90.0000          0     0.0111        Inf
          0    -1.0000    -1.0000        Inf    -1.0000    -1.0000          0   -45.0000        Inf    -0.0222
          0    -1.0000          0        Inf    -1.0000       -Inf          0          0        Inf       -Inf
          0    -1.0000     1.0000        Inf    -1.0000     1.0000          0    45.0000        Inf     0.0222
          0    -1.0000          0        Inf    -1.0000        Inf          0          0        Inf        Inf
          0          0    -1.0000        Inf       -Inf    -1.0000          0   -90.0000        Inf    -0.0111
          0          0          0        Inf       -Inf       -Inf        NaN        NaN        NaN        NaN
          0          0     1.0000        Inf       -Inf     1.0000          0    90.0000        Inf     0.0111
          0          0          0        Inf       -Inf        Inf        NaN        NaN        NaN        NaN
          0     1.0000    -1.0000        Inf     1.0000    -1.0000   180.0000   -45.0000     0.0056    -0.0222
          0     1.0000          0        Inf     1.0000       -Inf   180.0000          0     0.0056       -Inf
          0     1.0000     1.0000        Inf     1.0000     1.0000   180.0000    45.0000     0.0056     0.0222
          0     1.0000          0        Inf     1.0000        Inf   180.0000          0     0.0056        Inf
          0          0    -1.0000        Inf        Inf    -1.0000          0   -90.0000        Inf    -0.0111
          0          0          0        Inf        Inf       -Inf        NaN        NaN        NaN        NaN
          0          0     1.0000        Inf        Inf     1.0000          0    90.0000        Inf     0.0111
          0          0          0        Inf        Inf        Inf        NaN        NaN        NaN        NaN


octave produces different results for the following rows:

octave:

܀ans =

          0          0    -1.0000       -Inf       -Inf    -1.0000  -180.0000   -90.0000    -0.0056    -0.0111
          0          0     1.0000       -Inf       -Inf     1.0000  -180.0000    90.0000    -0.0056     0.0111
          0          0    -1.0000       -Inf        Inf    -1.0000          0   -90.0000       -Inf    -0.0111
          0          0     1.0000       -Inf        Inf     1.0000          0    90.0000       -Inf     0.0111
          0          0    -1.0000        Inf       -Inf    -1.0000   180.0000   -90.0000     0.0056    -0.0111
          0          0     1.0000        Inf       -Inf     1.0000   180.0000    90.0000     0.0056     0.0111


for which matlab produces:

 ꖜ଀
         0         0   -1.0000      -Inf      -Inf   -1.0000         0  -90.0000       Inf   -0.0111
         0         0    1.0000      -Inf      -Inf    1.0000         0   90.0000       Inf    0.0111
         0         0   -1.0000      -Inf       Inf   -1.0000         0  -90.0000       Inf   -0.0111
         0         0    1.0000      -Inf       Inf    1.0000         0   90.0000       Inf    0.0111
         0         0   -1.0000       Inf      -Inf   -1.0000         0  -90.0000       Inf   -0.0111
         0         0    1.0000       Inf      -Inf    1.0000         0   90.0000       Inf    0.0111


so, for [+/-0, +/-0, +/-1] case, only [+0, +0, +/-1] is correct. the azimuth is flipped 180deg when y is -0, and the sign should match the size of x.

Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 02:58:39 AM UTC, comment #21: 

created but #65644 for issue with jupyter-notebook tests failing with a figure window up.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 08:22:45 PM UTC, comment #20: 

RE: negative zero, I think Matlab preserves but doesn't display -0.  You can verify with


x = -0
x = 1/x
x = 1/x


Octave now also omits the '-' before the '0' for me, though I'm certain that it was displayed in the past.  I can't seem to find the specific change or any discussion related to it.

Octave does still display '-' for complex values that have -0 as the imaginary part.  Normally these values are automatically narrowed to real values, but you can create them with the complex function.  For example, try


complex (-0, -0)


Maybe that's a mistake though, because we aren't showing the '-' for the real part here.  Hmm.

John W. Eaton <jwe>
Group administrator
Thu 25 Apr 2024 04:31:49 PM UTC, comment #19: 


test jupyter-notebook.tst
PASSES 4 out of 4 tests

>> figure
>> test jupyter-notebook.tst
***** testif HAVE_RAPIDJSON
 visibility = get (0, "defaultfigurevisible");
 toolkit = graphics_toolkit ();
 unwind_protect
   if (! strcmp (graphics_toolkit (), "qt"))
     try
       graphics_toolkit ("gnuplot");
     catch
       ## The system doesn't support gnuplot for drawing hidden
       ## figures.  Just return and have test marked as passing.
       return;
     end_try_catch
   endif
   set (0, "defaultfigurevisible", "off");

   n = jupyter_notebook (fullfile ("octave_kernel.ipynb"));
   n.run_all ();

   ## Test embedding images
   assert (n.notebook.cells{3}.outputs{1}.output_type, "display_data")
   assert (isfield (n.notebook.cells{3}.outputs{1}.data, "image/png"));
   assert (getfield (n.notebook.cells{3}.outputs{1}.data, "text/plain"),
           {"<IPython.core.display.Image object>"});

   ## Test running non-code cells
   markdown_cell = n.notebook.cells{1};
   n.run (1);
   assert (markdown_cell, n.notebook.cells{1});

   ## Test embedding textual output
   assert (n.notebook.cells{6}.outputs{1}.output_type, "stream")
   assert (n.notebook.cells{6}.outputs{1}.name, "stdout");
 unwind_protect_cleanup
   set (0, "defaultfigurevisible", visibility);
   graphics_toolkit (toolkit);
 end_unwind_protect
!!!!! test failed
get: invalid handle (= 2)


i seem to remember something similar coming up before. will see if there's another report or will create a new one for this item.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 04:21:37 PM UTC, comment #18: 

curious, though, why another test creating a figure would result in jupyter-notebook failing.  what about that test can't handle an existing figure window? perhaps that could be made more robust?

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 04:14:23 PM UTC, comment #17: 

Looks like nrjank already fixed it at the same time:

changeset 33461:2f5a875246ae @

view.m: Move input validation to avoid creating figure on error (bug #65641)


Thanks for the fix!

Arun Giridhar <arungiridhar>
Group Member
Thu 25 Apr 2024 04:10:16 PM UTC, comment #16: 

(Crossed with Dmitri. Yes, same problem.)

Arun Giridhar <arungiridhar>
Group Member
Thu 25 Apr 2024 04:09:34 PM UTC, comment #15: 

This is causing an empty figure to show up when running "make check". It shows up when testing view.m, and can also be manually invoked with "test view", which opens an empty figure and reports "PASSES 6 out of 6 tests".

The plot window that hangs around in "make check" causes a subsequent failure in

  jupyter-notebook/jupyter-notebook.tst .......................... pass    3/4
                                                                   FAIL    1


with the error:

get: invalid handle (= 2)


Arun Giridhar <arungiridhar>
Group Member
Thu 25 Apr 2024 04:06:34 PM UTC, comment #14: 

It looks to me that the changes somehow broke "test jupyter-notebook" see e.g.:
https://buildbot.octave.org/#/builders/15/builds/1002/steps/7/logs/stdio

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 25 Apr 2024 03:56:34 PM UTC, comment #13: 

moved check ahead of axes object creation and added a note to the news file.

https://hg.savannah.gnu.org/hgweb/octave/rev/2f5a875246ae

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 03:42:25 PM UTC, comment #12: 

i tried the 0 and -0 inputs in a few cases and didn't notice a difference, but the testing was far from exhaustive.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 03:39:29 PM UTC, comment #11: 

I don't know if Matlab has a notion of "negative zero" by now. It didn't have it in the past. But for Octave `0` differs from `-0`, e.g., in the input to `atan2`.
So, it could be possible that Matlab and Octave differ if `-0` is used somewhere in the input of `view` with a 3-element view point as input. I haven't checked that...

Markus Mützel <mmuetzel>
Group administrator
Thu 25 Apr 2024 03:31:56 PM UTC, comment #10: 


> It might be better to have the input validation first in the function (like in most other functions in Octave).


noted.  put it ahead of the hax = gca () block and that goes away. will combine with your patch and push.  unless there's some other vector input we're missing, this seems to cover the bug.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 03:18:20 PM UTC, comment #9: 


> that patch seems to work for all tests (after i fixed the ordering on the [0,0.001,0] test and relaxed tol to eps('single'), which i guess is expected with opengl).


That's probably a combination of single precision in OpenGL and the limited precision of the Taylor expansion used in the test.

> what is a test case for y? I can't trigger anything to cause an orientation difference with matlab.


That's probably a good thing. That patch already should handle the special case for y=+/-0 correctly.

Markus Mützel <mmuetzel>
Group administrator
Thu 25 Apr 2024 03:15:41 PM UTC, comment #8: 

The following opens a figure since c224e1a810d6:

close all
[ax, el] = view (0, 90)


It should probably only emit that error message.

It might be better to have the input validation first in the function (like in most other functions in Octave).

Markus Mützel <mmuetzel>
Group administrator
Thu 25 Apr 2024 03:06:10 PM UTC, comment #7: 

that patch seems to work for all tests (after i fixed the ordering on the [0,0.001,0] test and relaxed tol to eps('single'), which i guess is expected with opengl).

what is a test case for y? I can't trigger anything to cause an orientation difference with matlab.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 03:04:47 PM UTC, comment #6: 

No worries. More self-tests are probably never a bad thing.

I added a couple more tests for view points on the main axis and pushed the patch to the default branch:
https://hg.savannah.gnu.org/hgweb/octave/rev/1ad552012ffb

Marking as ready for test.

Markus Mützel <mmuetzel>
Group administrator
Thu 25 Apr 2024 02:36:33 PM UTC, comment #5: 

sorry Markus, crossed posts.  i don't think last push should conflict, but can back it out if it does.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 02:35:12 PM UTC, comment #4: 

quick patch that adds BISTs to check the bug #57800 behavior and add currently failing test for this report. also adds an input validation check so attempting to both get and set the view produces a meaningful error message.  pushed to default as:

https://hg.savannah.gnu.org/hgweb/octave/rev/c224e1a810d6

will look at modifications that try to satisfy both expected behaviors.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 02:28:46 PM UTC, comment #3: 

Thank you for the report.

According to Matlab's online documentation for `view`, the azimuth angle is measured from the negative y-axis.

We are using `cart2sph` to convert the view point to azimuth and elevation. That function calculates the azimuth relative from the positive x-axis.
To account for that difference, we are currently adding 90° to the azimuth calculated by `cart2sph`. Because of how `atan2` choses the quadrants, that isn't always correct.
For bug #57800, a special case was introduced to not add these 90° if the azimuth calculated by `cart2sph` is 0. That special case is causing issues here.

Instead of rotating the azimuth angle after the fact, we could also rotate the input to `cart2sph` by 90°. That way, we can let `atan2` in `cart2sph` use its quadrant rules (which should match our expectation now).
(It looks like, we still need a special case for y=+/-0 though...)

The attached patch should probably fix this.


(file #55976)

Markus Mützel <mmuetzel>
Group administrator
Thu 25 Apr 2024 01:39:10 PM UTC, comment #2: 

for the 3 cases, the output of
[az, el] = cart2sph (x(1,x(2),x(3));
az *= 180/pi;


x = [0 -1 0]
az = -90
el = 0

x = [1 0 0]
az = 0
el = 0

x = [1 0.001 0]
az = 0.05726
el = 0



after that calculation, view applies:
 if (az != 0)
   az += 90;  # Special fix for bug #57800
 endif

resulting in:


x = [0 -1 0]
az = 0
el = 0

x = [1 0 0]
az = 0
el = 0

x = [1 0.001 0]
az = 90.057
el = 0


matlab 2023b produces the same output from cart2sph, but view([1,0,0]) does result in a view of the short (5) wide ellipse section:


>> view([0,-1,0])
>> [az,el]=view
az =
     0
el =
     0
>> view([1,0,0])
>> [az,el]=view
az =
    90
el =
     0
>> view([1,0.001,0])
>> [az,el]=view
az =
   90.0573
el =
     0


so it seems the bug #57800 fix isn't quite hitting the mark.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 01:18:57 PM UTC, comment #1: 

also confirmed on the development branch (octave 10.0.0), xyz inputs are converted to azimuth and elevation by cart2sph, and there's a matlab compatibility shift in there that points to changes due to bug #57800 (that fix rolled out with v6.1).  will try to review to see where the issue occurs.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 10:36:25 AM UTC, original submission:  

In a 3D plot, "view([1 0 0])" does the same thing as "view([0 -1 0])".
That is, it does not move the viewpoint on the X axis, but on the Y axis.

Passing "[-1 0 0]" does the expected thing. So it looks like it does not work only for vectors aligned with X and directed in the positive direction.

To reproduce:

[x,y,z] = ellipsoid (0,0,0, 10, 5, 3);
figure; surf(x,y,z); axis equal;
view([0 -1 0])
view([1 0 0])     # does not change anything
view([1 0.001 0]) # to work around the bug


I made the ellipsoid's dimensions different on the X and Y axes to be able to see when the viewpoint actually changes.

I can reproduce it with Octave 6.4.0 (on Ubuntu Linux) as well as the latest 9.1.0 (run from docker).

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #55979:  bug65641_zaxisfix.patch added by nrjank (2KiB - application/octet-stream - patch to force compatible output for z-axis aligned view vectors)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by arungiridhar (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by mmuetzel (Updated the item)
  • -email is unavailable- added by nrjank (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 20 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-05-02 rik5 StatusReady For Test Fixed
        Open/ClosedOpen Closed
        Fixed ReleaseNone 10.1.0 (current default)
    2024-04-26 nrjank Attached File- Added bug65641_zaxisfix.patch, #55979
        Summary'view' produces incorrect viewpoint when given a vector aligned with the X axis 'view' produces incorrect viewpoint when given a vector aligned with the primary axes
    2024-04-25 mmuetzel StatusConfirmed Ready For Test
        Planned ReleaseNone 10.1.0 (current default)
    2024-04-25 nrjank StatusReady For Test Confirmed
        Planned Release10.1.0 (current default) None
    2024-04-25 mmuetzel StatusConfirmed Ready For Test
        Planned ReleaseNone 10.1.0 (current default)
    2024-04-25 nrjank StatusPatch Submitted Confirmed
        Summary'view' misbehaves when given a vector aligned with the X axis 'view' produces incorrect viewpoint when given a vector aligned with the X axis
    2024-04-25 mmuetzel Attached File- Added bug65641-view-main-coordinate-axis.patch, #55976
        StatusConfirmed Patch Submitted
        Summary'view' produces incorrect viewpoint when given a vector aligned with the X axis 'view' misbehaves when given a vector aligned with the X axis
    2024-04-25 nrjank Item GroupNone Incorrect Result
        StatusNone Confirmed
        Operating SystemGNU/Linux Any
        Summary'view' misbehaves when given a vector aligned with the X axis 'view' produces incorrect viewpoint when given a vector aligned with the X axis

    Back to the top

    Powered by Savane 3.13-bb6a.
    Corresponding source code