MohammadAhmed 279 Report post Posted July 21, 2012 hello every one. I had asked some one about linear algebra book to understand math in games but he says that you don't want that book you need geometric algebra so: what is geometric algebra and how it relates to game? what is computational geometry and how it relates to game ? how geometric algebra and computational geometry aid game development? I am a bit confused since I am not computer science student ,But I had good background in 3d graphics and game programming and development in general good but math side especially those relate to computation and algebra make me confused. At last any good books for both geometric algebra & computational geometry for beginners and dose they need other prerequisites books ? sorry for lot questions 0 Share this post Link to post Share on other sites
Krohm 5033 Report post Posted July 21, 2012 [quote name='mrmohadnan' timestamp='1342863969' post='4961618'][list=1] [*]what is geometric algebra and how it relates to game? [*]what is computational geometry and how it relates to game ? [*]how geometric algebra and computational geometry aid game development? [/list] [/quote][list=1] [*]You probably want to use the term "linear algebra" instead or "vector algebra" (vector spaces are referred as "linear spaces" in formal math). From a 10,000 ft view, linear algebra is just typical algebra, extended in multiple dimensions. However, it hides some interesting details such as matrix properties and manipulation or the fact that [font=courier new,courier,monospace]dot(u,v) = cos(AngleBetween(u, v)) * len(u) * len(v)[/font]. Geometric algebra, as introduced by the wiki page appears to be rubbish for computer usage. [*]Computational Geometry? It appears the [url="http://en.wikipedia.org/wiki/Computational_geometry"]wiki page[/url] is excellent resource. In general, you don't need to care much about those things, as libraries are here to help you although you must understand the concepts involved to avoid relying on assumptions which does not hold true. [*]They help game development in the same way arithmetics help you understanding how many months you need to work to buy a new car. It's the basic rules. Of the two, understanding linear spaces is very important, while you can focus less on computational geometry out of your picture for a while. [/list] 2 Share this post Link to post Share on other sites
apatriarca 2365 Report post Posted July 21, 2012 Computational geometry and geometric algebra are two very different fields and they have basically nothing to do with each other. Computational geometry, as the name suggest, is an applied maths field whose objective is to come up with algorithms to solve geometric problems. Examples of problems solved by this field can be finding the convex hull of a set of points or finding intersections or .. You probably already know some of these algorithms and it's probably a good field to know. I have read [url="http://maven.smith.edu/~orourke/books/compgeom.html"]this book by O'Rourke[/url]. He has also written a [url="http://press.princeton.edu/titles/9489.html"]new book recently which you may find interesting[/url]. Another good book is [url="http://www.cs.uu.nl/geobook/"]this book by de Berge at al[/url]. Geometric algebra is, as far as I know, a generalization of linear algebra where higher dimensional vectors and new operators are defined. This isn't a really important field. It probably has its usage, but you can probably live without that. I do not know any book, but you can find several information by searching this keyword in Google. 1 Share this post Link to post Share on other sites
MohammadAhmed 279 Report post Posted July 21, 2012 (edited) thanks krohm , apatriarca . I know linear algebra (vectors , matrices , operations on them ....) I know this material well it's linear algebra , so as both of you says it's similar to Geometric algebra so I should not spend much time to learn it as I know basis (vectors , matrices , operations on them ....) is this right ?? and I should go for computational geometry as it's the best one for me now?? as I understand, computational geometry used to define good algorithms not for AI , Graphics but for geometry (lines , points ...etc) is this right ??! what make me post this topic is that I had bought real-time collision detection book and it's heavily require (algorithims , computational geometry ) also another AI book which require heavily understanding of algorithims and while I am searching in google they says that computational geometry is very good for algorithims this is the story !! thanks apatriarca for books , what is computational geometry prerequisites books( i think it's data structure,Algorithims)? Edited July 21, 2012 by mrmohadnan 0 Share this post Link to post Share on other sites
alvaro 21272 Report post Posted July 21, 2012 I don't know where you heard the term "Geometric Algebra", but you probably heard wrong. Algebras are important structures in several areas of Math and Physics, and one uses them indirectly in video-game programming for things like defining the cross product, but it's not the language that video-game programmers use, so you can safely ignore it. Linear Algebra is very important, and you seem to know the basics already. Computational Geometry is a large field, and I am sure parts of it are relevant to some video-game programmers, but not most. 1 Share this post Link to post Share on other sites
apatriarca 2365 Report post Posted July 21, 2012 The prerequisites of computational geometry depends on the geometric problem you are trying to solve. The algorithms which are most relevant to videogame programmers generally only requires knowledge of data structures, algorithms, linear algebra and some basic discrete geometry and combinatorics. Not all algorithms are relavant to videogame programming and you can probably look for the relevant ones when trying to solve the particular problems they solve. There exists libraries who implement most of these algorithms anyway.. 2 Share this post Link to post Share on other sites
MohammadAhmed 279 Report post Posted July 21, 2012 (edited) thanks alvaro and thanks again apatriarca [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] ok 1: alvaro here where the term geometric algebra is ?? this is the book : Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry book for daniel ?? so the term is used I don't know what he mean !! 2: apatriarca I want to learn real-time collision detection so what is the prerequisites of computational geometry I had to know in order to solve real-time collision detection problem ? Iam so confused right now pls all what I need is that : I am developing AI and Collision system what I need for that what is the prerequisites : (I know linear algebra and discrete math and calculas ....etc I know all these stuff ) so : for example some says you need good understanding of algorithims and computational geometry , but some says you need also good linear algebra not strong because all what I need is some vector and matrix operations ???? so what about members of this website what you know about this ?? Edited July 21, 2012 by mrmohadnan 0 Share this post Link to post Share on other sites
alvaro 21272 Report post Posted July 21, 2012 You are probably ready to learn how to do collision detection already. You may want to make yourself familiar with the [url="http://en.wikipedia.org/wiki/Dot_product"]dot product[/url], and that's about it. 1 Share this post Link to post Share on other sites
MohammadAhmed 279 Report post Posted July 21, 2012 thansk alvaro at last algorithims and computational geometry not important for me to develop AI , Collision detection systems and I should not care about them ! 0 Share this post Link to post Share on other sites
Krohm 5033 Report post Posted July 23, 2012 [quote name='alvaro' timestamp='1342894299' post='4961722'] You are probably ready to learn how to do collision detection already. You may want to make yourself familiar with the [url="http://en.wikipedia.org/wiki/Dot_product"]dot product[/url], and that's about it. [/quote]I disegree. Let's have a talk about convex hull extraction from an arbitrary shape without exceeding an error. Minowski sums. GJK and EPA algorithms. The fact SAT does not work on arbitrary geometry. Acceleration structures for broadphase rejections and narrowphase testing. The only reason to write collision detection at home is to better appreciate ready-to-go libraries IMHO. 0 Share this post Link to post Share on other sites
alvaro 21272 Report post Posted July 23, 2012 I am not sure what you are "disegreeing" with. He was asking about prerequisites. Do you think you need to know anything besides Linear Algebra to understand basic collision detection techniques? Then he is ready to learn. If there are more advanced techniques that require more knowledge, this may motivate him to learn those things. Or perhaps he'll get a flavor for the subject and decide that he doesn't need to understand every single technique out there. To the OP: Don't allow Krohm's ominous list of techniques discourage you. You should learn some basic techniques to get you going (e.g., how to detect if two shapes of certain types intersect (segment-triangle, triangle-triangle, sphere-sphere...) and SAT for basic polyhedral shapes) and then you'll be in a position to learn pretty much anything you need. I wouldn't worry too much about prerequisites. Learn as you have to. 0 Share this post Link to post Share on other sites
Krohm 5033 Report post Posted July 24, 2012 Of course not. I am not trying to discourage anybody. But let's not hide ourselves behind words. Saying that one is ready to learn collision detection after understanding dot product is like saying one is ready to build a nuclear plant after he got the grasps of steel works or concrete buildings. I think your previous statement has a lot of potential to be misunderstood and I wanted to tone it down on purpose. But if we want to hide ourselves behind words then let's say the truth: there's no prerequisite to start learning but will. 1 Share this post Link to post Share on other sites