{"action":"created","issue":{"url":"https://api.github.com/repos/bulletphysics/bullet3/issues/564","repository_url":"https://api.github.com/repos/bulletphysics/bullet3","labels_url":"https://api.github.com/repos/bulletphysics/bullet3/issues/564/labels{/name}","comments_url":"https://api.github.com/repos/bulletphysics/bullet3/issues/564/comments","events_url":"https://api.github.com/repos/bulletphysics/bullet3/issues/564/events","html_url":"https://github.com/bulletphysics/bullet3/issues/564","id":133863319,"number":564,"title":"are there some books about this physics engine for learning ?","user":{"login":"btrace","id":16861816,"avatar_url":"https://avatars.githubusercontent.com/u/16861816?v=3","gravatar_id":"","url":"https://api.github.com/users/btrace","html_url":"https://github.com/btrace","followers_url":"https://api.github.com/users/btrace/followers","following_url":"https://api.github.com/users/btrace/following{/other_user}","gists_url":"https://api.github.com/users/btrace/gists{/gist_id}","starred_url":"https://api.github.com/users/btrace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btrace/subscriptions","organizations_url":"https://api.github.com/users/btrace/orgs","repos_url":"https://api.github.com/users/btrace/repos","events_url":"https://api.github.com/users/btrace/events{/privacy}","received_events_url":"https://api.github.com/users/btrace/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-16T02:12:42Z","updated_at":"2016-02-16T16:41:34Z","closed_at":null,"body":"hi! i am a c++ programmer and very interesting in physics engines, but not good at physics theory about how to write an engine, so it is difficult for me understanding the algorithms. are there some books about this physics engine ? sorry for my poor english :-D"},"comment":{"url":"https://api.github.com/repos/bulletphysics/bullet3/issues/comments/184760630","html_url":"https://github.com/bulletphysics/bullet3/issues/564#issuecomment-184760630","issue_url":"https://api.github.com/repos/bulletphysics/bullet3/issues/564","id":184760630,"user":{"login":"aricd","id":11964643,"avatar_url":"https://avatars.githubusercontent.com/u/11964643?v=3","gravatar_id":"","url":"https://api.github.com/users/aricd","html_url":"https://github.com/aricd","followers_url":"https://api.github.com/users/aricd/followers","following_url":"https://api.github.com/users/aricd/following{/other_user}","gists_url":"https://api.github.com/users/aricd/gists{/gist_id}","starred_url":"https://api.github.com/users/aricd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aricd/subscriptions","organizations_url":"https://api.github.com/users/aricd/orgs","repos_url":"https://api.github.com/users/aricd/repos","events_url":"https://api.github.com/users/aricd/events{/privacy}","received_events_url":"https://api.github.com/users/aricd/received_events","type":"User","site_admin":false},"created_at":"2016-02-16T16:41:34Z","updated_at":"2016-02-16T16:41:34Z","body":"For a gentle introduction to mechanical physics I'd recommend \"Conceptual Physics by Paul G. Hewitt\".  It starts off assuming you have familiarity with algebra, not necessarily calculus as found in University level books.\r\n\r\nBesides books I'd recommend that you implement some basics on your own starting with a 2D point on the screen and:\r\n- applying a set velocity to the point to make it move on the screen\r\n- bound the point by the screen, and when it collides make it's velocity reflect appropriately\r\n- use keyboard input to apply velocities to the point (up, down, left, right)\r\n- apply gravity to the point\r\n- make a point have a radius, and have collision react appropriately\r\n- make many points, and have them collide, and bounce correctly\r\n- see how many points you can get on a screen at a decent frame-rate, then try to optimize your code!\r\n\r\nThis may be trivial for you, or it may be a significant amount of effort, but this will give you some insight into the basic concerns of a physics engine. \r\n\r\nAfterwards, I'd recommend using bullet, or box2D, to make a simple game that duplicates what you've created, and and stepping into some of the code to get an idea of how those engines implemented.\r\n\r\n-Good Luck!"}}