Open oliver-phet opened 10 years ago
This is not trivial to implement, mostly because it would require modifying the algorithm that places the shapes to not just look for unoccupied cells, but for cells that are occupied in such a way that no overlap will occur. I would estimate 2-3 days. I would strongly recommend against doing this for version 1, but if it is seen as a big deal it can be implemented in version 2. Assigning to @krhensberry for her input.
I want to clarify the issue -- you're talking about a situation in which you half a square filled (with a triangle) and then wanting to fill in the other half with another triangle, correct? We definitely don't need the ability to do this for v1. Two triangles together is really one square, so if a student really wants to see that, they can just use a unit square instead of the two triangles.
This is also complicated by the fact that you need a triangle oriented differently in order to really fit two in one square on the grid. So, if you tried to place a second triangle, but it wasn't oriented properly, would there be some algorithm to turn it, or do you have to choose the correctly-oriented triangle in order to fit it in? I think we should talk a little more about this (with @amanda-phet and Beth) about the purpose of being able to do this vs not before deciding for v2 or not.
@krhensberry, Yes, the issue I am describing is the situation where I try to fill the 2nd half of the square with the proper triangle. I would think it would be important for the users to know that the 2 triangles are "half" and 2 make a square.
I think the behavior of the sim is OK right now if you attempt to fill the 2nd half of a square with a triangle that isn't oriented properly - it just goes to an empty nearby square.
Yes -- overall, you're probably right that it's important to make clear that the two triangles are half and the two together make one whole square. So that should be something we try to do for version 2. I also think, once the triangles are placed, it should be clear that the whole square was made up of triangles (so, a faint or dashed line should make clear the two partitions of the square).
And given that there are already triangles with different orientations on the carousel, I think it probably makes more sense to make the student choose the correctly-oriented triangle, else it functions as you've described -- it goes to an empty nearby square.
In an interview I noticed a student wanted to put two triangles together to make a full square. After a few attempts he gave up and worked around it, but I agree that this would be a nice feature to have in the future.
I talked with JB a bit about this, but right now you can't fit 2 triangles in 1 square. He said it was due to the code asking if there was already an object in the square, and if yes, it would prevent another object from entering the same square.