phetsims/vector-addition

User suggestion: snap only with grid enabled

Closed this issue · 9 comments

Loving the new Vector Addition applet in the iOS app. Thank you for this.

Today, i got my class to photograph 3 strings in equilibrium with known masses on, the idea being then to replicate the setup in the app. See below.

image
image

Unfortunately, due to the “snapping to grid” operation, you cannot adjust the vectors accurately to match. Turning the grid off still has the, snap to the grid. It would be amazing to have grid-snapping ONLY for when there is a grid.

Is this something you might consider please?

I realise it’s a big ask, but it might be an easy ‘fix’.

Ballpark estimate is 2-4 hours. We'd have to define what happens when the grid is turned back on. Do the vectors remain unchanged, or do they immediately snap to the grid?

Unsure whether this could be done as a maintenance patch to the 1.0 branch. That depends on how much code gets touched, and will require investigation.

@pixelzoom thanks for the estimate, but I don't think we need to make any adjustments to the snapping modes. I think the user's issue here is that they are trying to recreate a situation in Cartesian mode that would be better replicated in polar mode.

@oliver-phet please email the user and let them know that the polar mode should allow them to recreate the desired situation.
image

reply to user sent.

Reply from user:

Thank you for this. Unfortunately the 5 degree changes allowed is just too large to allow good matching. The ability to ‘turn off’ snapping, or perhaps go to 1 degree snapping, would be amazingly helpful.

I note that the resources here: https://phet.colorado.edu/en/contributions/view/2904 is not entirely brilliant. The worksheet uses ‘n’ instead of ‘N’ for the unit. It also refers to “Resolve 780 n at angle of 35 from the horizontal vertical.” In question 4, which is truly odd.

If I have time, I’ll tidy it up and send a corrected version back to you.

Reopening this issue. It sounds like we have more to consider.

While it would be trivial to change POLAR_ANGLE_INTERVAL from 5 to 1, there a few things to consider.

  1. On touch devices, and phones in particular, it will likely be challenging to precisely control the angle in 1 degree steps.
  2. On the Equations screen there is a spinner to control the angle of the base vectors. A step size of 1 degree would be way to fine for the spinner, so the Equations screen would need a different polar angle interval than the other screens. (A finer step size doesn't serve the learning goals on this particular screen, either.)
  3. A finer polar angle interval would certainly allow for textbook problems to be more precisely recreated, but I don't think that's truly the goal of the sim. While I generally think we should make sims as flexible as is feasible, I think points (1) and (2) could outweigh the added flexibility in this case.

I don't think this is something we necessarily need to address, but might be worth considering if it becomes a common request. @ariel-phet any thoughts?

@arouinfar @pixelzoom

I mainly agree with point (3) in the comment above - this is a conceptually focused sim, I don't think exactly matching a textbook problem is the point. I feel like if you teach the concept well, a student can extend the idea in the sim to any angle.

If we did make such a change (after some more teacher requests), my suggestion would be the following:

  1. We only allow this behavior on the "Lab" screen, and we keep the user interaction as is (5 degree snapping with pointer control of the vectors)
  2. We change the UI on the lab screen so that when the "vector values" panel is open you can fine tune the vectors - I would think we could do this by adding spinners at the right side of the readouts, so for instance, a spinner for angle and length for the polar vectors that allows finer control. (and perhaps on the x and y component values when in Cartesian mode)

Again, I do not think we should make this change, but that would be my suggestion if we wanted to add more flexibility to the sim. I believe the lab screen vector values panel has sufficient room to make such a change, but my guess is that would be a fairly involved change to the code.

@ariel-phet said:

  1. We only allow this behavior on the "Lab" screen, and we keep the user interaction as is (5 degree snapping with pointer control of the vectors)
  2. We change the UI on the lab screen so that when the "vector values" panel is open you can fine tune the vectors - I would think we could do this by adding spinners at the right side of the readouts, so for instance, a spinner for angle and length for the polar vectors that allows finer control. (and perhaps on the x and y component values when in Cartesian mode)

I don't recommend doing this. It would be a major change, much more difficult/expensive than simply turning off snapping when the grid is off. The challenges are:

(1) Replacing NumberDisplays with Spinners in the Vector Values accordion box.
(2) Doing (1) for only the Lab screen, since the same Vector Values accordion box is used for all screens.
(3) Making the model know when the Spinners are used vs direct manipulations. There's currently no way to know that, and doing so will violate MVC because snapping is handled by the model.

It's been ~9 months and we haven't received a similar request. I think it's safe to assume this won't be a common request, and since none of us were particularly interested in actually making any changes, I'm going to go ahead and close.