As the first entry after the Equality Constraints post, we will perform the derivation of the Point-to-Point constraint, which models a Revolute Joint, in 2D.
After the first release of the project, I felt that it would be good to pass along what I learned about constrained dynamics.
This is not an easy subject and aside from purchasing books there’s not much information out there about it for those of us not accustomed to reading research papers or theses.
In this post I plan to solve a velocity constraint generally. Later posts will be for the individual types of constraints.
In the last few posts we learned about using GJK for collision detection, distance between shapes, and finding the closest points. It was stated that GJK must be augmented, to find collision information like the penetration depth and vector, with another algorithm. One such algorithm is EPA.
I plan to cover the EPA algorithm and mention an alternative.
The last installment talked about the GJK algorithm as it pertains to collision detection. The original algorithm actually is used to obtain the distance and closest points between two convex shapes.
Today I’m going to talk about the other collision detection algorithm packaged with the dyn4j project. You can find a lot of GJK documentation but much of it is really technical mostly because they are research papers. I strongly recommend this and to be honest you may not even need to read any further after watching. But if you feel you need more information after watching the video please read on.
This is a post I have been meaning to do for some time now but just never got around to it. Let me first start off by saying that there are a ton of resources on the web about this particular collision detection algorithm. The problem I had with the available resources is that they are often vague when explaining some of the implementation details (probably for our benefit).
I plan to explain the algorithm and also fill in some of the blanks that I had when implementing this myself.
While working on a desktop project (which I hope to release a preview applet/jnlp soon) I decided to use a LayoutManager. Java provides many layout managers whose intention is to layout your controls (buttons, checkboxes, labels, etc) without setting sizes and positions. This post is introducing the GridBagLayout layout manager and why I choose to use this one over the others.
If you are reading this then you probably have come into contact with the richfaces calendar performance problem.
By design, the richfaces calendar will create a calendar every place where you put a rich:calendar tag. This isn’t a problem when you have one or two, but lets say you have a rich:dataTable where one of the columns contains a rich:calendar tag. After about 20 or so rows, the page becomes incredibly slow and almost unusable.
I ran into this exact problem a few months back and just got around to posting the solution.