################################################ # To Do ################################ • Invert coordinate frame so that +x and +y are in 1st quadrant • plot theta, omega and alpha for the rotation platform, thin gray line as 1st series in angular charts (underneath others in z-ordering) • Names for the sim? Beetle-go-round? Bugs on a platter? Rotational Motion? Angular Motion? • Better graphics/characters? Beetle will be undesirable for some? • Bug: in one instance, beetle omega graph didn't show. • Sim shouldn't pause when time is up on the graphs • Switch between degrees and radians, add a global control for setting this unit -in graphs & readouts -the origin readout in the play area • Graph layout is incorrect when no graphs with type-in text boxes are visible • Improve performance • There is still a performance leak. After about 10-15 minutes it is now crawling. Lower Priority: • Bug: Mouse gets disassociated from ladybug character after trying to drag out of bounds. • Improve correspondence of graph time scale with wall-time clock speed • Shadow projections should be considered after AAPT. • Possible interview question: bug icon at tip of graph to improve conceptual connection • Torque mode: Should be able to "spin" the wheel (i.e. drag, let go, and have it continue to spin, at least in friction mode) • Symbol key should appear near the mouse when "show symbol key" pressed • On graph readouts should have a better (fixed) layout. (numbers could be aligned) • some pswing components are fuzzy -can't reproduce this on development machine • typing in a box without pressing enter should work -can't solve this in general, since we don't know when the user has finished entering input • Reset all doesn't reset Angle readouts -can't reproduce this • Bug: Beetle graph appears empty before beetle is on the platform, why isn't this interpolating like the other graphs? -values for RotationBody's angleSeries aren't set while off platform • Consolidate MovingMan, Forces1D, Ramp, Rotation, Torque into a single codebase. ################################################ # Implementation issues ################################ • Factor MotionBodyState and MotionBodySeries into a single object • Implementation for setting platform angle by setting character angle is fragile • RotationBody should have internal representation for angular velocity and angular acceleration instead of relying on RotationPlatform's instance? ################################################ # Questions: ################################ • Got rid of abbreviations like (vx) on charts, do we want to show abbreviations (e.g. symbol for theta) for other series? -wait until interviews • Support for "missing values" in the series data (for when characters are being dragged by the user and don't have values for angular data series) -7-19-2007: No missing values now -Current implementation linearly interpolates between previous and subsequent values -It would be fairly difficult to add a "missing value" feature -We could also consider just computing these values dynamically • There is still a very large delay on the v and a vectors when dragging the bugs around on my machine … it makes it look like the arrows are pointing outwards for acceleration, not inwards when I move in a circle by hand. -Current implementation uses a mix of circular regression and 1-d derivatives with time delay; let me know if this is sufficient. • When you set angular position by hand … currently only lady-bug position affected… should we make similar change in theta to 2nd bug if he is on graph? So if ladybug is at 100 rads and other bug is at 110 rads, then set rads to 0, end up with ladybug at 0 rads and other bug at 10 rads??? NOT sure about this? >>No, I think the settable values should only apply to the ladybug. It will be too confusing/overloaded to make it so you can type in values >>for both characters. ################################################ # Interview: ################################ • how should update mode be set based on typing in text boxes? -current implementation: final edit decides update mode. -For example, if the user wants theta=1, omega=2, alpha=3 and sets them in that order, it will work properly -however, if she enters theta last, then the update mode will be set to "constant position" and therefore omega and alpha will be set to zero -interview on this ################################################ # Postponed: ################################ • Investigate acceleration model from Motion2D simulation as a possibility for replacing the implementation in rotation.