<< Chapter < Page | Chapter >> Page > |
The algorithm
As I mentioned earlier, the algorithm goes something like the following:
The code in the outer loop that begins in Listing 15 is responsible for identifying the beginning and ending points for the lines that will be drawnduring one iteration of the outer loop. Given the above information and the embedded comments in Listing 15 , you should have no difficulty understanding the logic in Listing 15 .
Draw the lines
The inner loop in the pair of nested loops is shown in Listing 16 . This loop constructs a series of GM2D04.Line objects and then causes visual manifestations of those objects to be drawn on the off-screen image.
Listing 16 . Draw the lines. |
---|
for(int cnt = 0;cnt<numberPoints;cnt++){
if(start<numberPoints-1){
start++;}else{
//Wrap aroundstart -= (numberPoints-1);
}//end elseif(end<numberPoints-1){
end++;}else{
//Wrap around.end -= (numberPoints-1);
}//end else//Create some interesting colors.g2D.setColor(new Color(cnt*255/numberPoints,
127+cnt*64/numberPoints,255-cnt*255/numberPoints));//Create a line and draw it.
line = new GM2D04.Line(points[start],points[end]);line.draw(g2D);
}//end inner loop}//end outer loop
}//end drawOffScreen |
Once again, given what you now know, and given the embedded comments in the code, you should have no difficulty understanding the logic of the code. Note inparticular the requirement to wrap around when the element number exceeds the length of the array containing references to the GM2D04.Point objects that specify the locations of the vertices of the geometric object.
End of the discussion of StringArt01
That ends the discussion of the program named StringArt01 .. It also ends the discussion of all five of the programs that I promised to explain in this module.
The homework assignment for this module was to study the Kjell tutorial through Chapter 5 - Vector Direction .
The homework assignment for the next module is to study the Kjell tutorial through Chapter 6 - Scaling and Unit Vectors .
In addition to studying the Kjell material, you should read at least the next two modules in this collection and bring your questions about that material tothe next classroom session.
Finally, you should have begun studying the physics material at the beginning of the semester and you should continue studying one physics moduleper week thereafter. You should also feel free to bring your questions about that material to the classroom for discussion.
I encourage you to copy the code from Listing 18 through Listing 21 .Compile the code and execute it in conjunction with the game-math library provided in Listing 17 . Experiment with the code, making changes, and observing the results of your changes. Make certain that youcan explain why your changes behave as they do.
Notification Switch
Would you like to follow the 'Game 2302 - mathematical applications for game development' conversation and receive update notifications?