Difference between revisions of "FlashPointAndGraph"
(4 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{warning}} Flash is not supported by major browsers any more. {{historical}} |
||
+ | |||
<h2>Flash applet example: Graph and Point</h2> |
<h2>Flash applet example: Graph and Point</h2> |
||
Line 84: | Line 86: | ||
<p> |
<p> |
||
This snippet defines the applet <code>PointGraph</code>. |
This snippet defines the applet <code>PointGraph</code>. |
||
− | This applet was designed by Doug Ensley. The applet .swf file can be obtained here. |
+ | This applet was designed by Doug Ensley. The applet .swf file can be obtained [http://webwork.maa.org/viewvc/system/trunk/webwork2/htdocs/applets/PointGraph/PointGraph.swf?revision=6776&view=markup here]. |
This wiki has more information on '''[[FlashApplets| designing Flash applets]]''' for WeBWorK and a |
This wiki has more information on '''[[FlashApplets| designing Flash applets]]''' for WeBWorK and a |
||
'''[[Simple_example]]''' of converting an existing flash applet for use in WeBWorK. Functional WeBWorK questions using the "PointGraph" applet can be viewed [http://hosted2.webwork.rochester.edu/webwork2/wikiExamples/PointAndGraph_AppletDemos/?login_practice_user=true here ]. |
'''[[Simple_example]]''' of converting an existing flash applet for use in WeBWorK. Functional WeBWorK questions using the "PointGraph" applet can be viewed [http://hosted2.webwork.rochester.edu/webwork2/wikiExamples/PointAndGraph_AppletDemos/?login_practice_user=true here ]. |
||
Line 194: | Line 196: | ||
[[Category:Problem Techniques]] |
[[Category:Problem Techniques]] |
||
+ | [[Category:Flash Applets]] |
||
+ | |||
+ | |||
+ | <ul> |
||
+ | <li>POD documentation: [http://webwork.maa.org/pod/pg/macros/AppletObjects.html AppletObjects.pl]</li> |
||
+ | <li>PG macro: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/AppletObjects.pl?view=log AppletObjects.pl]</li> |
||
+ | |||
+ | </ul> |
Latest revision as of 17:07, 15 June 2021
Warning : Flash is not supported by major browsers any more.
Flash applet example: Graph and Point
This code snippet shows the essential PG code to check student answers that are equations. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
PG problem file | Explanation |
---|---|
loadMacros("AppletObjects.pl", "answerHints.pl" ); |
In the initialization section, we need to include the macros file |
Context("Point"); $a = Real( random(-4,4,0.5) ); $b = Real( random(-3,3,1) ); $function = Formula("(x - $a)^3 + ($b/$a) * x")->reduce; $x0 = $a; $y0= $function->eval(x=>$x0); $answer_point = Compute("($x0, $y0)"); |
In the problem set-up section of the file, we specify that the Context should be |
################################### # Create link to applet ################################### $appletName = "PointGraph"; $applet = FlashApplet( codebase => findAppletCodebase("$appletName.swf"), appletName => $appletName, appletId => $appletName, setStateAlias => 'setXML', getStateAlias => 'getXML', setConfigAlias => 'setConfig', answerBoxAlias => 'answerBox', debugMode => 0, submitActionScript => qq{getQE("answerBox").value=getApplet("$appletName").getAnswer() }, ); |
This snippet defines the applet
The
The
FlashApplets describes this interface from the flash applets point of view. |
################################### # Configure applet ################################### #data to set up the equation $applet->configuration(qq{<XML expr='$function' />}); # initial points $applet->initialState(qq{<XML> <pt xval='0' yval='0'/></XML>}); ################################### #insert applet into body ################################### TEXT( MODES(TeX=>'object code', HTML=>$applet->insertAll( debug=>0, includeAnswerBox=>1, reinitialize_button=>$permissionLevel>=10, ))); |
Now we configure the applet. The contents of The |
BEGIN_TEXT $PAR Drag the point to the inflection point of the given curve and press the submit button. END_TEXT |
The problem text section of the file is as we'd expect. |
NAMED_ANS('answerBox'=>$answer_point ->with(tolType=>"absolute",tolerance=>.05) ->cmp ->withPostFilter(AnswerHints( sub { my ($correct,$student,$ans) = @_; return Vector($correct-$student)->norm<.2 ; } => ["You're close. You need to position the dot more precisely.", replaceMessage=>1] ))); |
The answer checker grabs the answer from the default |
Problem Techniques Index
More on how to embed applets in WeBWorK Questions
- POD documentation: AppletObjects.pl
- PG macro: AppletObjects.pl