How, finally i figured out how to make the library and it worked :). Attached in zip file.
Read me contains all information :)
http://www.geocities.com/achillis_sw...library1.0.zip
enjoy :)
Printable View
How, finally i figured out how to make the library and it worked :). Attached in zip file.
Read me contains all information :)
http://www.geocities.com/achillis_sw...library1.0.zip
enjoy :)
feels good to finish a project doesnt it? if your serious about it and want to keep working on it you might consider adding a license to it.
i took a quick look at the header.. i dont think you need an 'about' function, i doubt it would ever be used, but this is of course not my project. (however it COULD be since theres no license or copyright! :p)
also, instead of the .txt file for documentation, i would suggest making a simple HTML page, or even sticking with a .txt file but changing the layout, check other pages for how they describe a class, for example: http://www.cplusplus.com/reference/i.../stringstream/
its much easier than using the FAQ-style documentation you have there.
just some constructive criticism!
If feels good?? It feels greaaaaaaaaaatt
And don't worry about the doc for now :) I will get one on my website as soon as i release stable version :)
how can get license for it btw :)
thank you for your help indeed :)
i dont know anything about applying the license or of many variations of licences, but there are many. one popular one is GPL, check it out: http://www.gnu.org/copyleft/gpl.html. or search around for another licences that you agree with.
ohh it looks hard. I think i'm gonna stick to "about" :S
thank alot for your help :)
You could make it much more simple in terms of memory management. It would be a lot safer as well.
Code:template <class T>
class Matrix
{
public:
Matrix();
// ...
private:
std::vector< std::vector<T> > m_Matrice;
};
i will consider that . I'm in touch with Boost.org, and it seemed from their constant emails that they are interested :)
I'm looking for the stable version that will have more features and more efficient memory management :)
Hi, I released the latest version of the library + full documentation :)
it has some cool new features :) :
+Multiplication
+Addition
+Subtraction
+Getting rows
+Getting columns
http://www.nightvisiongames.com/matrixlib.htm
give it a shot and give me feed back :)
for an official site, check out sourceforge.net or freshmeat.net. they are sites to promote usually free or open source software. try and see if there is a section relevant to your project and upload it. it would be better and would be the central source of news, documentation, and downloads.
edit: your link isnt loading for me
ok, i uploaded the zipped file, it has zipped file of library + header + documentation in a website :)
http://www.geocities.com/achillis_sword/web.zip
enjoy :)
What is the point of matrices? I know they are used a lot, but why?
Edit: Congratulation with finishing this off :)
Fast 3d graphics is basically just raster graphics with a -lot- of matrix operations going on in the background.
Every rotation, every transformation, every scalar operation is a matrix.
Every triangle is a row a different matrix.
try the features of this library :)
First, well done on releasing your first project. next some constructive :p criticism:
- first you absolutely must include some more info in your header file. At the very least, you should put author, date, revision, copyright and warranty disclaimer. Theoretically I could use this code and if it didn't work, I could sue you. (it's not very likely but you should protect yourself). I'd recommend the boost licence, but there are others. to use it you just need to add
Code:// Copyright Hussain Hani 2007.
// Distributed under the Boost Software License, Version 1.0. (See
// http://www.boost.org/LICENSE_1_0.txt)
- why is matrix restricted to floats? you could make the library a template and then users could have matrices of doubles/ints/complex numbers/whatever.
- what happens if I create a Matrix and use it without calling build? will it fail? if so, wouldn't it make more sense to require rows and columns as arguements to the constructor?
- how does print() work? the normal c++ convention would be to make an overloaded '<<' operator. that would work with printing and with files (and any other stream)
- if you're overloading the +, - and * ops it's customary to overload +=, -= and *= too. In fact you should overload those first and then op+ is simply
Code:Matrix operator+(const Matrix& rhs)
{
Matrix result(*this);
result += rhs;
return result;
}
- const correctness - print(), getr(), getc() and about() should be const. op+, - and * should return const Matrix. this prevents accidental mistakes like (m1 * m2 = m3), which is legal but useless in your code.
That's a few points from reading the header. If you want to post the source, I'll have a look at that too. Finally, wrt to boost, they won't accept a closed source library, so you'll have to provide the source. Plus I don't think the library is up to boosts standards yet.
Sorry if that's a bit harsh. Please take the criticism in the spirit in which it's intended, which is to help you improve the library. It's a good first attempt, but it needs work.
and some more: i dont understand why people have to go all out with colors in documents. it happens often by my professors at university, too. i would recommend changing your .htm documentation to simple white background with black text. i dont see a need to make it look like a Doom game!