William | Code Zealot

Point-to-Point Constraint

in Constrained Dynamics, Game Development, Physics

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.

Continue Reading »

0 Comments

Equality Constraints

in Constrained Dynamics, Game Development, Physics

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.

Continue Reading »

3 Comments

EPA (Expanding Polytope Algorithm)

in Game Development

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.

Continue Reading »

6 Comments

GJK – Distance & Closest Points

in Game Development

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.

Continue Reading »

10 Comments

GJK (Gilbert–Johnson–Keerthi)

in Game Development

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.

Continue Reading »

22 Comments

SAT (Separating Axis Theorem)

in Game Development

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.

Continue Reading »

13 Comments

GridBagLayout FTW

in Java

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.

Continue Reading »

0 Comments

Paypal Integration FAQ

in General

This post is to help those who have the same questions I did about how to integrate Paypal into a customer’s website, manage inventory, track orders, calculate shipping, etc.

Continue Reading »

0 Comments

Richfaces Calendar Performance

in Java

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.

Continue Reading »

0 Comments

SVN Setup On Windows Vista

in General

Basically everything is the same as any other windows operating system. However I did run into a couple of “snags” that would be good to share with everyone.

Continue Reading »

1 Comment