-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "arrow" representation for object #228
Comments
To me the sim feels incomplete without this representation. When we teach optics and the imaging equation, this is the representation we use. If I were a teacher using the sim, it is a request I would make to PhET. That is my personal opinion, but there are obviously various priorities on the project to balance. The sim is certainly still very valuable without this representation, but I do think it would be worth the effort. |
@ariel-phet said:
As someone who has recently come up to speed on this domain, I'll mention that this was indeed the representation that was used in the majority of web-based resources that I consulted. |
10/21/2021 design meeting: @arouinfar @kathy-phet @ariel-phet
|
Use dashed outline for virtual image arrow. Vector addition arrows are a good first start for the "look". |
From 12/20/21 meeting notes in design doc:
|
From #228 (comment):
I discussed this with @arouinfar, and we decided to modify this decision. The new structure of the sim will be divided into 3 scenes: framed object, arrows, light sources. The draggable thing (object or light source) in each scene will have a position, but position will not be shared across scenes. This will prevent weird interactions like having to move a framed object because an arrow is too close to the optical axis. |
ArrowNode options in vector-addition are: const VECTOR_ARROW_OPTIONS = {
headWidth: 12,
headHeight: 14,
tailWidth: 3.5,
stroke: null,
isHeadDynamic: true,
fractionalHeadHeight: 0.5
}; |
I'm wondering if this is the right thing to do. It's possible to set the arrow length to < 20 cm via PhET-iO/Studio, and it will not snap to 20 cm. I also need to add better handling for the case where the arrow length is zero while dragging, because that's going to cause problems with scaling. |
@pixelzoom I'm really loving the arrow scene. Your comments in #228 (comment) all sound reasonable to me, though I did notice one bug.
This is currently broken in master. I can still change the arrow height (with mouse and keyboard) when in the horizontal-only mode.
I don't think there's anything fundamentally wrong with an arrow height < 20 cm (so long as it is a non-zero value). This seems similar to the discussion we had in last week's PhET-iO meeting about not enforcing |
Whoopsie. Fixed in master. I won't make you review it again. Closing. |
Reopening. @ariel-phet noted that the drag bounds are incorrect. The arrow can currently be dragged through (and to the right of) the optic. |
Discussed with @pixelzoom and @arouinfar and made some changes. We made modifications that make this representation more like the representation commonly seen in ray diagrams.
Since the arrow is meant to be more of a 1d representation the current implementation now better reflects that idea. |
Changes discussed with @ariel-phet and @arouinfar were completed in ba4ca49. One remaining change is being tracked in #312 (separate opacity range for arrow). This feature is schedule for review at 2/17 design meeting, so I'll leave it open until that's been done. |
2/17/22 design meeting: Reorder the combo box as follows: Pencil (default) Delete the Planet and Star objects (enumeration values, images, strings). |
Change requests from #228 (comment) have been completed. @arouinfar please review, feel free to close. |
Thanks @pixelzoom. I reviewed in Studio to make sure the Planet & Star were also gone from the tree/enum. Everything looks good. |
While we're thinking about final design considerations for the public version of this sim...
Over in #217 (comment), I said:
So... Do you want to add the "arrow" representation for the object? (If there's a standard name for this representation, please chime in.) Since I'm planning to restructure things for #217, this would be the time to do it. But please think through the design implications. The arrow is very different than the other objects, because it can't be dragged freely, it's tail is anchored to the optical axis. The arrow can be resized (by dragging its tip up/down) or translated along the optical axis.
I don't know how difficult this will be. It will probably add ~20-40 hours to my original estimate. It will certainly be more expensive if we ignore it now and try to add it in the future.
The text was updated successfully, but these errors were encountered: