// Numbas version: exam_results_page_options {"name": "Drag points to given Cartesian coordinates", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Drag points to given Cartesian coordinates", "type": "question", "tags": ["cartesian coordinates", "drag points on a graph", "graphs", "taxonomy"], "variablesTest": {"condition": "", "maxRuns": 100}, "variables": {"c2": {"description": "", "name": "c2", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..-1)"}, "a2": {"description": "", "name": "a2", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..-1)"}, "f1": {"description": "", "name": "f1", "group": "Ungrouped variables", "templateType": "anything", "definition": "0"}, "c1": {"description": "", "name": "c1", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(1..10)"}, "f2": {"description": "", "name": "f2", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..10 except 0)"}, "d1": {"description": "", "name": "d1", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..-1)"}, "e1": {"description": "", "name": "e1", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..10 except 0)"}, "a1": {"description": "", "name": "a1", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..-1)"}, "b1": {"description": "", "name": "b1", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(1..9)"}, "d2": {"description": "", "name": "d2", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(1..10)"}, "e2": {"description": "", "name": "e2", "group": "Ungrouped variables", "templateType": "anything", "definition": "0"}, "x": {"description": "", "name": "x", "group": "Ungrouped variables", "templateType": "anything", "definition": "1"}, "y": {"description": "", "name": "y", "group": "Ungrouped variables", "templateType": "anything", "definition": "2"}, "b2": {"description": "", "name": "b2", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(1..10)"}, "e3": {"description": "", "name": "e3", "group": "Ungrouped variables", "templateType": "anything", "definition": "random(-10..10 except 0)"}}, "extensions": ["jsxgraph"], "statement": "

Move the points to the required coordinates on the graph.

", "variable_groups": [], "parts": [{"scripts": {"mark": {"script": "console.log(this.question.points);\nthis.question.points.a.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});\n", "order": "after"}}, "variableReplacements": [], "marks": 0, "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "gaps": [{"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{a1}", "showFeedbackIcon": true, "minValue": "{a1}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}, {"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{a2}", "showFeedbackIcon": true, "minValue": "{a2}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}], "showFeedbackIcon": true, "prompt": "

{dragpoints()}

\n

Move the points as follows:

\n

A to $(\\var{a1},\\var{a2})$.

", "type": "gapfill"}, {"scripts": {"mark": {"script": "console.log(this.question.points);\nthis.question.points.b.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});\n", "order": "after"}}, "variableReplacements": [], "marks": 0, "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "gaps": [{"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{b1}", "showFeedbackIcon": true, "minValue": "{b1}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}, {"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{b2}", "showFeedbackIcon": true, "minValue": "{b2}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}], "showFeedbackIcon": true, "prompt": "

B to $(\\var{b1},\\var{b2})$.

\n

", "type": "gapfill"}, {"scripts": {"mark": {"script": "console.log(this.question.points);\nthis.question.points.c.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});\n", "order": "after"}}, "variableReplacements": [], "marks": 0, "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "gaps": [{"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{c1}", "showFeedbackIcon": true, "minValue": "{c1}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}, {"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{c2}", "showFeedbackIcon": true, "minValue": "{c2}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}], "showFeedbackIcon": true, "prompt": "

C to $(\\var{c1},\\var{c2})$.

\n

", "type": "gapfill"}, {"scripts": {"mark": {"script": "console.log(this.question.points);\nthis.question.points.d.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});\n", "order": "after"}}, "variableReplacements": [], "marks": 0, "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "gaps": [{"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{d1}", "showFeedbackIcon": true, "minValue": "{d1}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}, {"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{d2}", "showFeedbackIcon": true, "minValue": "{d2}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}], "showFeedbackIcon": true, "prompt": "

D to $(\\var{d1},\\var{d2})$.

\n

", "type": "gapfill"}, {"scripts": {"mark": {"script": "console.log(this.question.points);\nthis.question.points.e.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});", "order": "after"}}, "variableReplacements": [], "marks": 0, "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "gaps": [{"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{e1}", "showFeedbackIcon": true, "minValue": "{e1}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}, {"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{e2}", "showFeedbackIcon": true, "minValue": "{e2}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}], "showFeedbackIcon": true, "prompt": "

E to $(\\var{e1},\\var{e2})$.

