// Numbas version: exam_results_page_options {"name": "Fady's copy of Drag points to given Cartesian coordinates", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"showfrontpage": false, "preventleave": false, "allowregen": true}, "question_groups": [{"questions": [{"contributors": [{"profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7/", "name": "Christian Lawson-Perfect"}, {"profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1521/", "name": "Bradley Bush"}, {"profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2969/", "name": "Fady Ghanem"}], "statement": "

Move the points to the required coordinates on the graph.

", "variable_groups": [], "type": "question", "name": "Fady's copy of Drag points to given Cartesian coordinates", "variablesTest": {"maxRuns": 100, "condition": ""}, "rulesets": {}, "variables": {"b1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(1..9)", "description": "", "name": "b1"}, "x": {"templateType": "anything", "group": "Ungrouped variables", "definition": "1", "description": "", "name": "x"}, "b2": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(1..10)", "description": "", "name": "b2"}, "c2": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..-1)", "description": "", "name": "c2"}, "c1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(1..10)", "description": "", "name": "c1"}, "a2": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..-1)", "description": "", "name": "a2"}, "d1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..-1)", "description": "", "name": "d1"}, "f2": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..10 except 0)", "description": "", "name": "f2"}, "a1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..-1)", "description": "", "name": "a1"}, "e3": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..10 except 0)", "description": "", "name": "e3"}, "e1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(-10..10 except 0)", "description": "", "name": "e1"}, "y": {"templateType": "anything", "group": "Ungrouped variables", "definition": "2", "description": "", "name": "y"}, "f1": {"templateType": "anything", "group": "Ungrouped variables", "definition": "0", "description": "", "name": "f1"}, "d2": {"templateType": "anything", "group": "Ungrouped variables", "definition": "random(1..10)", "description": "", "name": "d2"}, "e2": {"templateType": "anything", "group": "Ungrouped variables", "definition": "0", "description": "", "name": "e2"}}, "ungrouped_variables": ["x", "y", "a1", "a2", "b1", "b2", "c1", "c2", "d1", "d2", "e1", "e2", "e3", "f1", "f2"], "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()}

", "tags": ["cartesian coordinates", "drag points on a graph", "graphs", "taxonomy"], "parts": [{"gaps": [{"marks": 1, "correctAnswerStyle": "plain", "scripts": {}, "variableReplacements": [], "showCorrectAnswer": true, "minValue": "{a1}", "correctAnswerFraction": false, "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "type": "numberentry", "mustBeReducedPC": 0, "mustBeReduced": false, "allowFractions": false, "notationStyles": ["plain", "en", "si-en"], "maxValue": "{a1}"}, {"marks": 1, "correctAnswerStyle": "plain", "scripts": {}, "variableReplacements": [], "showCorrectAnswer": true, "minValue": "{a2}", "correctAnswerFraction": false, "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "type": "numberentry", "mustBeReducedPC": 0, "mustBeReduced": false, "allowFractions": false, "notationStyles": ["plain", "en", "si-en"], "maxValue": "{a2}"}], "marks": 0, "showFeedbackIcon": true, "type": "gapfill", "variableReplacementStrategy": "originalfirst", "prompt": "

{dragpoints()}

\n

Move the points as follows:

\n

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

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

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

\n

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

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

\n

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

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

\n

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

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

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

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

\n

", "scripts": {"mark": {"order": "after", "script": "console.log(this.question.points);\nthis.question.points.f.setAttribute({fillColor: this.credit==1 ? 'green' : 'red'});"}}, "variableReplacements": [], "showCorrectAnswer": true}], "preamble": {"js": "", "css": ""}, "functions": {"dragpoints": {"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/*\n$('body').on('question-html-attached',function(e,question,qd) {\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", "parameters": [], "type": "html", "language": "javascript"}, "correctPoints": {"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/*\n$('body').on('question-html-attached',function(e,question,qd) {\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;", "parameters": [], "type": "html", "language": "javascript"}}, "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.

"}, "extensions": ["jsxgraph"]}], "pickingStrategy": "all-ordered"}], "contributors": [{"profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7/", "name": "Christian Lawson-Perfect"}, {"profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1521/", "name": "Bradley Bush"}, {"profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/2969/", "name": "Fady Ghanem"}]}