From the conference organizers,
“A new wave of interactive 3D applications rises from the World Wide Web. New technologies are emerging and existing technologies are evolving to enable the third dimension in web browsers. This also leads to the appearance of a new generation of consumers and producers of 3D content in the new Read-Write Web environment.
14th in the series, the Web3D 2009 International Symposium will address this wide range of topics covering 3D hypermedia on the web. The annual Web3D Symposium is a major event, which unites researchers, developers, experimenters, and content creators in a dynamic learning environment. Attendees share and explore methods of using, enhancing, and creating new 3D web and multimedia technologies, such as X3D, VRML, COLLADA, Croquet, MPEG4, Java3D, and Canvas3D. The symposium will also address new trends such as interactive 3D graphics applications on mobile devices.
Authors are invited to submit their work (short or full papers) for review by the international Program Committee. Both research and applications papers are of interest to Web3D 2009. The papers must be innovative and contribute to the advancement of 3D multimedia technologies on the web.”
That was a solid win over Roddick. Personally, I thought Roddick had a chance at winning at least a set. Good back-to-back matches for Federer as he awaits the winner of Nadal-Verdasco. While Nadal is the popular choice, Roger will still have to elevate his game one more level in order to tie Sampras’ record, regardless of opponent. It seems he’s up for it mentally, so continued best wishes from this end.
I hope Roddick continues to improve. The change in both physical conditioning and strokes resulted in a solid tournament. Once the changes have a chance to become more second nature, perhaps we will see an American mount a serious challenge for a major.
Good friend and creative Doyle Calvert has entered the blogsphere. I’ve always enjoyed Doyle’s perspective on creative and technical issues and look forward to making his new blog a daily read. I really liked his retrospective on the Macintosh. Ah, those were the days …
Just checked the live scores on tennis.com and noticed that Federer must read my blog He shook off the poor play from his prior match and must have played very aggressively to not just beat del Potro, but smoke him in straight sets, including back-to-back bagels!
del Potro is no slouch and there is a reason he’s seeded number 8. This seems to be an appropriate response to both a resurgent Roddick (his next opponent) and the seemingly invincible Nadal. Continued hopes on this end that the Fed Express rolls on. Great win Roger!
If you are interested in quad. Bezier intersections, Tyler Wright has started an interesting project. You can check it out here. Also, here is a good paper contrasting various solutions to the general problem.
There should be a new class in your friendly neighborhood SVN (Origin branch), com.degrafa.geometry.utilities.BezierUtils. This is the repository for various utilities pertaining to Bezier curves in Degrafa. The first utility is closest point to a Bezier (quadratic or cubic).
This is often used in games, sometimes in collision detection. A Sprite’s centroid is used as an arbitrary point. The outline of a simple game surface may be defined with a cubic Bezier. The closest point on the Bezier to the specified point is computed and the bounding container of the Sprite is used to determine if the Sprite will intersect the surface in the next frame. The t-parameter on the cubic Bezier is used to compute the curve’s tangent in the case the Sprite ‘bounces’ off the surface. The point itself may be used as the center of an effect if the Bezier represents part of a deflector shield.
A demo is provided to illustrate usage of the closest point method for a cubic Bezier. To use the demo, drag the ‘A’, ‘B’, ‘C’, or ‘D’ interpolation points to a new location. A small cross-hair appears. Position the cross-hair and click. This sets the input point and the closest point on the Bezier curve is illustrated as shown below.
If you wish to use the method in an application and specifically identify the point for a cubic, then it is necessary to use the AdvancedCubicBezier class due to the issue with pointAt() for cubic Beziers.
I’ll try to have another demo out for quad. Beziers later this week.
I had heard Berdych was a highly talented player and was worried about a Federer letdown from the level of his prior match. The first two sets confirmed my worst fears. It was astounding to see Federer forced a yard or two behind the baseline, playing almost bewhildered-looking shots for two full sets.
But, what’s more exciting – a Federer blowout or a Federer comeback? I was literally screaming at the TV for him to play more agressive and come into the net even behind returns. I was about to turn the match off at 3-3, 40-15 on Berdych’s serve. Then, came the agressive backhand and the follow-up into the net. Finally, Federer won that critical game and adjusted his play to quit teeing up the ball into Berdynch’s strike zone.
While physical talent is important, it’s often mentality that makes a champion. Federer proved it in this match. Sometimes a test like this can propel you to greater heights and much greater heights will be needed to reach the level at which Murray and Nadal are competing.
Like Federer v. Safin, Nadal v. Haas was supposed to be a solid test for Nadal. Like the old saying goes, you’re either part of the steamroller or part of the pavement. Nadal made a serious statement against Haas. With Murray following suit and Blake playing well, the Aussie Open is shaping up to be a battle of titans. What a time not to have TiVO
One of the advantages to getting up very early to start the work day (usually 5AM) is that I can watch the Australian Open while eating breakfast, initial email check, etc. Federer v. Safin was viewed as a very challenging match for Roger, considering the previous meeting between the two in the semis. Safin is a very capable player, with a huge serve. With nothing to lose, he is the type of person that can easily eliminate a top seed.
I haven’t seen Roger in this form in quite some time. The serve was business as usual and the forehand was unbelievably explosive. The only backhands he seemed to miss were those where he raised up during the stroke (note to self – pay more attention to that in practice). He was able to elevate his game at critical points and was mentally tough in the tiebreaker. I wish I had recorded the match just to watch that final backhand passing shot again. Another note to self – get TiVO.
As long as he does not relax and lose concentration, this could be a great tournament for him.
I’m a little hesitant to release incomplete methods, but this one is purely experimental, so I’ve put it out for advanced users. Suppose you define a quadratic Bezier curve and then ‘join’ another quad. to it by specifying only a single additional point. The curves should transition smoothly at the join point, i.e. the (x1,y1) point of the first curve. Both curves are independent quadratic Beziers. By definition, (x0,y0) of the second curve is just (x1,y1) of the first curve. The purpose of the join is to compute (cx,cy) for the second curve to provide G-1 continuity. Think of this as using one curve to constrain the creation of another, like having UI elements that appear to smoothly flow from one to another even though they are dynamically created (the request that spawned this method in the first place).
This ‘join’ operation is temporarily part of the AdvancedQuadraticBezier class. It is a prelude to a more general quadratic spline that can be purely interpolative or have successive points influence only shape of the spline. The latter options is useful for fast animation as in simulated hair, for example.
The following screenshot illustrates the join.
After specifying the first quad, only the additional point, P, is supplied in order to create the second (joined) curve. The algorithm produces G-1 continuity at the join point. There is a placeholder for adjustable tension.
If you move the P point around, you can see how the curve adjusts, however, the algorithm is not completely implemented. So, there are some orientations in which the joined curve ‘kinks.’ This will be addressed in a future implementation, most likely in the quadratic spline. I’m not convinced this method alone is all that useful (although I have received a couple requests) and not convinced that it belongs in AdvancedQuadraticBezier. If it survives, it may be moved to the (not yet released) BezierUtils class. I’m still testing that class and have yet another issue to address to help a Degrafa user, so consider the quad. Bezier join as unfinished and purely experimental. If you do find a good production use for it, please contact me.