// Numbas version: finer_feedback_settings {"name": "Vectors - Ex. Sheet 3", "percentPass": "0", "navigation": {"showfrontpage": false, "onleave": {"action": "none", "message": ""}, "showresultspage": "oncompletion", "preventleave": true, "browse": true, "allowregen": true, "reverse": true}, "timing": {"allowPause": true, "timedwarning": {"action": "none", "message": ""}, "timeout": {"action": "none", "message": ""}}, "duration": 0, "feedback": {"showtotalmark": true, "allowrevealanswer": true, "advicethreshold": 0, "showanswerstate": true, "showactualmark": true, "intro": "", "feedbackmessages": [], "enterreviewmodeimmediately": true, "showexpectedanswerswhen": "inreview", "showpartfeedbackmessageswhen": "always", "showactualmarkwhen": "always", "showtotalmarkwhen": "always", "showanswerstatewhen": "always", "showadvicewhen": "never"}, "showstudentname": true, "question_groups": [{"name": "Group", "pickQuestions": 1, "pickingStrategy": "all-ordered", "questions": [{"name": "resultant displacement", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Julie Crowley", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/113/"}, {"name": "Catherine Palmer", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/423/"}], "tags": ["rebel", "REBEL", "Rebel", "rebelmaths", "resultant displacement"], "metadata": {"description": "
resultant displacement
\nrebelmaths
", "licence": "Creative Commons Attribution 4.0 International"}, "statement": "", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"a": {"name": "a", "group": "Ungrouped variables", "definition": "random(10..90)", "description": "", "templateType": "anything", "can_override": false}, "b": {"name": "b", "group": "Ungrouped variables", "definition": "random(10..90)", "description": "", "templateType": "anything", "can_override": false}, "name1": {"name": "name1", "group": "Ungrouped variables", "definition": "random('John', 'Michael', 'Keane', 'Peter')", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["a", "b", "name1"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "{name1} travels {a} km east and then {b} km south. Determine how far {name1} is from his starting point and give his bearings with respect to the eastward direction.
\nDistance [[0]] km (to the nearest km)
\nAngle: East [[1]] $^\\circ$ South (to the nearest degree)
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 10, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "sqrt(a^2+b^2)", "maxValue": "sqrt(a^2+b^2)", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "precisionType": "dp", "precision": 0, "precisionPartialCredit": 0, "precisionMessage": "You have not given your answer to the correct precision.", "strictPrecision": true, "showPrecisionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}, {"type": "numberentry", "useCustomName": false, "customName": "", "marks": 10, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "arctan(b/a)/pi*180", "maxValue": "arctan(b/a)/pi*180", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "precisionType": "dp", "precision": 0, "precisionPartialCredit": 0, "precisionMessage": "You have not given your answer to the correct precision.", "strictPrecision": false, "showPrecisionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "type": "question"}, {"name": "Trigonometry and vectors: Find angles to nearest degree", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [["question-resources/undefined_YwBJcjH", "/srv/numbas/media/question-resources/undefined_YwBJcjH"]], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": ["epphys", "jsxgraph", "Jsxgraph", "JSXgraph", "Triangle", "triangle", "trig", "trigonometry", "vectors"], "metadata": {"description": "", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"anglelist": {"name": "anglelist", "group": "Ungrouped variables", "definition": "random(['$\\\\theta$',3],['$\\\\phi$',4])", "description": "", "templateType": "anything", "can_override": false}, "scale": {"name": "scale", "group": "Ungrouped variables", "definition": "24/triples[1]", "description": "", "templateType": "anything", "can_override": false}, "triples": {"name": "triples", "group": "Ungrouped variables", "definition": "random([[3, 4, 5], [5, 12, 13], [7, 24, 25], [8, 15, 17], [9, 40, 41], [11, 60, 61], [12, 35, 37], [16, 63, 65], [20, 21, 29], [20, 99, 101], [24, 143, 145], [28, 45, 53], [33, 56, 65], [36, 77, 85], [39, 80, 89], [44, 117, 125], [48, 55, 73], [51, 140, 149], [52, 165, 173], [57, 176, 185], [60, 91, 109], [60, 221, 229], [65, 72, 97], [68, 285, 293], [69, 260, 269], [75, 308, 317], [76, 357, 365], [84, 187, 205], [84, 437, 445], [85, 132, 157], [87, 416, 425], [88, 105, 137], [92, 525, 533], [93, 476, 485], [95, 168, 193], [96, 247, 265], [100, 621, 629], [104, 153, 185], [105, 208, 233], [105, 608, 617], [111, 680, 689], [115, 252, 277], [119, 120, 169], [120, 209, 241], [120, 391, 409], [132, 475, 493], [133, 156, 205], [135, 352, 377], [136, 273, 305], [140, 171, 221], [145, 408, 433], [152, 345, 377], [155, 468, 493], [156, 667, 685], [160, 231, 281], [161, 240, 289], [165, 532, 557], [168, 425, 457], [168, 775, 793], [175, 288, 337], [180, 299, 349], [184, 513, 545], [185, 672, 697], [189, 340, 389], [195, 748, 773], [200, 609, 641], [203, 396, 445], [204, 253, 325], [205, 828, 853], [207, 224, 305], [215, 912, 937], [216, 713, 745], [217, 456, 505], [220, 459, 509], [225, 272, 353], [228, 325, 397], [231, 520, 569], [232, 825, 857], [240, 551, 601], [248, 945, 977], [252, 275, 373], [259, 660, 709], [260, 651, 701], [261, 380, 461], [273, 736, 785], [276, 493, 565], [279, 440, 521], [280, 351, 449], [280, 759, 809], [287, 816, 865], [297, 304, 425], [300, 589, 661], [301, 900, 949], [308, 435, 533], [315, 572, 653], [319, 360, 481], [333, 644, 725], [336, 377, 505], [336, 527, 625], [341, 420, 541], [348, 805, 877], [364, 627, 725], [368, 465, 593], [369, 800, 881], [372, 925, 997], [385, 552, 673], [387, 884, 965], [396, 403, 565], [400, 561, 689], [407, 624, 745], [420, 851, 949], [429, 460, 629], [429, 700, 821], [432, 665, 793], [451, 780, 901], [455, 528, 697], [464, 777, 905], [468, 595, 757], [473, 864, 985], [481, 600, 769], [504, 703, 865], [533, 756, 925], [540, 629, 829], [555, 572, 797], [580, 741, 941], [615, 728, 953], [616, 663, 905], [696, 697, 985]])\n", "description": "Some the following were too skinny and so were removed.
random([[3,4,5], [5,12,13], [7,24,25], [8,15,17], [9,40,41],
[11,60,61], [12,35,37], [13,84,85], [15,112,113], [16,63,65],
[19,180,181], [20,21,29], [20,99,101],
[23,264,265], [24,143,145], [25,312,313], [27,364,365], [28,45,53],
[28,195,197], [31,480,481], [32,255,257], [33,56,65],
[33,544,545], [35,612,613], [36,77,85], [36,323,325], [37,684,685],
[39,80,89], [40,399,401], [41,840,841], [43,924,925],
[44,117,125], [44,483,485], [48,55,73], [48,575,577], [51,140,149],
[52,165,173], [52,675,677], [56,783,785], [57,176,185], [60,91,109],
[60,221,229], [60,899,901], [65,72,97], [68,285,293], [69,260,269],
[75,308,317], [76,357,365], [84,187,205], [84,437,445], [85,132,157],
[87,416,425], [88,105,137], [92,525,533], [93,476,485], [95,168,193],
[96,247,265], [100,621,629], [104,153,185], [105,208,233], [105,608,617],
[108,725,733], [111,680,689], [115,252,277], [116,837,845], [119,120,169],
[120,209,241], [120,391,409], [123,836,845], [129,920,929],
[132,475,493], [133,156,205], [135,352,377], [136,273,305], [140,171,221],
[145,408,433], [152,345,377], [155,468,493], [156,667,685], [160,231,281],
[161,240,289], [165,532,557], [168,425,457], [168,775,793], [175,288,337],
[180,299,349], [184,513,545], [185,672,697], [189,340,389], [195,748,773],
[200,609,641], [203,396,445], [204,253,325], [205,828,853], [207,224,305],
[215,912,937], [216,713,745], [217,456,505], [220,459,509], [225,272,353],
[228,325,397], [231,520,569], [232,825,857], [240,551,601], [248,945,977],
[252,275,373], [259,660,709], [260,651,701], [261,380,461], [273,736,785],
[276,493,565], [279,440,521], [280,351,449], [280,759,809], [287,816,865],
[297,304,425], [300,589,661], [301,900,949], [308,435,533], [315,572,653],
[319,360,481], [333,644,725], [336,377,505], [336,527,625], [341,420,541],
[348,805,877], [364,627,725], [368,465,593], [369,800,881], [372,925,997],
[385,552,673], [387,884,965], [396,403,565], [400,561,689], [407,624,745],
[420,851,949], [429,460,629], [429,700,821], [432,665,793], [451,780,901],
[455,528,697], [464,777,905], [468,595,757], [473,864,985], [481,600,769],
[504,703,865], [533,756,925], [540,629,829], [555,572,797], [580,741,941],
[615,728,953], [616,663,905], [696,697,985]])
use https://www.mathsisfun.com/numbers/pythagorean-triples.html
\n\nso always integer and we could scale by k for more randomness.
", "templateType": "anything", "can_override": false}, "v": {"name": "v", "group": "Ungrouped variables", "definition": "if(vec1[0]=1,triples[0],'')", "description": "", "templateType": "anything", "can_override": false}, "deltax": {"name": "deltax", "group": "Ungrouped variables", "definition": "precround(-12+2*triples[1]/triples[0],4)", "description": "", "templateType": "anything", "can_override": false}, "h": {"name": "h", "group": "Ungrouped variables", "definition": "if(vec1[1]=1,triples[1],'')", "description": "", "templateType": "anything", "can_override": false}, "ans": {"name": "ans", "group": "Ungrouped variables", "definition": "ansrad*180/(pi)", "description": "", "templateType": "anything", "can_override": false}, "component": {"name": "component", "group": "Ungrouped variables", "definition": "if(vec1=[1,1,0], [[\"vertical\",v], [\"horizontal\",h]],\nif(vec1=[1,0,1], [[\"vertical\",v], [\"total\",d]],\nif(vec1=[0,1,1], [[\"horizontal\",h],[\"total\",d]],'error')))", "description": "", "templateType": "anything", "can_override": false}, "name": {"name": "name", "group": "Ungrouped variables", "definition": "random([\"Ben\", \"he\"], [\"Annie\", \"she\"], [\"Matt\", \"he\"], [\"David\", \"he\"], [\"Steve\", \"he\"], [\"David\", \"he\"], [\"Scott\", \"he\"], [\"Fran\", \"she\"], [\"Jenny\", \"she\"], [\"Lyn\", \"she\"], [\"Judy-anne\", \"she\"], [\"Courtney\", \"she\"])", "description": "", "templateType": "anything", "can_override": false}, "ansrad": {"name": "ansrad", "group": "Ungrouped variables", "definition": "if(anglelist[1]=3,if(vec1[0]=0, arccos(h/d),if(vec1[1]=0,arcsin(v/d),arctan(v/h))),\nif(vec1[0]=0, arcsin(h/d),if(vec1[1]=0,arccos(v/d),arctan(h/v))))", "description": "", "templateType": "anything", "can_override": false}, "vec1": {"name": "vec1", "group": "Ungrouped variables", "definition": "shuffle([1,1,0])", "description": "", "templateType": "anything", "can_override": false}, "angle": {"name": "angle", "group": "Ungrouped variables", "definition": "anglelist[0]", "description": "", "templateType": "anything", "can_override": false}, "tritop": {"name": "tritop", "group": "Ungrouped variables", "definition": "precround(triples[0]*scale,4)/2", "description": "top of triangle for jsxgraph, keeping same ratios.
", "templateType": "anything", "can_override": false}, "switcharoo": {"name": "switcharoo", "group": "Ungrouped variables", "definition": "random(0,1)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["triples", "vec1", "v", "h", "d", "scale", "tritop", "deltax", "switcharoo", "ansrad", "anglelist", "angle", "ans", "name", "component"], "variable_groups": [], "functions": {"otherway": {"parameters": [], "type": "html", "language": "javascript", "definition": "var div = Numbas.extensions.jsxgraph.makeBoard('500px','500px',{boundingBox:[-17,17,14,-14],grid:false,axis:false});\nvar board = div.board;\n\n//Doesn't look like you need this\nJXG.Options.text.useMathJax = true;\n\n// get the height of the triangle\nTT = Numbas.jme.unwrapValue(scope.variables.tritop);\ndx = Numbas.jme.unwrapValue(scope.variables.deltax);\nh = Numbas.jme.unwrapValue(scope.variables.h);\nv = Numbas.jme.unwrapValue(scope.variables.v);\nd = Numbas.jme.unwrapValue(scope.variables.d);\n\n\n// create the horizontal line\nvar hor = board.create('line',[[-12,-TT],[12,-TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the vertical line\nvar vert = board.create('line',[[-12,-TT],[-12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the diagonal line\nvar vert = board.create('line',[[12,-TT],[-12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the box for right angle\nboard.create('line',[[(-12+0.1*TT),-TT],[(-12+0.1*TT),-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\nboard.create('line',[[(-12+0.1*TT),-TT*0.9],[-12,-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//label the angle theta\nboard.create('text',[+6.2,-4*TT/5,\n function() { \n return '$\\\\theta$';\n }], {fontSize:20,fixed: true});\n\n//label the angle phi\nboard.create('text',[-11,3*TT/5,\n function() { \n return '$\\\\phi$';\n }], {fontSize:20,fixed: true});\n\n//display the side lengths\nvar vtext= board.create('text',[-15,0,v], {fontSize:20,fixed: true});\nvar htext= board.create('text',[-2,-TT-1,h], {fontSize:20,fixed: true});\nvar dtext= board.create('text',[-2,TT/2+0.3,d], {fontSize:20,fixed: true});\n\n//can't figure out how to rotate text. http://jsxgraph.uni-bayreuth.de/wiki/index.php/Texts_and_Transformations suggests the following\n//var tRot = board.create('transform', [Math.PI/2, 13,0], {type:'rotate'}); \n//tRot.bindTo(vtext);\n\n\n\n\nreturn div;\n\n"}, "triangle": {"parameters": [], "type": "html", "language": "javascript", "definition": "var div = Numbas.extensions.jsxgraph.makeBoard('500px','500px',{boundingBox:[-13,13,17,-17],grid:false,axis:false});\nvar board = div.board;\n\n//Doesn't look like you need this\nJXG.Options.text.useMathJax = true;\n\n// get the height of the triangle\nTT = Numbas.jme.unwrapValue(scope.variables.tritop);\ndx = Numbas.jme.unwrapValue(scope.variables.deltax);\nh = Numbas.jme.unwrapValue(scope.variables.h);\nv = Numbas.jme.unwrapValue(scope.variables.v);\nd = Numbas.jme.unwrapValue(scope.variables.d);\n\n\n// create the horizontal line\nvar hor = board.create('line',[[-12,-TT],[12,-TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the vertical line\nvar vert = board.create('line',[[12,-TT],[12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the diagonal line\nvar vert = board.create('line',[[-12,-TT],[12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the box for right angle\nboard.create('line',[[(12-0.1*TT),-TT],[(12-0.1*TT),-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\nboard.create('line',[[(12-0.1*TT),-TT*0.9],[12,-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//label the angle theta\nboard.create('text',[-7.2,-4*TT/5,\n function() { \n return '$\\\\theta$';\n }], {fontSize:20,fixed: true});\n\n//label the angle phi\nboard.create('text',[9.6,3*TT/5,\n function() { \n return '$\\\\phi$';\n }], {fontSize:20,fixed: true});\n\n//display the side lengths\nvar vtext= board.create('text',[12.5,0,v], {fontSize:20,fixed: true});\nvar htext= board.create('text',[0,-TT-1,h], {fontSize:20,fixed: true});\nvar dtext= board.create('text',[0,TT/2+0.3,d], {fontSize:20,fixed: true});\n\n//can't figure out how to rotate text. http://jsxgraph.uni-bayreuth.de/wiki/index.php/Texts_and_Transformations suggests the following\n//var tRot = board.create('transform', [Math.PI/2, 13,0], {type:'rotate'}); \n//tRot.bindTo(vtext);\n\n\n\n\nreturn div;\n\n"}}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "{name[0]} wants to fire a rocket so that its {component[0][0]} velocity is {component[0][1]} $\\mathrm{ms^{-1}}$ and its {component[1][0]} velocity is {component[1][1]} $\\mathrm{ms^{-1}}$. At what angle from the horizontal should {name[1]} aim the rocket?
\n[[0]] $^\\circ$ (to the nearest degree).
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "ans", "maxValue": "ans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "precisionType": "dp", "precision": 0, "precisionPartialCredit": "50", "precisionMessage": "You have not given your answer to the correct precision.
", "strictPrecision": false, "showPrecisionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "type": "question"}, {"name": "Trigonometry and vectors: Find angles to nearest degree", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [["question-resources/undefined_YwBJcjH", "/srv/numbas/media/question-resources/undefined_YwBJcjH"]], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": ["epphys", "jsxgraph", "Jsxgraph", "JSXgraph", "Triangle", "triangle", "trig", "trigonometry", "vectors"], "metadata": {"description": "", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"anglelist": {"name": "anglelist", "group": "Ungrouped variables", "definition": "random(['$\\\\theta$',3],['$\\\\phi$',4])", "description": "", "templateType": "anything", "can_override": false}, "scale": {"name": "scale", "group": "Ungrouped variables", "definition": "24/triples[1]", "description": "", "templateType": "anything", "can_override": false}, "triples": {"name": "triples", "group": "Ungrouped variables", "definition": "random([[3, 4, 5], [5, 12, 13], [7, 24, 25], [8, 15, 17], [9, 40, 41], [11, 60, 61], [12, 35, 37], [16, 63, 65], [20, 21, 29], [20, 99, 101], [24, 143, 145], [28, 45, 53], [33, 56, 65], [36, 77, 85], [39, 80, 89], [44, 117, 125], [48, 55, 73], [51, 140, 149], [52, 165, 173], [57, 176, 185], [60, 91, 109], [60, 221, 229], [65, 72, 97], [68, 285, 293], [69, 260, 269], [75, 308, 317], [76, 357, 365], [84, 187, 205], [84, 437, 445], [85, 132, 157], [87, 416, 425], [88, 105, 137], [92, 525, 533], [93, 476, 485], [95, 168, 193], [96, 247, 265], [100, 621, 629], [104, 153, 185], [105, 208, 233], [105, 608, 617], [111, 680, 689], [115, 252, 277], [119, 120, 169], [120, 209, 241], [120, 391, 409], [132, 475, 493], [133, 156, 205], [135, 352, 377], [136, 273, 305], [140, 171, 221], [145, 408, 433], [152, 345, 377], [155, 468, 493], [156, 667, 685], [160, 231, 281], [161, 240, 289], [165, 532, 557], [168, 425, 457], [168, 775, 793], [175, 288, 337], [180, 299, 349], [184, 513, 545], [185, 672, 697], [189, 340, 389], [195, 748, 773], [200, 609, 641], [203, 396, 445], [204, 253, 325], [205, 828, 853], [207, 224, 305], [215, 912, 937], [216, 713, 745], [217, 456, 505], [220, 459, 509], [225, 272, 353], [228, 325, 397], [231, 520, 569], [232, 825, 857], [240, 551, 601], [248, 945, 977], [252, 275, 373], [259, 660, 709], [260, 651, 701], [261, 380, 461], [273, 736, 785], [276, 493, 565], [279, 440, 521], [280, 351, 449], [280, 759, 809], [287, 816, 865], [297, 304, 425], [300, 589, 661], [301, 900, 949], [308, 435, 533], [315, 572, 653], [319, 360, 481], [333, 644, 725], [336, 377, 505], [336, 527, 625], [341, 420, 541], [348, 805, 877], [364, 627, 725], [368, 465, 593], [369, 800, 881], [372, 925, 997], [385, 552, 673], [387, 884, 965], [396, 403, 565], [400, 561, 689], [407, 624, 745], [420, 851, 949], [429, 460, 629], [429, 700, 821], [432, 665, 793], [451, 780, 901], [455, 528, 697], [464, 777, 905], [468, 595, 757], [473, 864, 985], [481, 600, 769], [504, 703, 865], [533, 756, 925], [540, 629, 829], [555, 572, 797], [580, 741, 941], [615, 728, 953], [616, 663, 905], [696, 697, 985]])\n", "description": "Some the following were too skinny and so were removed.
random([[3,4,5], [5,12,13], [7,24,25], [8,15,17], [9,40,41],
[11,60,61], [12,35,37], [13,84,85], [15,112,113], [16,63,65],
[19,180,181], [20,21,29], [20,99,101],
[23,264,265], [24,143,145], [25,312,313], [27,364,365], [28,45,53],
[28,195,197], [31,480,481], [32,255,257], [33,56,65],
[33,544,545], [35,612,613], [36,77,85], [36,323,325], [37,684,685],
[39,80,89], [40,399,401], [41,840,841], [43,924,925],
[44,117,125], [44,483,485], [48,55,73], [48,575,577], [51,140,149],
[52,165,173], [52,675,677], [56,783,785], [57,176,185], [60,91,109],
[60,221,229], [60,899,901], [65,72,97], [68,285,293], [69,260,269],
[75,308,317], [76,357,365], [84,187,205], [84,437,445], [85,132,157],
[87,416,425], [88,105,137], [92,525,533], [93,476,485], [95,168,193],
[96,247,265], [100,621,629], [104,153,185], [105,208,233], [105,608,617],
[108,725,733], [111,680,689], [115,252,277], [116,837,845], [119,120,169],
[120,209,241], [120,391,409], [123,836,845], [129,920,929],
[132,475,493], [133,156,205], [135,352,377], [136,273,305], [140,171,221],
[145,408,433], [152,345,377], [155,468,493], [156,667,685], [160,231,281],
[161,240,289], [165,532,557], [168,425,457], [168,775,793], [175,288,337],
[180,299,349], [184,513,545], [185,672,697], [189,340,389], [195,748,773],
[200,609,641], [203,396,445], [204,253,325], [205,828,853], [207,224,305],
[215,912,937], [216,713,745], [217,456,505], [220,459,509], [225,272,353],
[228,325,397], [231,520,569], [232,825,857], [240,551,601], [248,945,977],
[252,275,373], [259,660,709], [260,651,701], [261,380,461], [273,736,785],
[276,493,565], [279,440,521], [280,351,449], [280,759,809], [287,816,865],
[297,304,425], [300,589,661], [301,900,949], [308,435,533], [315,572,653],
[319,360,481], [333,644,725], [336,377,505], [336,527,625], [341,420,541],
[348,805,877], [364,627,725], [368,465,593], [369,800,881], [372,925,997],
[385,552,673], [387,884,965], [396,403,565], [400,561,689], [407,624,745],
[420,851,949], [429,460,629], [429,700,821], [432,665,793], [451,780,901],
[455,528,697], [464,777,905], [468,595,757], [473,864,985], [481,600,769],
[504,703,865], [533,756,925], [540,629,829], [555,572,797], [580,741,941],
[615,728,953], [616,663,905], [696,697,985]])
use https://www.mathsisfun.com/numbers/pythagorean-triples.html
\n\nso always integer and we could scale by k for more randomness.
", "templateType": "anything", "can_override": false}, "v": {"name": "v", "group": "Ungrouped variables", "definition": "if(vec1[0]=1,triples[0],'')", "description": "", "templateType": "anything", "can_override": false}, "deltax": {"name": "deltax", "group": "Ungrouped variables", "definition": "precround(-12+2*triples[1]/triples[0],4)", "description": "", "templateType": "anything", "can_override": false}, "h": {"name": "h", "group": "Ungrouped variables", "definition": "if(vec1[1]=1,triples[1],'')", "description": "", "templateType": "anything", "can_override": false}, "ans": {"name": "ans", "group": "Ungrouped variables", "definition": "ansrad*180/(pi)", "description": "", "templateType": "anything", "can_override": false}, "component": {"name": "component", "group": "Ungrouped variables", "definition": "if(vec1=[1,1,0], [[\"vertical\",v], [\"horizontal\",h]],\nif(vec1=[1,0,1], [[\"vertical\",v], [\"total\",d]],\nif(vec1=[0,1,1], [[\"horizontal\",h],[\"total\",d]],'error')))", "description": "", "templateType": "anything", "can_override": false}, "name": {"name": "name", "group": "Ungrouped variables", "definition": "random([\"Ben\", \"he\"], [\"Annie\", \"she\"], [\"Matt\", \"he\"], [\"David\", \"he\"], [\"Steve\", \"he\"], [\"David\", \"he\"], [\"Scott\", \"he\"], [\"Fran\", \"she\"], [\"Jenny\", \"she\"], [\"Lyn\", \"she\"], [\"Judy-anne\", \"she\"], [\"Courtney\", \"she\"])", "description": "", "templateType": "anything", "can_override": false}, "ansrad": {"name": "ansrad", "group": "Ungrouped variables", "definition": "if(anglelist[1]=3,if(vec1[0]=0, arccos(h/d),if(vec1[1]=0,arcsin(v/d),arctan(v/h))),\nif(vec1[0]=0, arcsin(h/d),if(vec1[1]=0,arccos(v/d),arctan(h/v))))", "description": "", "templateType": "anything", "can_override": false}, "vec1": {"name": "vec1", "group": "Ungrouped variables", "definition": "shuffle([1,1,0])", "description": "", "templateType": "anything", "can_override": false}, "angle": {"name": "angle", "group": "Ungrouped variables", "definition": "anglelist[0]", "description": "", "templateType": "anything", "can_override": false}, "tritop": {"name": "tritop", "group": "Ungrouped variables", "definition": "precround(triples[0]*scale,4)/2", "description": "top of triangle for jsxgraph, keeping same ratios.
", "templateType": "anything", "can_override": false}, "switcharoo": {"name": "switcharoo", "group": "Ungrouped variables", "definition": "random(0,1)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["triples", "vec1", "v", "h", "d", "scale", "tritop", "deltax", "switcharoo", "ansrad", "anglelist", "angle", "ans", "name", "component"], "variable_groups": [], "functions": {"otherway": {"parameters": [], "type": "html", "language": "javascript", "definition": "var div = Numbas.extensions.jsxgraph.makeBoard('500px','500px',{boundingBox:[-17,17,14,-14],grid:false,axis:false});\nvar board = div.board;\n\n//Doesn't look like you need this\nJXG.Options.text.useMathJax = true;\n\n// get the height of the triangle\nTT = Numbas.jme.unwrapValue(scope.variables.tritop);\ndx = Numbas.jme.unwrapValue(scope.variables.deltax);\nh = Numbas.jme.unwrapValue(scope.variables.h);\nv = Numbas.jme.unwrapValue(scope.variables.v);\nd = Numbas.jme.unwrapValue(scope.variables.d);\n\n\n// create the horizontal line\nvar hor = board.create('line',[[-12,-TT],[12,-TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the vertical line\nvar vert = board.create('line',[[-12,-TT],[-12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the diagonal line\nvar vert = board.create('line',[[12,-TT],[-12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the box for right angle\nboard.create('line',[[(-12+0.1*TT),-TT],[(-12+0.1*TT),-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\nboard.create('line',[[(-12+0.1*TT),-TT*0.9],[-12,-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//label the angle theta\nboard.create('text',[+6.2,-4*TT/5,\n function() { \n return '$\\\\theta$';\n }], {fontSize:20,fixed: true});\n\n//label the angle phi\nboard.create('text',[-11,3*TT/5,\n function() { \n return '$\\\\phi$';\n }], {fontSize:20,fixed: true});\n\n//display the side lengths\nvar vtext= board.create('text',[-15,0,v], {fontSize:20,fixed: true});\nvar htext= board.create('text',[-2,-TT-1,h], {fontSize:20,fixed: true});\nvar dtext= board.create('text',[-2,TT/2+0.3,d], {fontSize:20,fixed: true});\n\n//can't figure out how to rotate text. http://jsxgraph.uni-bayreuth.de/wiki/index.php/Texts_and_Transformations suggests the following\n//var tRot = board.create('transform', [Math.PI/2, 13,0], {type:'rotate'}); \n//tRot.bindTo(vtext);\n\n\n\n\nreturn div;\n\n"}, "triangle": {"parameters": [], "type": "html", "language": "javascript", "definition": "var div = Numbas.extensions.jsxgraph.makeBoard('500px','500px',{boundingBox:[-13,13,17,-17],grid:false,axis:false});\nvar board = div.board;\n\n//Doesn't look like you need this\nJXG.Options.text.useMathJax = true;\n\n// get the height of the triangle\nTT = Numbas.jme.unwrapValue(scope.variables.tritop);\ndx = Numbas.jme.unwrapValue(scope.variables.deltax);\nh = Numbas.jme.unwrapValue(scope.variables.h);\nv = Numbas.jme.unwrapValue(scope.variables.v);\nd = Numbas.jme.unwrapValue(scope.variables.d);\n\n\n// create the horizontal line\nvar hor = board.create('line',[[-12,-TT],[12,-TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the vertical line\nvar vert = board.create('line',[[12,-TT],[12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the diagonal line\nvar vert = board.create('line',[[-12,-TT],[12,TT]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//create the box for right angle\nboard.create('line',[[(12-0.1*TT),-TT],[(12-0.1*TT),-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\nboard.create('line',[[(12-0.1*TT),-TT*0.9],[12,-TT*0.9]], { straightFirst:false, straightLast:false, strokeColor: 'black', fixed: true});\n\n//label the angle theta\nboard.create('text',[-7.2,-4*TT/5,\n function() { \n return '$\\\\theta$';\n }], {fontSize:20,fixed: true});\n\n//label the angle phi\nboard.create('text',[9.6,3*TT/5,\n function() { \n return '$\\\\phi$';\n }], {fontSize:20,fixed: true});\n\n//display the side lengths\nvar vtext= board.create('text',[12.5,0,v], {fontSize:20,fixed: true});\nvar htext= board.create('text',[0,-TT-1,h], {fontSize:20,fixed: true});\nvar dtext= board.create('text',[0,TT/2+0.3,d], {fontSize:20,fixed: true});\n\n//can't figure out how to rotate text. http://jsxgraph.uni-bayreuth.de/wiki/index.php/Texts_and_Transformations suggests the following\n//var tRot = board.create('transform', [Math.PI/2, 13,0], {type:'rotate'}); \n//tRot.bindTo(vtext);\n\n\n\n\nreturn div;\n\n"}}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "{name[0]} wants to fire a rocket so that its {component[0][0]} velocity is {component[0][1]} $\\mathrm{ms^{-1}}$ and its {component[1][0]} velocity is {component[1][1]} $\\mathrm{ms^{-1}}$. At what angle from the horizontal should {name[1]} aim the rocket?
\n[[0]] $^\\circ$ (to the nearest degree).
", "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "ans", "maxValue": "ans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "precisionType": "dp", "precision": 0, "precisionPartialCredit": "50", "precisionMessage": "You have not given your answer to the correct precision.
", "strictPrecision": false, "showPrecisionHint": false, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always", "type": "question"}, {"name": "Work done by a force", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Julie Crowley", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/113/"}], "functions": {}, "ungrouped_variables": ["p2", "f1", "f2", "f3", "p3", "p1", "q3", "q1", "q2"], "tags": ["rebel", "Rebel", "REBEL", "rebelmaths", "Vector", "vector", "work"], "preamble": {"css": "", "js": ""}, "advice": "", "rulesets": {}, "parts": [{"stepsPenalty": 0, "prompt": "Find the work done by a force $\\mathbf{F}=$ {f1}$\\mathbf{i}+$ {f2}$\\mathbf{j}+${f3}$\\mathbf{k}$ in moving an object from the point P({p1},{p2},{p3}) to the point Q({q1},{q2},{q3}).
\n[[0]] Joules
", "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "steps": [{"prompt": "First find the displacement vector $\\simplify{vec:d}$= $\\simplify{vec:PQ}$.
\nNote
\n$\\simplify{vec:d =vec:PQ =vec:Q-vec:P}$.
\nWork done$=$ $\\simplify{vec:F}$ $\\cdot$ $\\simplify{vec:d}$ (Scalar Product)
", "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "scripts": {}, "marks": 0, "type": "information"}], "gaps": [{"allowFractions": false, "variableReplacements": [], "maxValue": "f1*(q1-p1)+f2*(q2-p2)+f3*(q3-p3)", "minValue": "f1*(q1-p1)+f2*(q2-p2)+f3*(q3-p3)", "variableReplacementStrategy": "originalfirst", "correctAnswerFraction": false, "showCorrectAnswer": true, "scripts": {}, "marks": 20, "type": "numberentry", "showPrecisionHint": false}], "showCorrectAnswer": true, "scripts": {}, "marks": 0, "type": "gapfill"}], "statement": "", "variable_groups": [], "variablesTest": {"maxRuns": 100, "condition": ""}, "variables": {"p2": {"definition": "random(-9..2 except 0)", "templateType": "anything", "group": "Ungrouped variables", "name": "p2", "description": ""}, "f1": {"definition": "random(1..9)", "templateType": "anything", "group": "Ungrouped variables", "name": "f1", "description": ""}, "f2": {"definition": "random(1..9)", "templateType": "anything", "group": "Ungrouped variables", "name": "f2", "description": ""}, "f3": {"definition": "random(1..9)", "templateType": "anything", "group": "Ungrouped variables", "name": "f3", "description": ""}, "q2": {"definition": "random(1..9)", "templateType": "anything", "group": "Ungrouped variables", "name": "q2", "description": ""}, "p3": {"definition": "random(-9..2 except 0)", "templateType": "anything", "group": "Ungrouped variables", "name": "p3", "description": ""}, "q3": {"definition": "random(1..9)", "templateType": "anything", "group": "Ungrouped variables", "name": "q3", "description": ""}, "q1": {"definition": "random(1..9)", "templateType": "anything", "group": "Ungrouped variables", "name": "q1", "description": ""}, "p1": {"definition": "random(-9..2 except 0)", "templateType": "anything", "group": "Ungrouped variables", "name": "p1", "description": ""}}, "metadata": {"description": "rebelmaths
", "licence": "Creative Commons Attribution 4.0 International"}, "type": "question", "showQuestionGroupNames": false, "question_groups": [{"name": "", "pickingStrategy": "all-ordered", "pickQuestions": 0, "questions": []}]}]}], "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "Practical questions
"}, "showQuestionGroupNames": false, "type": "exam", "contributors": [{"name": "Michael Proudman", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/269/"}, {"name": "Violeta CIT", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1030/"}, {"name": "Marie Nicholson", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1799/"}], "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [["question-resources/undefined_YwBJcjH", "/srv/numbas/media/question-resources/undefined_YwBJcjH"]]}