", "type": "gapfill"}, {"scripts": {"mark": {"script": "console.log(this.question.points);\nthis.question.points.f.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});", "order": "after"}}, "variableReplacements": [], "marks": 0, "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "gaps": [{"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{f1}", "showFeedbackIcon": true, "minValue": "{f1}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}, {"correctAnswerFraction": false, "notationStyles": ["plain", "en", "si-en"], "type": "numberentry", "variableReplacementStrategy": "originalfirst", "mustBeReducedPC": 0, "maxValue": "{f2}", "showFeedbackIcon": true, "minValue": "{f2}", "correctAnswerStyle": "plain", "allowFractions": false, "mustBeReduced": false, "scripts": {}, "variableReplacements": [], "marks": 1, "showCorrectAnswer": true}], "showFeedbackIcon": true, "prompt": "

F to $(\\var{f1},\\var{f2})$.

\n

", "type": "gapfill"}], "ungrouped_variables": ["x", "y", "a1", "a2", "b1", "b2", "c1", "c2", "d1", "d2", "e1", "e2", "e3", "f1", "f2"], "rulesets": {}, "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "

Drag points on a graph to the given Cartesian coordinates. There are points in each of the four quadrants and on each axis.

"}, "preamble": {"css": "", "js": ""}, "functions": {"correctPoints": {"parameters": [], "type": "html", "language": "javascript", "definition": "var div = Numbas.extensions.jsxgraph.makeBoard('400px','400px',{boundingBox:[-11,11,11,-11],grid: true});\nvar board = div.board;\nquestion.board = board;\n\nvar a1 = Numbas.jme.unwrapValue(scope.variables.a1);\nvar a2 = Numbas.jme.unwrapValue(scope.variables.a2);\nvar b1 = Numbas.jme.unwrapValue(scope.variables.b1);\nvar b2 = Numbas.jme.unwrapValue(scope.variables.b2);\nvar c1 = Numbas.jme.unwrapValue(scope.variables.c1);\nvar c2 = Numbas.jme.unwrapValue(scope.variables.c2);\nvar d1 = Numbas.jme.unwrapValue(scope.variables.d1);\nvar d2 = Numbas.jme.unwrapValue(scope.variables.d2);\nvar e1 = Numbas.jme.unwrapValue(scope.variables.e1);\nvar e2 = Numbas.jme.unwrapValue(scope.variables.e2);\nvar f1 = Numbas.jme.unwrapValue(scope.variables.f1);\nvar f2 = Numbas.jme.unwrapValue(scope.variables.f2);\n\n\nvar a = board.create('point',[a1,a2],{name: 'A', size: 7, fillColor: 'limegreen' , strokeColor: 'yellow' , highlightFillColor: 'green', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: true});\nvar b = board.create('point',[b1,b2],{name: 'B', size: 7, fillColor: 'limegreen' , strokeColor: 'yellow' , highlightFillColor: 'green', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: true});\nvar c = board.create('point',[c1,c2],{name: 'C', size: 7, fillColor: 'limegreen' , strokeColor: 'yellow' , highlightFillColor: 'green', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: true});\nvar d = board.create('point',[d1,d2],{name: 'D', size: 7, fillColor: 'limegreen' , strokeColor: 'yellow' , highlightFillColor: 'green', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: true});\nvar e = board.create('point',[e1,e2],{name: 'E', size: 7, fillColor: 'limegreen' , strokeColor: 'yellow' , highlightFillColor: 'green', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: true});\nvar f = board.create('point',[f1,f2],{name: 'F', size: 7, fillColor: 'limegreen' , strokeColor: 'yellow' , highlightFillColor: 'green', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: true});\n\n/*\nquestion.signals.on('HTMLAttached',function(e) {\n ko.computed(function(){ \n var x = parseFloat(question.parts[0].gaps[0].display.studentAnswer());\n var y = parseFloat(question.parts[0].gaps[1].display.studentAnswer());\n if(!(isNaN(x) || isNaN(y)) && board.mode!=board.BOARD_MODE_DRAG) {\n a.moveTo([x,y],100);\n }\n });\n});\n*/\n\nreturn div;"}, "dragpoints": {"parameters": [], "type": "html", "language": "javascript", "definition": "var div = Numbas.extensions.jsxgraph.makeBoard('400px','400px',{boundingBox:[-11,11,11,-11],grid: true});\nvar board = div.board;\nquestion.board = board;\n\n//var x = Numbas.jme.unwrapValue(scope.variables.x);\n//var y = Numbas.jme.unwrapValue(scope.variables.y);\n\nvar a = board.create('point',[10,10],{name: 'A', size: 7, fillColor: 'blue' , strokeColor: 'lightblue' , highlightFillColor: 'lightblue', highlightStrokeColor: 'yellow', snapToGrid: true, showInfobox: false});\nvar b = board.create('point',[10,9],{name: 'B', size: 7, fillColor: 'blue' , strokeColor: 'lightblue' , highlightFillColor: 'lightblue', highlightStrokeColor: 'yellow',snapToGrid: true, showInfobox: false});\nvar c = board.create('point',[10,8],{name: 'C', size: 7, fillColor: 'blue' , strokeColor: 'lightblue' , highlightFillColor: 'lightblue', highlightStrokeColor: 'yellow',snapToGrid: true, showInfobox: false});\nvar d = board.create('point',[10,7],{name: 'D', size: 7, fillColor: 'blue' , strokeColor: 'lightblue' , highlightFillColor: 'lightblue', highlightStrokeColor: 'yellow',snapToGrid: true, showInfobox: false});\nvar e = board.create('point',[10,6],{name: 'E', size: 7, fillColor: 'blue' , strokeColor: 'lightblue' , highlightFillColor: 'lightblue', highlightStrokeColor: 'yellow',snapToGrid: true, showInfobox: false});\nvar f = board.create('point',[10,5],{name: 'F', size: 7, fillColor: 'blue' , strokeColor: 'lightblue' , highlightFillColor: 'lightblue', highlightStrokeColor: 'yellow',snapToGrid: true, showInfobox: false});\n\nquestion.points = {\n a:a,b:b,c:c,d:d,e:e,f:f\n}\n\na.on('drag',function(){\n Numbas.exam.currentQuestion.parts[0].gaps[0].display.studentAnswer(a.X());\n Numbas.exam.currentQuestion.parts[0].gaps[1].display.studentAnswer(a.Y());\n});\nb.on('drag',function(){\n Numbas.exam.currentQuestion.parts[1].gaps[0].display.studentAnswer(b.X());\n Numbas.exam.currentQuestion.parts[1].gaps[1].display.studentAnswer(b.Y());\n});\nc.on('drag',function(){\n Numbas.exam.currentQuestion.parts[2].gaps[0].display.studentAnswer(c.X());\n Numbas.exam.currentQuestion.parts[2].gaps[1].display.studentAnswer(c.Y());\n});\nd.on('drag',function(){\n Numbas.exam.currentQuestion.parts[3].gaps[0].display.studentAnswer(d.X());\n Numbas.exam.currentQuestion.parts[3].gaps[1].display.studentAnswer(d.Y());\n});\ne.on('drag',function(){\n Numbas.exam.currentQuestion.parts[4].gaps[0].display.studentAnswer(e.X());\n Numbas.exam.currentQuestion.parts[4].gaps[1].display.studentAnswer(e.Y());\n});\nf.on('drag',function(){\n Numbas.exam.currentQuestion.parts[5].gaps[0].display.studentAnswer(f.X());\n Numbas.exam.currentQuestion.parts[5].gaps[1].display.studentAnswer(f.Y());\n});\n\n/*\nquestion.signals.on('HTMLAttached',function(e) {\n ko.computed(function(){ \n var x = parseFloat(question.parts[0].gaps[0].display.studentAnswer());\n var y = parseFloat(question.parts[0].gaps[1].display.studentAnswer());\n if(!(isNaN(x) || isNaN(y)) && board.mode!=board.BOARD_MODE_DRAG) {\n a.moveTo([x,y],100);\n }\n });\n});\n*/\n\nreturn div;\n\n"}}, "advice": "

Coordinates are given as $(x\\text{-coordinate},y\\text{-coordinate})$. So, for example $(2,5)$ has $x$-coordinate $= 2$ and $y$-coordinate$= 5$.

\n

Plot the first coordinate ($x$-coordinate) against the horizontal axis and then plot the second coordinate ($y$-coordinate) against the vertical axis.

\n

{correctPoints()}

", "contributors": [{"name": "Christian Lawson-Perfect", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7/"}, {"name": "Bradley Bush", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1521/"}]}]}], "contributors": [{"name": "Christian Lawson-Perfect", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7/"}, {"name": "Bradley Bush", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1521/"}]}