phetsims / inverse-square-law-common

GNU General Public License v3.0
1 stars 2 forks source link

Should arrow min width go to zero for gravity force sims? #77

Closed zepumph closed 5 years ago

zepumph commented 5 years ago

As part of https://github.com/phetsims/inverse-square-law-common/issues/76, @arouinfar and I discussed that the arrow width needs to be able to go to zero for Coulombs Law to accept a zero charge, but we were on the fence if this was the best way to display gravity force lab (basics). In GFL the force range is currently set up so that with small forces the arrow basically disappears. Perhaps that is alright. Maybe though, we need to support different logic for GFL(B) to allow a minimum arrow width so it is always visible. My vote (as definitely not a designer) is to leave it as is, because I like that it makes the code simpler, and that I don't think it effects the UX too much. Also note that the current published version of GFL has arrows that can disappear with small force values.

Over to you @arouinfar to discuss an let me know what to do.

terracoda commented 5 years ago

We need to also keep in mind that the arrows do not "disappear" in the descriptive experience. The smallest described category is "Force vectors tiny".

Personally, I think it would be nice if the vectors were still somewhat visible when "tiny", but I can live with it as long as other designers feel that "no visual appearance" is still conceptually "tiny".

arouinfar commented 5 years ago

In GFL the force range is currently set up so that with small forces the arrow basically disappears. Perhaps that is alright. Maybe though, we need to support different logic for GFL(B) to allow a minimum arrow width so it is always visible.

Currently, when the force dips below 10^-10 N, the vector completely disappears. This could be a good opportunity to discuss scaling and precision.

image

Alternatively, we could set a minimum vector size, perhaps something like this: image

We need to also keep in mind that the arrows do not "disappear" in the descriptive experience. The smallest described category is "Force vectors tiny".

For GFL(B) this makes sense, but for Coulomb's Law it would be incorrect, because the force can actually be zero (if charge is zero). CL will need another category for "Force vectors zero", or similar.

I think it's important to keep the visual and descriptive experiences as parallel as possible, so adding a minimum vector size may be the way to go. @ariel-phet thoughts?

terracoda commented 5 years ago

Since this issue involves Coulomb's Law I updated the table in https://github.com/phetsims/inverse-square-law-common/issues/76#issuecomment-515022872 so it now includes a zero and the potential "push" forces. I haven't yet worked deeply on the descriptions for Coulomb's Law.

terracoda commented 5 years ago

I agree with @arouinfar, that descriptions should be somewhat parallel with the visuals. Since forces can be zero in Coulomb's Law, it would make sense to me to keep the force vectors showing a tiny bit except when the force is zero.

ariel-phet commented 5 years ago

I am OK with a minimum size. When vectors are of a reasonable size you get some visual "scaling" effect references (eg oh, look the force is now approximately double). However, when the forces are this small (to be considered "tiny") I think the minimum size vector shown above will not cause any confusion. It pretty clearly send the "this is a very small quantity" message.

But yes, I agree, in Coulomb's law where the force can be truly zero, having a zero vector is important, and I also agree that keeping the experiences parallel is the ideal.

zepumph commented 5 years ago

@arouinfar, when ready can you please consolidate this discussion into a recommendation for me to implement. I think it would be possible to keep a minimum arrow and flip it when the forces change direction in CL. That doesn't handle the "zero" case though.

Unassigning for now.

arouinfar commented 5 years ago

@zepumph for GFL(B), please add a minimum arrow size. I think this would be about the right size: image

zepumph commented 5 years ago

Here is what the arrows now look like. @arouinfar it was a good idea to split it up based on GFL/CL. That was easy as we were already doing that for the max arrow width. Implemented in the above commits.

image

Closing