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

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

[Octave-bug-tracker] [bug #46946] isosurface throws errors where Matlab


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #46946] isosurface throws errors where Matlab does not
Date: Thu, 21 Jan 2016 13:33:35 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:44.0) Gecko/20100101 Firefox/44.0

URL:
  <http://savannah.gnu.org/bugs/?46946>

                 Summary: isosurface throws errors where Matlab does not
                 Project: GNU Octave
            Submitted by: mmuetzel
            Submitted on: Do 21 Jan 2016 13:33:34 GMT
                Category: Octave Function
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Crash
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.0.0
        Operating System: Microsoft Windows

    _______________________________________________________

Details:

1. 'verbose'

In Matlab, when you run this line

isosurface (rand (10, 10, 10), .5, 'verbose')

a figure with the isosurface is shown together with the following lines in the
command window:

ISOSURFACE: Computing triangles and vertices...
         V-done
.........
ISOSURFACE: number of vertices=1335   number of triangles=2287


When you run the same lines in Octave, the following error is thrown:

error: COLORS must be a matrix of dim 3 and of same size as C
error: called from
    __marching_cube__ at line 121 column 7
    isosurface at line 157 column 49


Even if the usefulness of the additional output is not really obvious to me,
'isosurface' should not throw an error when this switch is passed.

Btw, Octave does accept the additional parameter "verbose" (ignoring it), when
being called with 6+ arguments, e.g.:

[x, y, z] = meshgrid (1:10, 1:10, 1:10);
a = rand (10, 10, 10);
c = rand (10, 10, 10);
isosurface (x, y, z, a, .5, c, "verbose")



2. Empty x, y, z

In Matlab, this line works without error:

isosurface ([], [], [], rand (10, 10, 10), .5)

Otave throws the following error:

error: __marching_cube__: XX, YY, ZZ, C must be matrices of dim 3
error: called from
    __marching_cube__ at line 104 column 5
    isosurface at line 160 column 29


3. x, y, z being vectors

In Matlab, this line works without error:

isosurface (1:10, 1:10, 1:10, rand (10, 10, 10), .5)

Otave throws the following error:

error: __marching_cube__: XX, YY, ZZ, C must be matrices of dim 3
error: called from
    __marching_cube__ at line 104 column 5
    isosurface at line 160 column 29


4. call without iso value

In Matlab, these lines work:

isosurface (rand (10, 10, 10))
[x, y, z] = meshgrid (1:10, 1:10, 1:10);
isosurface (x, y, z, rand (10, 10, 10))

In Octave, the first line throws "error: Invalid call to isosurface" and
displays the help text. The last line throws:

error: __marching_cube__: ISO must be scalar value
error: called from
    __marching_cube__ at line 116 column 5
    isosurface at line 160 column 29



If you like I could take a deeper look at these bugs and probably submit a
patch.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?46946>

_______________________________________________
  Nachricht gesendet von/durch Savannah
  http://savannah.gnu.org/




reply via email to

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