{"content":[{"text":"Extra Credit Programming Projects \n MAT 300/500 – Spring 2021","bbox":{"left":0.198046,"top":0.067821,"width":0.604209,"height":0.061131000000000005}},{"text":"For each part, the student should implement all of the required details. If there are suggestions for \n changes to the described interfaces, please bring those up to the TA and instructor for consideration.","bbox":{"left":0.088235,"top":0.152801,"width":0.823581,"height":0.03335000000000002}},{"text":"Grading for these projects will be out of 10 points. This grade will be converted to allow a maximum \n 2% ﬂat increase to course grade for each project completed.","bbox":{"left":0.088235,"top":0.198401,"width":0.823601,"height":0.03335000000000002}},{"text":"Final due date for any and all extra credit projects is: Monday, April 16. Absolutely no exceptions \n or extensions will be made to this date.","bbox":{"left":0.088235,"top":0.244001,"width":0.823639,"height":0.033348000000000017}},{"text":"EC I: Hermite Interpolation (Osculation) \n In this part you will extend the polynomial interpolation to include derivatives. This is called \n osculation, or Hermite interpolation. The base case is still polynomial interplation. Additionally, \n the user will need to be able to enter derivative information. For the ﬁrst derivative, you should \n have an option to do this graphically in the following way: The user should be able to right-click on \n one of the input points and have a drop down menu pop up. In this menu one of the items should \n be to show tangents. If this is selected, a small tangent line segment will appear with default slope \n zero at the point. The slope of this line should then be adjustable with mouse control (either by \n simply moving the mouse or the wheel, etc.) A further click should select the current slope and \n assign it to that point.","bbox":{"left":0.088235,"top":0.313336,"width":0.8236390000000001,"height":0.19336799999999993}},{"text":"Higher derivatives will have to be entered through an input box. This input should also be an option \n for the ﬁrst derivative, or slope, as well. Once a collection of points has been assigned derivative \n values the curve should be redrawn, solving the given osculation problem with the appropriate \n degree polynomial.","bbox":{"left":0.088235,"top":0.518954,"width":0.82362,"height":0.06982899999999992}},{"text":"EC II: Best Fit Line and Parabola \n In this part you will compute a best ﬁt line and parabola to the input points. There should be an \n option for line or parabola, which defaults to line. When the user has clicked on two input points, \n the line through the two points should be graphed. When the user clicks on three or more points, \n an approximate line is graphed according to the following procedure:","bbox":{"left":0.088235,"top":0.624768,"width":0.8236000000000001,"height":0.10217100000000001}},{"text":"First, the mean (or average) point M = (xM, yM) is calculated by averaging all of the x coordinates \n to get xM and averaging all of the y coordinates to get yM. The desired line will pass through M. \n A precomputed circle of points is now used around M to form a new collection of lines through M \n and one of the points on the circle. (Alternatively, a box can be used. In either case, this is simply \n to give a discrete set of points which can be used together with M to determine a discrete set of \n lines which pass through M and are evenly distributed like the spokes of a wheel.) Each line L in \n this set is tested by computing the sum S(L) of the perpendicular distances between the line and \n each input point. We want to minimize this sum. Hence, we choose the line with the smallest value \n of S(L). To increase speed and eﬃciency, a small number of points k on the circle (or box) can be \n used initially, say k = 100. Then the three lines with smallest value for S(L) are identiﬁed. Call \n these lines L1, L2, and L3, and call the points that they pass through on the circle (or box) P1, P2","bbox":{"left":0.088235,"top":0.739188,"width":0.8235610000000001,"height":0.1984990000000001}},{"text":"1","bbox":{"left":0.495219,"top":0.959323,"width":0.00955199999999995,"height":0.015109999999999957}}],"images_bbox":[],"images_bbox_not_text_overlap":[]}