Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I need to plot my simulation (which I do in a C++ application) for use in a Latex document (so I would prefer some vector output like EPS). My function is of 2 arguments, so I am after a 3D plot, ideally with colouring indicating the function value (similar to what Mathematica does). Could anyone recommend any library?
Why not use gnuplot? I use it for this sort of thing. If you really need a library, then I'd look at gnuplot++
MathGL have large set of 1D (curves), 2D (surfaces) and 3D (volume) plot types. It also have export to EPS and parse some of TeX formulas.
Take a look at QwtPlot3d (http://qwtplot3d.sourceforge.net/), if you can use Qt in your project.
(Basically it is OpenGL rendering library, but AFAIK it has ability to produce EPS output)
PS.I had never used it, but have experience in QwtPlot (related 2d ploting library), and it is pretty well designed and flexible library.
Edit:
From features list of this library:
"..."
"- Vector output (PostScript, EPS and PDF) via gl2ps"
"..."
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
It seems there are some libraries including CGAL to generate meshes from a 2D or 3D model.
Question: In C++ environment, what is the best way to obtain a set of regular nodes to represent an object that is given by a 3d file format such as the STL?
To explain the question, let me provide an example. In a 2D case, a square can be represented by the set of '1's and the empty space can be by the set of '0's.
Is there any C++ library that can deal with this task?
00000000000000
00000111000000
00000111000000
00000111000000
00000000000000
Thank you in advance.
CGAL it self is already a very good option, if you can match the licenses (many modules are GPL or must pay a fee for proprietary use). This answer shows an example of use.
Another complete library is the Point Clouds Library (PCL) (license compatible with commercial). If your input data is ordered (like the one shown in the question) you can use the pcl::OrganizedFastMesh class.
If your data is un-ordered,
then a pcl::GreedyProjectionTriangulation may be better.
Finally, if using PCL, you can save your triangle mesh to STL using [pcl::io::savePolygonFileSTL](http://docs.pointclouds.org/1.7.0/group__io.html#ga3223bdca3003262efbd8c475d4ab7cc6].
As a final note, better than trying to find a library that exactly matches your input format, find a library that can generate the result you want and then accommodate your input and output to it through convertors. Of course, if your input doesn't provide the required data, such as normals, then you must either compute it previously or search for another method ;).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I am looking for a free C++ conditional random field (CRF) implementation but not for text processing.
There are bunch of cool implementations:
CRFsuite (for text processing)
CRF++ (for text processing)
JGMT (Matlab - MEX not C++)
There are other packages like Darwin and HCRF with no usage examples in C++.
I'm wondering if anybody know any C++ CRF library other than what I mentioned above or know any example on how to setup and use Darwin or HCRF?
DGM is a very poserful but simple-to use CRF library, written on C++11. It was designed especially for image processing and includes many usage examples in tutorials.
It also includes the DenseCRF, mentioned in other answer.
DenseCRF is a great library that performs dense conditional random field (fully-connected CRF) very efficiently. The package comes with an easy to understand C++ demo and some examples. It is very fast and produces promising results on image data.
There is DGM C++ library implementing CRFs for image classification: http://research.project-10.de/dgm
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm looking for a library I can use for C++ or MATLAB so that I can do some rigid-body and particle simulations which I can then render and view.
I'd like to be able to use a library to draw particles or rigid bodies and then programmatically specify rotation, translation, etc.
Additionally, I'd like for the library to have the smallest learning curve possible.
Thanks in advance for your help!
Use Open Scene Graph in c++:
http://www.openscenegraph.org/projects/osg
That library wraps openGL and allows great rendering and has some really good tutorials.
http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials
You will be able to define objects positions by their transform from the 0,0,0 frame allowing to to move objects easily in a physics emulation style.
Hope this helps.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I'm looking for a sample code.
It's 3D modeling using camera.
like this: http://mi.eng.cam.ac.uk/~qp202/my_papers/BMVC09/
Hopefully, I want to use c or c++.
Thanks.
openCv is probably the easiest place to start.
There are a few chapters about creatign scenes from stereo pairs (which is a bit easier) in the opencv book otherwise 3d models from image understanding is still possible - but a lot harder mathematically.
You may want to check out OpenCV for computer vision functionality and OpenGL for 3D graphics. Both are widely used APIs with plenty of online documentation and examples, both official and third-party.
You could try contacting the author of the paper to see if he's willing to release his source code to you. It looks like he used CGAL (for the Delauny Tetrahedralisation) so if you go that route, you'll need to get a copy of that.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Can anyone point out a good C++ library that can do 2D numerical integration. It needs to be able to accept a 2D array of known values, and the spacing between the points can be assumed to be constant (for a start).
It is preferable that it have a license which allows modifying the code as needed.
It's actually a C library, but if the GPL licensing terms work for you try:
http://www.gnu.org/software/gsl/
You will want to check out the Monte Carlo integration options outlined here:
http://www.gnu.org/software/gsl/manual/html_node/Monte-Carlo-Integration.html
This Fortran library is easy to link to from C++ and is in public domain:
http://gams.nist.gov/cgi-bin/serve.cgi/Module/CMLIB/ADAPT/2967
It's single precision but it's quite easy to modify the sources (get "full sources" and go through every function) to switch to double precision.
http://itpp.sourceforge.net/current/
Try this. It can do what you ask for and more! And you can modify the code as much as you like.
I've read somewhere that you can extract libraries out of GNU Octave's code and use the C++ code in your own applications. I'm not sure if that's an easy task, but you can give it a try if you have the time.