Good Effort!!! Im impressed! ;)
Xavier > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Jim Hurley > Sent: Friday, February 25, 2005 19:15 > To: [email protected] > Subject: ANN: Bouncing Ball Tools > > (It took me two years to figure out that ANN meant Announcement.) > > > There was some discussion recently on how to motive oneself. > Being retired, I have entered that enviable time of life when > I do whatever I feel like-within reason. This does not > present a difficult motivational problem. > > But if you're doing what you feel like, the problem becomes > one of stopping, letting go. I'm sure many of you have this > problem when you are engaged on a Run Rev problem that > strikes your fancy. > > Well, I got intrigued with simulations, all kinds. Recently I > have taken up bouncing balls. And I am having a hard time letting go. > > So here is what I have tried so far: > > 1) Let the ball flex when it strikes the wall. Easy to do. > Just decrease the width and increase the height of the > graphic as the ball strikes a vertical wall. And vice-versa > for horizontal walls. > > 2) This flexing is harder to do with walls that are not > vertical or horizontal, so I next considered a ball bounding > about within a polygon of arbitrary shape. The first problem > was keeping the ball in the polygon. I tried the within > function but the ball kept escaping. > So I used the perpDist function I posted a while back for > collision detection between the ball and the individual lines > that make up the polygon. This is the perpendicular distance > between a point (the ball > loc) and a line (polygon line.) The flexing was a bit > simplistic. I just flexed the radius. > > 3) But I found there was a problem if the polygon was not > concave, i.e. all interior angle less than 180 degrees. Here > it became necessary to introduce a new tool, a new function > to determine whether the collision took place between the end > points of the line. > That tool was the perpProj function, which drops a > perpendicular from any point (the ball loc) to any line > (polygon line.) It was easy to determine when this projection > point was between the end points of the line. > > 4) I had very limited success in my attempt to deal with > collisions between a ball and isolated lines, so I took up > ball-on-ball collisions. This is a very conventional problem, > just move the ball incrementally until the distance between > balls is less than the combined radii. But I found three > problems: (1) accuracy (2) smooth motion and (2) the screen > refresh problem in OS X. I wanted to move the ball from one > point to the collision point using the Run Rev Move command, > not in incremental steps. That necessitated predicting the > collision point in advance. This took my down a long path. > > Which is detailed, along with the other three problems above, in the > stack: BouncingBallTools.rev which can be loaded in Run Rev > by running this line in the message box: > > go url http://home.infostations.net/jhurley/BouncingBallTools.rev > > And wait a little bit. > > This is not an application, not even close, but a series of > tools for those of you who want to develop a Pin Ball > Construction Set. > > Jim > _______________________________________________ > use-revolution mailing list > [email protected] > http://lists.runrev.com/mailman/listinfo/use-revolution > _______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
