ganovelli
f2ed76753c
added inclusion of functional
2008-09-22 09:10:58 +00:00
granzuglia
b9ce07204e
Minor changes according to new Point<N,S> definition.
2008-09-10 14:06:13 +00:00
Paolo Cignoni
e8c7472dca
Corrected name of template type S in UndistortedToDistorted() to avoid the shadowing between S as type and S as variable name.
2008-09-09 17:41:33 +00:00
matteodelle
c94dbdfdaf
2008-09-09 09:22:55 +00:00
matteodelle
0c2491e1b4
new functions to handle distortion: should not affect previous stuff. tested but still error prone...
2008-09-09 09:20:48 +00:00
Federico Ponchio
12d5a0e322
Removed compile warning by initializing imax to 0 in Decompose().
2008-08-27 14:33:20 +00:00
Paolo Cignoni
7c66288207
changed a RotateRad to the new SetRotateRad
2008-08-14 10:02:07 +00:00
ganovelli
3462f6a8c2
changed from Rotate (in degrees) to SetRotateRad and SetRotateDeg (the same as in Matrix44.h)
...
Added return type to the functions SetXXX
2008-08-12 17:31:11 +00:00
Paolo Cignoni
9e214da6ff
Re-inserted the return statement in the Invert() function that was erroneously removed with the previous commit.
2008-08-11 12:56:37 +00:00
Paolo Cignoni
65320e40a7
Added a clarifying comment on the Invert versus Inverse issue
2008-08-11 08:04:19 +00:00
ganovelli
1e94f7cf46
Add covariance matrix of a set of points
2008-08-07 18:33:23 +00:00
Paolo Cignoni
dde42be7ea
Added new line at the end of file
2008-08-04 15:55:53 +00:00
Paolo Cignoni
e4e5507757
Added missing includes
2008-08-04 15:38:10 +00:00
Paolo Cignoni
c46f5f2435
removed a version of the ComputeRigidMatchMatrix that take in input a weight vector. User should use ComputeWeightRigidMatchMatrix directly
2008-07-23 22:50:15 +00:00
Paolo Cignoni
f61a69c94f
in "ComputeRigidMatchMatrix(std::vector<ScalarType> weights,Matrix44x &res,std::vector<Point3x> &Pfix,std::vector<Point3x> &Pmov)" I changed:
...
Quaterniond qtmp; ----->to------> Quaternionx qtmp;
Point3d tr; ----->to------> Point3x tr;
2008-07-23 17:30:30 +00:00
Paolo Cignoni
6a4631b94b
1) in "ComputeWeightedRigidMatchMatrix" I changed:
...
std::vector<double> weights ----->to------> std::vector<ScalarType> weights
tmp.Trasp(); ----->to------> tmp.Transpose();
QQ.Zero(); ----->to------> QQ.SetZero();
RM.Zero(); ----->to------> RM.SetZero();
ccm.Trasp(); ----->to------> ccm.Transpose();
QQ.Jacobi(d,v,nrot); ----->to------> Jacobi(QQ,d,v,nrot);
q.RotMatrix(Rot); ----->to------> q.ToMatrix(Rot);
tr= (bfix - Rot.Apply(bmov)); ----->to------> tr= (bfix - Rot *bmov);
Trn.Translate(tr); ----->to------> Trn.SetTranslate(tr);
2) in "ComputeRigidMatchMatrix" I changed:
return ComputeRigidMatchMatrix(res,Pfix,Pmov,qtmp,tr); ----->to------> return ComputeWeightedRigidMatchMatrix(res,Pfix,Pmov,weights,qtmp,tr);
2008-07-23 17:19:51 +00:00
Federico Ponchio
825483d177
Rationalized ToMatrix and FromMatrix (and improved algorithm).
2008-07-21 13:38:55 +00:00
Federico Ponchio
89973a1a14
Extrinsics in Shot use Matrix44 not Quaternion. therefore ToMatrix was correct.
...
Rolling back.... sigh.
2008-07-14 13:42:22 +00:00
Federico Ponchio
844be84004
GetCol3 -> GetColumn3 (this part needs to be tested!)
2008-07-14 13:28:27 +00:00
Paolo Cignoni
a20902efd8
VERY IMPORTANT CHANGE - Could break the compilation of a lot of code around.
...
SetRotate of matrix44 has gone. Now only the explicit version SetRotateDeg and SetRotateRad are available. It was too error prone having something with the OpenGL syntax but using radiant instead the OpenGL degrees
2008-07-13 05:37:00 +00:00
ganovelli
3d21fcba1d
removed dependency on qt
2008-06-23 14:20:52 +00:00
Paolo Cignoni
8a6dbded39
Corrected wrong license information in the header
2008-05-28 23:29:23 +00:00
Paolo Cignoni
45ed8cb000
Capital f in Factorial
2008-05-28 08:59:40 +00:00
Paolo Cignoni
a152d0e208
First release
2008-05-28 08:55:04 +00:00
Paolo Cignoni
0a0436a13c
Removed $Log$ macro
2008-05-28 08:54:33 +00:00
Paolo Cignoni
4ee18ed103
First release
2008-05-28 08:53:30 +00:00
Paolo Cignoni
2caf6034f3
Added SQRT_TWO
2008-05-28 08:51:32 +00:00
Paolo Cignoni
399277570b
First release
2008-05-16 10:36:35 +00:00
Federico Ponchio
9cb9c1dace
Fixed Axis. Due to quaternion changes.
2008-04-11 12:22:32 +00:00
ganovelli
b457b0c978
removed printf
2008-03-17 11:36:37 +00:00
Paolo Cignoni
04d00284a5
added missing include limits
2008-03-06 10:45:39 +00:00
Paolo Cignoni
051c612aba
Heavily refactored the whole structure.
...
Some interfaces have been changed. Be careful.
2008-03-05 11:21:49 +00:00
Paolo Cignoni
d14283e619
added maxcount
2008-02-29 12:15:06 +00:00
Federico Ponchio
82635287c7
Returrned to s*r*t decomposition.
2008-02-24 18:03:03 +00:00
Federico Ponchio
6b3726ef90
Removed a Transpose due to change in quaternions.h ToMatrix
2008-02-22 18:10:39 +00:00
Federico Ponchio
8cc9a085a7
Changed to reflect quaternion toMatrix inversion.
2008-02-22 17:41:48 +00:00
Federico Ponchio
84760ee1f2
Fixed determinantt problem and quaternion problem.
2008-02-22 17:40:27 +00:00
Federico Ponchio
2b19c6c313
ToMatrix returned the inverse matrix. OUCH.
...
This affects trackball and shot.h
Added a const also.
2008-02-22 17:39:59 +00:00
Federico Ponchio
e4c62fec6d
refixed bug in FromMatrix
2008-02-21 11:34:08 +00:00
Federico Ponchio
a32c8842ef
fixed bug in FromMatrix
2008-02-21 10:57:59 +00:00
Paolo Cignoni
652f27f40f
corrected bug in FromMatrix
2008-02-21 10:30:18 +00:00
ganovelli
7ddf584fac
useless matrix multiplication removed
2008-01-03 17:42:03 +00:00
ganovelli
a7e016e1ef
added RandomRotation
2008-01-03 17:40:17 +00:00
Paolo Cignoni
224e50a2bd
Added missing include guards
2007-12-02 10:06:47 +00:00
Marco Di Benedetto
da56c33f36
Added missing #include <algorithm>
2007-11-24 20:41:00 +00:00
Paolo Cignoni
3f18e449dc
added ComputeSimilarityMatchMatrix
2007-11-17 15:41:42 +00:00
Paolo Cignoni
68effd0f7a
Added IsNAN
2007-07-24 07:09:17 +00:00
Paolo Cignoni
787cfbe93f
first version, ported from the internal lib to the open one.
2007-07-13 14:23:56 +00:00
Paolo Cignoni
c26a1aa94b
added a static (unefficient!) identity member
2007-07-13 00:01:47 +00:00
Paolo Cignoni
4dd3dbdbfb
added the missing static Construct() member
2007-07-12 06:42:01 +00:00
Massimiliano Corsini
a522bf6595
add DCM to Euler Angles method (to implement)
2007-07-03 16:07:09 +00:00
Massimiliano Corsini
c99138926d
add DCM to Euler Angles conversion
2007-07-03 16:06:48 +00:00
Paolo Cignoni
7b85798562
added bestmachting normal
2007-05-29 14:01:24 +00:00
Paolo Cignoni
63dccc011a
Moved here from shadevis
2007-05-22 21:21:27 +00:00
Nico Pietroni
85175e7dc4
added RotationMatrix method to calculate rotation matrix along an axis
2007-04-19 14:30:26 +00:00
Nico Pietroni
ac5e8a2143
Added function RotationMatrix
2007-04-07 23:06:47 +00:00
Paolo Cignoni
ae9d8a8535
Solved an issue related to different casting double-float between gcc 3 and gcc 4
2007-03-22 11:07:16 +00:00
Massimiliano Corsini
488287610f
final fix to euler angles transformation
2007-03-08 14:39:27 +00:00
mtarini
c2dcc2798f
added a missing "Quaternion<S>::" in "FromEulerAngles"
2007-02-06 12:24:07 +00:00
Massimiliano Corsini
9659b702f8
fix euler angles computation
2007-02-06 09:57:40 +00:00
Massimiliano Corsini
8b60f2cc35
fix names
2007-02-06 08:54:07 +00:00
Massimiliano Corsini
961c1dfff0
add new ctor (build similarity from euler angles)
2007-02-05 14:17:48 +00:00
Massimiliano Corsini
0bb019d92e
add extrinsic parameters accessors
2007-02-05 14:17:21 +00:00
Massimiliano Corsini
4b5533971a
add from euler angles to rotation matrix conversion
2007-02-05 14:16:33 +00:00
Massimiliano Corsini
fbf770bd7b
add euler angle to quaternion conversion
2007-02-05 13:55:21 +00:00
Nico Pietroni
2d7c1bbdd2
-Used scalar type passed as template argument istead of double to prevent warnings.. in Rotate function
2007-01-29 00:20:25 +00:00
Nico Pietroni
09acf65187
-added some explicit CASTs in order to avoid warning if one use float instead of double as ScalarType
2007-01-29 00:18:20 +00:00
matteodelle
cd277247cc
*** empty log message ***
2007-01-10 17:25:18 +00:00
Nico Pietroni
f8eeaae81f
added explicit cast in function inline float Sqrt(const int v) in order to avoid warnings
2007-01-08 09:23:49 +00:00
Paolo Cignoni
01695ba1d5
Corrected a syntax error detected only by gcc.
...
Corrected the order of initialization in the constructor to match the declaration order
2006-12-21 00:13:27 +00:00
matteodelle
17ebec98c6
minor eroor correction on variable names
2006-12-18 16:02:57 +00:00
Marco Callieri
a344d59446
camera+shot revamp: changed field names to something with more sense, cleaning of various functions, correction of minor bugs/incongruences, removal of the infamous reference in shot.
2006-12-18 09:46:39 +00:00
Paolo Cignoni
5af2209678
Re added typedef Histogramf and Histogramd
2006-11-28 21:29:21 +00:00
Massimiliano Corsini
d179389424
add documentation
...
fix typo
2006-11-28 09:47:42 +00:00
Federico Ponchio
613dcafe3b
just added an #include <matrix33>
2006-11-13 12:53:40 +00:00
Paolo Cignoni
642158fc32
many gcc compiling issues
2006-11-07 17:22:53 +00:00
Paolo Cignoni
e2733d55df
Necessary changes for compilation with gcc 3.4.6. Especially the hash function is a problem
2006-11-07 15:13:57 +00:00
Paolo Cignoni
06047a697d
gcc compiling issues
2006-11-07 11:47:14 +00:00
Paolo Cignoni
ebc0ac52c0
Added two sqrt templates for resolving ambiguity of sqrt(int)
2006-10-13 13:14:50 +00:00
Paolo Cignoni
605c4d2f04
Added a minimum method that uses SVD. Unfortunately it is much much slower.
2006-10-09 20:23:00 +00:00
Paolo Cignoni
a927c50c8d
Added missing typedef for gcc compiing
2006-09-29 08:36:10 +00:00
Paolo Cignoni
4e76390661
Removed some warnings
2006-09-28 22:49:49 +00:00
ganovelli
d1eea25504
added constructor from matrix44 excluding a row and colum
2006-09-25 23:05:29 +00:00
Paolo Cignoni
ac4efc84ef
initial commit
2006-09-21 18:10:05 +00:00
Paolo Cignoni
d8b56cedb1
Added SetIdentity method
2006-09-21 18:09:34 +00:00
Paolo Cignoni
8d63662955
Added const to declarations of the overloaded (operators *).
...
Otherwise the * operator would always attempt to convert any type of data passed as an argument to Point3<TYPE>
2006-09-11 16:11:39 +00:00
Paolo Cignoni
6cc1fb0753
Copy constructor : faster memcpy instead of slow 'for' cycle
...
empty constructor
2006-08-23 15:24:45 +00:00
Paolo Cignoni
5905c197b6
added some typename directives
2006-07-28 12:39:05 +00:00
Paolo Cignoni
68b176d276
Changed the template argument in JacobiRotate and added method for sorting eigenvalues and eigenvectors (SortEigenvaluesAndEigenvectors)
2006-07-24 07:26:47 +00:00
ganovelli
bd2e84521b
toMatrix with matrix33 added
2006-06-22 08:00:26 +00:00
ganovelli
9587cc0350
bug in operator + with MatrixxDig
2006-06-22 08:00:05 +00:00
Paolo Cignoni
3d8bbcc87f
added missing internal prototype to Sort function
2006-05-25 09:35:55 +00:00
Paolo Cignoni
1e8fb101d5
Added initial disclaimer
2006-05-17 09:26:35 +00:00
Paolo Cignoni
179d96b098
Added enum for the sorting strategy of the result in SVD.
2006-05-15 07:36:50 +00:00
Paolo Cignoni
4273322f65
minor change: removed unused vars
2006-05-04 00:09:53 +00:00
Paolo Cignoni
10c513dad8
Added some utility methods (swapping of columns and rows, matrix-vector multiplication)
2006-04-29 10:26:04 +00:00
Paolo Cignoni
26ce24dec3
Added method for sorting the singular values computed by the SingularValueDecomposition procedure
2006-04-29 10:20:52 +00:00
Paolo Cignoni
3ddd189349
changes necessary for gcc 3.4.5 on linux 64bit. Please take note of case-sensitivity of filenames
2006-04-11 08:09:35 +00:00
Paolo Cignoni
462fa9effe
extra includes necessary for compilation of meshlab on AMD 64 with gcc 3.4.5
2006-03-29 09:25:49 +00:00
Paolo Cignoni
5a2ed7b59d
Corrected intialization of flag, must be zero.
2006-01-22 17:01:40 +00:00
Nico Pietroni
cf9fd0ca9f
added operators:
...
operator -= ( const Matrix33Diag<S> &p )
Matrix33 operator - ( const Matrix33Diag<S> &p )
Matrix33 operator + ( const Matrix33 &m )
Matrix33 operator + ( const Matrix33Diag<S> &p )
2006-01-20 16:41:44 +00:00
Marco Callieri
e7b6fd9b9f
in FileWrite, added file closing after finishing
2006-01-12 13:12:54 +00:00
Marco Callieri
abbcfe10a9
corrected UnProject, it's necessary also a ZDepth value to perform inverse projection
2005-12-12 16:53:43 +00:00
Marco Callieri
f6261d2a45
Added Unproject, from 2D local space + Zdepth to 3D camera space. Added ViewportToLocal, inverse of LocalToViewport
2005-12-12 16:52:55 +00:00
ganovelli
7229c77576
added diagonal matrix, outer produce and namespace
2005-12-12 11:25:00 +00:00
ganovelli
dca1252d91
missing type added
2005-12-12 11:24:09 +00:00
Marco Callieri
1257fd3a4a
added commodity function ProjectWorldtoViewport() to obtain directly pixel indices without calling two separate function of two different objects
2005-12-07 10:57:52 +00:00
Marco Callieri
ee3d9a28e3
in Shot<S>::Axis changed Row3 to GetRow3 . row3 was the old method name of Matrix44
2005-12-02 16:14:35 +00:00
Paolo Cignoni
2d58480432
Corrected bug in == and != Matrix44 operators
2005-12-02 09:46:49 +00:00
Paolo Cignoni
6d5c0cd0f7
Removed excess ';' from end of template functions, for gcc compiling
2005-12-01 01:03:37 +00:00
ganovelli
29208970f0
added access to similarity (just for symmetry with Camera() )
2005-11-23 14:18:35 +00:00
ganovelli
63b79da781
Empty constructor added, untemplated class Shotf and Shotd added
...
usage: Shotf myShot;
corrected member access rights
2005-11-23 11:58:52 +00:00
ganovelli
43b85e9405
created
2005-11-18 14:46:23 +00:00
Paolo Cignoni
0f7d072b0f
Changed Invert -> FastInvert for the function based on the maple expansion
2005-11-14 10:28:25 +00:00
Federico Ponchio
cf9d5743fb
Added newline at end of file (tired of stupid warnings...)
2005-10-24 09:20:28 +00:00
Federico Ponchio
a06ae78c6e
Changed a Zero in SetZero in WeightedCrossCovariance() (again)
2005-10-13 15:45:23 +00:00
Federico Ponchio
5008465972
Added IsOrtho...
2005-10-12 16:43:32 +00:00
Nico Pietroni
7580221931
corrected sintax error on singular value decomposition
2005-10-05 17:06:12 +00:00
Paolo Cignoni
5ef378ec5a
add define header
2005-10-03 16:19:44 +00:00
ganovelli
44e86f5a9b
added inverse by SVD
2005-09-29 09:53:58 +00:00
Paolo Cignoni
f8aafdd20d
removed signed/unsigned warning
2005-09-16 11:51:23 +00:00
Paolo Cignoni
2c5c27e3fd
First working version
2005-07-28 06:34:03 +00:00
Paolo Cignoni
44eb40324f
small gcc-related compiling issues (typenames,ending cr, initialization order)
2005-07-11 13:16:34 +00:00
Paolo Cignoni
bd4e3b01b0
Removed default values from the implementation of SetCavalieri and SetIsometric
2005-07-01 10:55:42 +00:00
Paolo Cignoni
494f6ccff7
aggiunto:
...
- l' enum dei tipi PERSPECTIVE, ORTHO, ISOMETRIC, CAVALIERI
- inline void SetCavalieri(...)
- inline void SetIsometric(...)
- modificato
- void SetOrtho( .. )
2005-06-29 14:59:03 +00:00
ganovelli
42831cd32b
added Matrix44Diag
2005-06-28 17:42:47 +00:00
Paolo Cignoni
88792bfc33
Completed Shear Matrix code and comments,
...
Added use of swap inside Transpose
Added more complete comments on the usage of Decompose
2005-06-17 05:28:47 +00:00
Paolo Cignoni
8d51af2c92
Corrected small bug in SetRange (H was resized to n instead of n+1)
2005-06-17 00:54:55 +00:00
ganovelli
ccbfc728cb
added include of algorithm
2005-06-14 14:27:00 +00:00
Paolo Cignoni
fe5d343fd0
Added Various missing functions: SetShearXY, SetShearXZ, SetShearYZ, SetScale for point3 and Decompose
...
Completed *=(scalar); made uniform GetRow and GetColumn
2005-06-10 15:04:12 +00:00
Paolo Cignoni
c379550e2e
Added include assert.h and cast to ScalarType for a pow in SetRange() function.
2005-06-10 14:59:39 +00:00
Paolo Cignoni
bebc58f9b1
Changed a Zero in SetZero in WeightedCrossCovariance()
2005-06-10 14:51:54 +00:00
Nico Pietroni
47b654861c
Added Norm Function
2005-06-10 11:46:49 +00:00
Paolo Cignoni
4ae07c24c1
Added typedef Histogramf and Histogramd
2005-06-09 14:19:55 +00:00
ganovelli
b14537dcff
changed from Matrix33Ide to MatrixeeDiag
2005-06-07 14:29:56 +00:00
Federico Ponchio
6c1fdb3066
Added fabs() to variance, which can sometime be negative in case
...
of rounding errors (and sqrt chokes on it).
2005-06-07 09:37:33 +00:00
Paolo Cignoni
17fb55c9e0
Added Percentile and removed small bug in Add
2005-06-07 07:44:08 +00:00
ganovelli
5aea057836
Matrix33Ide Added: it implements diagonal matrix. Added only operator += in Matrix33
2005-05-23 15:05:26 +00:00
ganovelli
c3db21bd39
tolto il const a interpolate
2005-04-17 21:57:03 +00:00
Federico Ponchio
59c1559e59
Typo: Point3 -> Point4
2005-04-15 09:19:50 +00:00
Federico Ponchio
f766cf6773
*** empty log message ***
2005-04-14 17:23:08 +00:00
Federico Ponchio
2328e5b1e4
*** empty log message ***
2005-04-14 11:35:09 +00:00
Nico Pietroni
9cb3c240e6
changed swap to math::Swap in Traspose Function
2005-04-11 14:11:22 +00:00
Paolo Cignoni
1363b8c4a8
Added missing functions Avg, rms etc, now fully (almost) functional
2005-04-04 10:48:35 +00:00
Paolo Cignoni
825c3b9a0c
minor changes to comply gcc compiler
2005-03-30 17:18:13 +00:00
Paolo Cignoni
f8fb041641
minor bugs fixed
2005-03-18 16:31:02 +00:00
Paolo Cignoni
4c1f6e73b6
removed small gcc compiling issues
2005-03-18 00:14:40 +00:00
Paolo Cignoni
27694f7a67
Added operator*=( std::vector<PointType> ...) to apply a matrix to a vector of vertexes (replacement of the old style mesh.Apply(tr).
2005-03-15 11:40:56 +00:00
Paolo Cignoni
c272706c18
Added missing include<vector>
2005-03-14 09:23:40 +00:00
Paolo Cignoni
b01f11a93e
Corrected declaration and some syntax errors in GetFrustum
2005-02-22 10:57:58 +00:00