Fwd: Vector operations on datatypes in Tensor library...

Dear All, I see that Tensor library is used in OpenGL, OpenVG and few other libraries. Is there any plan to make vector operations available? [E.g. dot and cross product, vector projection and rejection.] Would you accept a patch, or would you recommend making another library? (Say Tensor-Operations:Data.Tensor.Operations.) For now they are included in AC-Vector package that uses a different type, which leads to impedance mismatch and unnecessary copying. I already contacted the maintainer of AC-Vector package, but got no answer to this problem so far. -- Best regards Michal -- Pozdrawiam Michał

Hi,
the vect library: http://hackage.haskell.org/package/vect
and its OpenGLl companion: http://hackage.haskell.org/package/vect-opengl
were written specifically for doing computer graphics. It probably contains
all vector/matrix operations you need. If this is not the case, I'm happy
to hear suggestions.
I don't think there is a better alternative at the moment (definitely
nothing close in coverage of functionality).
(disclaimer: I'm the author of these)
Historical note: The Tensor package was born because the original author of
the OpenGL package felt that it makes sense to make it separate from the
big OpenGL package. He planned a serious refactoring/rewrite of the OpenGL
package. However, he seems to have disappeared since.
Balazs
On Sun, Mar 3, 2013 at 2:26 PM, Michal J Gajda
Dear All,
I see that Tensor library is used in OpenGL, OpenVG and few other libraries. Is there any plan to make vector operations available? [E.g. dot and cross product, vector projection and rejection.]
Would you accept a patch, or would you recommend making another library? (Say Tensor-Operations:Data.Tensor.Operations.)
For now they are included in AC-Vector package that uses a different type, which leads to impedance mismatch and unnecessary copying.
I already contacted the maintainer of AC-Vector package, but got no answer to this problem so far. -- Best regards Michal
-- Pozdrawiam Michał _______________________________________________ HOpenGL mailing list HOpenGL@haskell.org http://www.haskell.org/mailman/listinfo/hopengl

Hi Balazs, That sounds nice, but is there any timeline for replacing types used by current version of OpenGL by those in vect? Since as far as I understand, vect-opengl gives just typecasts, and thus doesn't really address a problem of using many different Vector/Vertex types in place of one, and requiring typecasts. Thus we have AC-Vector that serves similar purpose as vect (and probably few more similar packages, like hmatrix.)
the vect library: http://hackage.haskell.org/package/vect and its OpenGLl companion: http://hackage.haskell.org/package/vect-opengl
were written specifically for doing computer graphics. It probably contains all vector/matrix operations you need. If this is not the case, I'm happy to hear suggestions.
I don't think there is a better alternative at the moment (definitely nothing close in coverage of functionality). (disclaimer: I'm the author of these)
Historical note: The Tensor package was born because the original author of the OpenGL package felt that it makes sense to make it separate from the big OpenGL package. He planned a serious refactoring/rewrite of the OpenGL package. However, he seems to have disappeared since. -- Best regards Michal

No, there is no such plan to replace the OpenGL types by the vect types.
However, with vect, you don't really have to use the OpenGL types at all,
at least in normal circumstances.
Yes, AC-Vector is similar, but vect is older, more mature, and has *much*
more functionality.
hmatrix is a very different library: It is intended for large-scale linear
algebra (based on the scientific libraries BLAS, LAPACK, GSL). vect (and
AC-Vector) is intended specifically for low-dimensional (up to 4
dimensions) linear algebra (and vect is tailored specifically for
graphics). vect is also completely standalone (no dependencies), as opposed
to hmatrix.
Balazs
On Sun, Mar 3, 2013 at 6:10 PM, MIMUW
Hi Balazs,
That sounds nice, but is there any timeline for replacing types used by current version of OpenGL by those in vect? Since as far as I understand, vect-opengl gives just typecasts, and thus doesn't really address a problem of using many different Vector/Vertex types in place of one, and requiring typecasts.
Thus we have AC-Vector that serves similar purpose as vect (and probably few more similar packages, like hmatrix.)
the vect library: http://hackage.haskell.org/**package/vecthttp://hackage.haskell.org/package/vect and its OpenGLl companion: http://hackage.haskell.org/** package/vect-opengl http://hackage.haskell.org/package/vect-opengl
were written specifically for doing computer graphics. It probably contains all vector/matrix operations you need. If this is not the case, I'm happy to hear suggestions.
I don't think there is a better alternative at the moment (definitely nothing close in coverage of functionality). (disclaimer: I'm the author of these)
Historical note: The Tensor package was born because the original author of the OpenGL package felt that it makes sense to make it separate from the big OpenGL package. He planned a serious refactoring/rewrite of the OpenGL package. However, he seems to have disappeared since. -- Best regards Michal
participants (3)
-
Balazs Komuves
-
Michal J Gajda
-
MIMUW