forked from bartvdbraak/blender
d279e8891f
=========================== - ColaMD moved from OpenNL to extern/. It'll be needed for libmv. Also, it's a bit updated from year 1999 to 2007. Need to be tested for regressions. - Updated bundling script for libmv. Now it uses fuller subset of this library. - Bundled new libmv. - Request from Keir: add command line argument to toggle logging stuff on. Currently, if Blender is launched with -d argument libmv would start printing logging messages. There's no argument to increase verbosity, but there's API in libmv-capi, so it'll be easy to add. - Finally fixed crash when ibuf is acquiring with user=NULL. - Added ActiveClip property to the scene. This clip is used as default value for new match-moving constraints. - Added some flags to Display panel of View3D. Related on displaying match-moving stuff. - Internal change: bundles data moved inside to MovieTrackingTrack. - Initial implementation of 3d reconstruction. - Added constraint "Camera Solver". This constraint is supposed to be used to make camera follow the reconstructed camera path. - Added "reference" property to "Follow Track" constraint. Now object could be "parented" to 2D track position or to 3D bundle position. The very quick guide: To use reconstruction you should have footage with tracked markers, choose two keyframes in "Tracking settings" panel. There should be quite noticeable parallax effect between this two frames. This is used to initialize reconstruction stuff. Camera data (focal length and optical center) should be filled in "Camera Data" panel. Optical center is often the center of image, so it'll be filled in automatically. You should also set values for undistortion (K1, K2 and K3). Currently, there's no any visualization for this parameters and approach of "change value -> reconstruct -> see what've changed" is the only way for now. Libmv team is working on auto-calibration tool, so it should be easier to gather this coefficients in nearest (i hope) future. There's also no scene orientation stuff. Basic workflow: - Open footage. - Set markers and track them. - Fill in camera data and keyframes. - Hit "Solve Camera" button. - Add "Camera Solver" constraint to camera in scene. - Choose movieclip in that constraint. - To see bundles in 3D viewport active clip should be set in scene buttons.
137 lines
5.7 KiB
Plaintext
137 lines
5.7 KiB
Plaintext
LDL Version 2.0: a sparse LDL' factorization and solve package.
|
|
Written in C, with both a C and MATLAB mexFunction interface.
|
|
|
|
These routines are not terrifically fast (they do not use dense matrix kernels),
|
|
but the code is very short and concise. The purpose is to illustrate the
|
|
algorithms in a very concise and readable manner, primarily for educational
|
|
purposes. Although the code is very concise, this package is slightly faster
|
|
than the built-in sparse Cholesky factorization in MATLAB 6.5 (chol), when
|
|
using the same input permutation.
|
|
|
|
Requires UFconfig, in the ../UFconfig directory relative to this directory.
|
|
|
|
Quick start (Unix, or Windows with Cygwin):
|
|
|
|
To compile, test, and install LDL, you may wish to first obtain a copy of
|
|
AMD v2.0 from http://www.cise.ufl.edu/research/sparse, and place it in the
|
|
../AMD directory, relative to this directory. Next, type "make", which
|
|
will compile the LDL library and three demo main programs (one of which
|
|
requires AMD). It will also compile the LDL MATLAB mexFunction (if you
|
|
have MATLAB). Typing "make clean" will remove non-essential files.
|
|
AMD v2.0 or later is required. Its use is optional.
|
|
|
|
Quick start (for MATLAB users);
|
|
|
|
To compile, test, and install the LDL mexFunctions (ldlsparse and
|
|
ldlsymbol), start MATLAB in this directory and type ldl_install.
|
|
This works on any system supported by MATLAB.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
LDL Copyright (c) 2005 by Timothy A. Davis. All Rights Reserved.
|
|
|
|
LDL License:
|
|
|
|
Your use or distribution of LDL or any modified version of
|
|
LDL implies that you agree to this License.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
|
USA
|
|
|
|
Permission is hereby granted to use or copy this program under the
|
|
terms of the GNU LGPL, provided that the Copyright, this License,
|
|
and the Availability of the original version is retained on all copies.
|
|
User documentation of any code that uses this code or any modified
|
|
version of this code must cite the Copyright, this License, the
|
|
Availability note, and "Used by permission." Permission to modify
|
|
the code and to distribute modified code is granted, provided the
|
|
Copyright, this License, and the Availability note are retained,
|
|
and a notice that the code was modified is included.
|
|
|
|
Availability:
|
|
|
|
http://www.cise.ufl.edu/research/sparse/ldl
|
|
|
|
Acknowledgements:
|
|
|
|
This work was supported by the National Science Foundation, under
|
|
grant CCR-0203270.
|
|
|
|
Portions of this work were done while on sabbatical at Stanford University
|
|
and Lawrence Berkeley National Laboratory (with funding from the SciDAC
|
|
program). I would like to thank Gene Golub, Esmond Ng, and Horst Simon
|
|
for making this sabbatical possible. I would like to thank Pete Stewart
|
|
for his comments on a draft of this software and paper.
|
|
|
|
--------------------------------------------------------------------------------
|
|
Files and directories in this distribution:
|
|
--------------------------------------------------------------------------------
|
|
|
|
Documentation, and compiling:
|
|
|
|
README.txt this file
|
|
Makefile for compiling LDL
|
|
ChangeLog changes since V1.0 (Dec 31, 2003)
|
|
License license
|
|
lesser.txt the GNU LGPL license
|
|
|
|
ldl_userguide.pdf user guide in PDF
|
|
ldl_userguide.ps user guide in postscript
|
|
ldl_userguide.tex user guide in Latex
|
|
ldl.bib bibliography for user guide
|
|
|
|
The LDL library itself:
|
|
|
|
ldl.c the C-callable routines
|
|
ldl.h include file for any code that calls LDL
|
|
|
|
A simple C main program that demonstrates how to use LDL:
|
|
|
|
ldlsimple.c a stand-alone C program, uses the basic features of LDL
|
|
ldlsimple.out output of ldlsimple
|
|
|
|
ldllsimple.c long integer version of ldlsimple.c
|
|
|
|
Demo C program, for testing LDL and providing an example of its use
|
|
|
|
ldlmain.c a stand-alone C main program that uses and tests LDL
|
|
Matrix a directory containing matrices used by ldlmain.c
|
|
ldlmain.out output of ldlmain
|
|
ldlamd.out output of ldlamd (ldlmain.c compiled with AMD)
|
|
ldllamd.out output of ldllamd (ldlmain.c compiled with AMD, long)
|
|
|
|
MATLAB-related, not required for use in a regular C program
|
|
|
|
Contents.m a list of the MATLAB-callable routines
|
|
ldl.m MATLAB help file for the LDL mexFunction
|
|
ldldemo.m MATLAB demo of how to use the LDL mexFunction
|
|
ldldemo.out diary output of ldldemo
|
|
ldltest.m to test the LDL mexFunction
|
|
ldltest.out diary output of ldltest
|
|
ldlmex.c the LDL mexFunction for MATLAB
|
|
ldlrow.m the numerical algorithm that LDL is based on
|
|
ldlmain2.m compiles and runs ldlmain.c as a MATLAB mexFunction
|
|
ldlmain2.out output of ldlmain2.m
|
|
ldlsymbolmex.c symbolic factorization using LDL (see SYMBFACT, ETREE)
|
|
ldlsymbol.m help file for the LDLSYMBOL mexFunction
|
|
|
|
ldl_install.m compile, install, and test LDL functions
|
|
ldl_make.m compile LDL (ldlsparse and ldlsymbol)
|
|
|
|
ldlsparse.m help for ldlsparse
|
|
|
|
See ldl.c for a description of how to use the code from a C program. Type
|
|
"help ldl" in MATLAB for information on how to use LDL in a MATLAB program.
|