Derek: 2007 06 03 - Calibration of Terrain

Progress Update

Calibration of Terrain

1. I am assigned to work on the calibration of the terrain in the game with respect to the actual latex shaped by the actuators. That is, to map the shape of the actual terrain onto the virtual terrain. I was given a set of pre-existing codes to look at and I worked to understand how the terrain is generated in the codes. On top of this, I had to do some background reading on DirectX.

2. The height of each actuator ranges from 0 to 100 and the values are stored in an array kept in the Actuator class. The values can be obtained from its member functions. I realized that the maximum height the actuator can reach is approximately 70. This is because any higher the terrain will hit the mechanical arm. Hence, this must be taken into consideration and the codes modified accordingly.

3. Also, before I worked on the codes, I had to ensure that all the actuators are at approximately the same height when they are all initialized. This was done by using styrofoam balls to adjust the height accordingly. Furthermore, I ensured that the actuators are adjusted to be upright and the distance between each actuator is kept roughly constant. This is so that I can model the virtual terrain later without much conflict.

4. In the codes, I realized that the terrain was modeled using cosine curves and quadratic summation was used for overlapping curves. Also, the terrain edges were modeled first as the actual terrain’s centre is lower than its sides when initialized. Each actuator affects a fixed radius despite its height and each actuator overlaps onto its neighboring actuator.

5. While trying to modify the codes accordingly to map the actual terrain, I realized a few problems with the pre-existing codes:

i. I realized that in the actual terrain, an actuator not only affect its neighboring actuator but also actuators beyond that. This depends on the height. That is, at height 70, the radius affected is larger than when the height is say 50. I have coded a set of instruction to take dynamic radius into consideration. However, I’m afraid that it may not be suitable for the real time application. Will work to implement it and test it.

ii. Also at certain configuration of the actual terrain, we have instances when adjacent actuator does not affect the current actuator. This is because the height of the actuator is shorter than the hill created by the current actuator. I have yet to work on this, but I was thinking of using a selection case to handle such instances.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.