If there is no friction, the world will be very different from what we are now. We would not be able to walk but slide on the ground.Usually, we might think that the friction force is in the oppositive direction of the velocity.However, it is not always the case. There are many cases in which the friction force is in the same direction of the velocity of the moving object. Especailly, when the friction is the driving force which cause the object to change it's motion.

On block on top of another block connected to a spring on a friction surface!A block with mass m2 on top of another block with mass m1 on a frictionless surface.Assume friction coeficient between blocks is mu. The lower block is attached to a spring with constant k.

Click the play button or you can drag the lower block horizontally, release the mouse and watch how friction force between blocks cause the top mass to move.Due to the friction force between blocks, the velocity of top block is in the same direction of it's friction force.-*-

Question for you:Does friction force always in the oppositive direction of the relative between two objects?

All the GUI objects in the EJS can be drag and drop, what you need to do is to add actions to it when drag or drop occurred.

If you want to drop something into simulations space. Simulation space need to know what it the object. There are several ways to implement it.1. Divide the simulation space into two regions, one for the elements to be add into another region. You can drag and drop from one place into another space. This is the simplest way. You only have one ejs simulation.2. Use two EJS simulations, and drag object from one simulation to another simulation. You need to add javascript to communicate between two simulations.3. Add objects into the web page, click object and add to EJS with javascript call.

Which one to use? It depend on your design and what you want to do.You should know how to call functions in EJS from html page generated by EJS.(look at the source of html page)

In EJS, all the variables defined inside the variable tab,and all the functions defined in the custom tabs in model pages can be accessed with javascript. You can call those functions with javascript, you can read/write values into ejs variables. So you can do whatever you want to do. It only limited by your imagination.Because EJS is a code generator, it can do whatever java can do. Or whatever, a programming language can do.

If you still need help, please let me know exactly what you want to do (in more detail). I will try to help!I am going to Malaysia tomorrow for a three days teachers workshop at Univ. of Malaysia. Then, I will conduct another 3 days workshop about integrating information technology ICT into physics teaching for high school or middle school teachers.

I just visited your web site. May be you want to have something similar to Interactive Physics. I like interactive physics,too. However, user did not know what is the physics model behind it. That is why I use EJS. It is possible to create something similar to interactive physics with EJS.You can use EJS to create simulations and show it to students. But that is not the main focus point for EJS. We hope student can look at the model in the EJS and modify it by themself. So they can understand the physics model better. For advanced students, we also want them to be able to create new EJS simulations. So EJS is not a programming tool, it is a modeling tool. You are welcomed to look at my paper about EJS.I have been teaching 1st years undergraduate physics students a course about EJS. And everyone has to create at least two new EJS simulations during he semester. The will do more than 10 exercises during the course, too. Different tool has different objective. So we choice what we think it is best for our teaching at that moment. Showing something to the student is the first step. What really important is what student do with it later on. You have done a good job already. Best wishes to your future work (to make it even better and more advanced!).