Skip to content

Implement NumericArray #1511

@bdlucas1

Description

@bdlucas1

Currently functions like Plot3D generate Graphics3D objects that represent the mesh to be plotted as a List of Lists. For large meshes this is inefficient in space, and very inefficient in time to generate and consume for display. For example, generating and displaying a Plot3D with a useful degree of resolution takes many seconds, so is not feasible for interactive plotting with Manipulate.

A NumericArray implementation backed by NumPy arrays will greatly improve performance. Initial prototypes show orders of magnitude improvements in performance, allowing for example interactive plotting at useful resolution with Manipulate.

In addition I expect this could be useful for CSG operations on solids, where the boundary of the solid would be represented by a mesh stored as arrays.

I suggest a staged approach to implementation. Features to be implemented eventually:

  • NumericArray atom
  • NumericArray builtin
  • Normal
  • NumericArrayType, NumericArrayQ
  • Equal, Length, ByteCount
  • First, Last, Part, Take, Drop

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions