# Basketball 3D

I've recently uploaded a new material named Basketball 3D, available in the material section here.

I've spent much time in trying to refine it and I did all I could.

But much more refinements could be done with the help of the community.

From my didactic perspective it could help students to playfully discover the properties of the parabolic motion and to understand the concept of flux of a vector field (ball velocity) through a surface (the one delimited by the basketball ring).

I also wanted to explore the limits of what can be done with Geogebra in building a complex simulation and I'm rather impressed with the width of its opportunities, especially through the scripting and with its (rather hidden) resources.

I hope that some member of the community can contribute to the development of this project with comments and/or suggestion.

Hi Luca,

I have just seen your material. I think it is fantastic. I have a few suggestions.

I. I would put the stats in a table or box in tex:

http://wiki.geogebra.org/en...

II. Reset the time to 0 every time I drag the sliders (angles and v_0) and when I move the player.

III. You can change the 3d view by clicking and dragging the mouse, but I would add a button for changing the view quickly:

1. Create a slider called 'faces':

faces=Slider[0, 4, 1, 1, 100, false, true, false, false]

2. Create vectors:

u_1=(1,0,0)

u_2=(0,1,0)

u_3=(0,0,1)

u_4=(1;120°;-20°)

2. Create list with vector direction:

listvectordirection={u_1,u_2,u_3,u_4}

3. Define a selection:

Selectedvector=Element[listvectordirection, faces]

4. Create button with the following Script:

SetValue[faces,faces+1]

SetViewDirection[Selectedvector]

If[faces==4,SetValue[faces,0]]

But these are just simple suggestions that I would add. The material is pretty cool. Thanks for sharing. :)

Caio...

A final comment. I was just playing with your material and I have just found that sometime it tells me that I failed, when clearly the ball is going through the basket.

Perhaps, before plotting a whole vector field, it should be helpful to show the sum of the velocities at the time t, first.

Following the suggestion received I've uploaded a new version of the applet.

Changes are:

mrahikka). The default value is 0.2 (variable "tol") meaning that the "effective" surface of the ring is increased by 20%.

Any new suggestion is welcome!

Thanks

Hi,

an other way, with script...(see pink objects)

(approximation...just for fun...)

I've finally completed a new version of the worksheet Basketball 3D with the addition of rebounds against the backboard and the rim together with the ball bounces when hitting the floor.

The worksheet is published in the Geogebra material repository here

The .ggb file is also attached in this post together with a short pdf guide explaining the meaning of some of the objects-parameters.

Given the complexity of the simulation it's highly advisable to run the ggb file through Geogebra classic desktop program and not with the web app.

Adding rebounds was not an easy task but greatly enhances the realism of the simulation.

It also enrich the shooting practice with the possibility of rimshots and bankshots.

Here's a short explanation about the underlying mechanism.

I'd call this construction "semi-deterministic" since the ball position is given by an exact function between two consecutive rebounds, but the time of impact is not deterministically determined in advance. In fact it depends on the fineness of the discreet time values in which Geogebra can make its calculation, the randomness of this time values and the machine processor speed.

For above reasons replaying a shot with the same initial condition can give different results after the first rebound. Furthermore there is an intrinsic irreversibility of the simulation with time.

In a way I like this stochastic behavior that resembles well what happens in many complex situations of the real world when the dynamical evolution of a physical model can't be described by mathematical equations in a closed form.

On the other hand the resulting computational complexity of this simulation seems oversized with respect of a simple model that, in the context of the classical physics equations of parabolic motion could be theoretically handled by a single deterministic piecewise function, where all the impacts and rebounds are calculated at time zero.

So I think I'll next explore if it's possible to achieve a fully deterministic construction strategy.

Anyway every comment or suggestion about this "semi-deterministic" version of Basketball 3D is highly appreciated.

I've finally made up a first "beta version" of the simulation with exact trajectories (sort of fully deterministic as explained in the previous post).

The .ggb file is attached to this post. To try it download the file and run it locally in your desktop PC through the Geogebra Classic desktop program.

The file it's also available as a material in the page https://www.geogebra.org/m/jM3YvFaw but beware, running it through the Geogebra app and the web interface doesn't work as the calculations are too demanding.

I post this message in the hope to receive some help/support from some Geogebra interested users/developers, get some useful advice/comment and some insight in solving some of the following issues:

time slider no more running as smoothly as at the beginning). I suspect

this could be due to some problem in Java/Geogebra memory management

when the complexity of the simulation and the amount of calculations

required are, like in this case, very demanding.

If that happens the only solution I've found is to quit Geogebra and start it again. I've tried to use the UpdateConstruction[ ] command in the script of the Reset button but it doesn't seem to really heal the problem. Anyway Geogebra seems to stand for the complexity of the simulation at the beginning (when the file is opened and run the first times).

More info about the general design of the simulation and its inner workings are available at this page of the web site www.lucamoroni.it

I'm aware that the construction is presently quite a mess (result of stratified development) and that there are many objects no more used in the interface presented.

In case the main issues could be solved and the necessary relevant changes to the optimal design identified the next steps will be devoted to a full streamlining of the whole process.

Loading...Comments have been locked on this page!