// Numbas version: finer_feedback_settings {"name": "Hannah's copy of Trigonometry and vectors: Find approx lengths of components", "extensions": ["jsxgraph"], "custom_part_types": [], "resources": [["question-resources/undefined", "/srv/numbas/media/question-resources/undefined"], ["question-resources/undefined_YwBJcjH", "/srv/numbas/media/question-resources/undefined_YwBJcjH"]], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"name": "Hannah's copy of Trigonometry and vectors: Find approx lengths of components", "variable_groups": [], "variablesTest": {"maxRuns": 100, "condition": ""}, "parts": [{"prompt": "
{name[0]} wants to fire a rocket so that its angle of launch is {smallest_angle}$^\\circ$ above the horizontal and its {component[0][0]} is {component[0][1]} $\\mathrm{ms^{-1}}$. What will the rocket's {component[1][0]} be at the moment of launch?
[[0]] $\\mathrm{ms^{-1}}$ (to 1 decimal place)
", "type": "gapfill", "marks": 0, "gaps": [{"allowFractions": false, "precisionPartialCredit": "50", "minValue": "ans", "mustBeReduced": false, "mustBeReducedPC": 0, "variableReplacements": [], "notationStyles": ["plain", "en", "si-en"], "correctAnswerFraction": false, "precision": "1", "showPrecisionHint": false, "precisionType": "dp", "type": "numberentry", "marks": 1, "showCorrectAnswer": true, "maxValue": "ans", "correctAnswerStyle": "plain", "scripts": {}, "strictPrecision": false, "showFeedbackIcon": true, "precisionMessage": "You have not given your answer to the correct precision.
", "variableReplacementStrategy": "originalfirst"}], "showCorrectAnswer": true, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "showFeedbackIcon": true, "scripts": {}}], "tags": [], "metadata": {"licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International", "description": ""}, "ungrouped_variables": ["triples", "vec1", "v", "h", "d", "scale", "tritop", "deltax", "switcharoo", "display_angles", "smallest_angle", "rsang", "component", "name", "ans"], "statement": "", "preamble": {"css": "", "js": ""}, "extensions": ["jsxgraph"], "functions": {"triangle": {"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);\ntheta = Numbas.jme.unwrapValue(scope.variables.display_angles0);\nphi = Numbas.jme.unwrapValue(scope.variables.display_angles1);\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", "parameters": [], "type": "html", "language": "javascript"}, "otherway": {"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);\ntheta = Numbas.jme.unwrapValue(scope.variables.display_angles0);\nphi = Numbas.jme.unwrapValue(scope.variables.display_angles1);\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',[5.5,-4*TT/5,\n function() { \n return theta;\n }], {fontSize:20,fixed: true});\n\n//label the angle phi\nboard.create('text',[-11.5,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", "parameters": [], "type": "html", "language": "javascript"}}, "variables": {"smallest_angle": {"group": "Ungrouped variables", "name": "smallest_angle", "description": "", "templateType": "anything", "definition": "precround(180*arctan(triples[0]/triples[1])/pi,0)"}, "triples": {"group": "Ungrouped variables", "name": "triples", "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]])
radians smallest angle
", "templateType": "anything", "definition": "smallest_angle*pi/180"}, "ans": {"group": "Ungrouped variables", "name": "ans", "description": "", "templateType": "anything", "definition": "component[1][1]"}, "deltax": {"group": "Ungrouped variables", "name": "deltax", "description": "", "templateType": "anything", "definition": "precround(-12+2*triples[1]/triples[0],4)"}, "component": {"group": "Ungrouped variables", "name": "component", "description": "", "templateType": "anything", "definition": "if(vec1=[0,1,2], [[\"horizontal velocity\",h],[\"speed\",h/cos(rsang)]],\nif(vec1=[0,2,1], [[\"speed\",d],[\"horizontal velocity\",d*cos(rsang)]],\nif(vec1=[1,0,2], [[\"vertical velocity\",v],[\"speed\",v/sin(rsang)]],\nif(vec1=[1,2,0], [[\"vertical velocity\",v],[\"horizontal velocity\",v/tan(rsang)]],\nif(vec1=[2,0,1], [[\"speed\",d],[\"vertical\",d*sin(rsang)]],\nif(vec1=[2,1,0], [[\"horizontal velocity\",h],[\"vertical velocity\",h*tan(rsang)]],\n'error'))))))"}, "name": {"group": "Ungrouped variables", "name": "name", "description": "", "templateType": "anything", "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\"])"}, "display_angles": {"group": "Ungrouped variables", "name": "display_angles", "description": "", "templateType": "anything", "definition": "smallest_angle+'$\\^\\\\circ$'"}, "d": {"group": "Ungrouped variables", "name": "d", "description": "use https://www.mathsisfun.com/numbers/pythagorean-triples.html
\n\nso always integer and scale by k for more randomness.
", "templateType": "anything", "definition": "if(vec1[2]=1,triples[2],if(vec1[2]=0,'','$x$'))"}, "tritop": {"group": "Ungrouped variables", "name": "tritop", "description": "top of triangle for jsxgraph, keeping same ratios.
", "templateType": "anything", "definition": "precround(triples[0]*scale,4)/2"}}, "advice": "", "rulesets": {}, "type": "question", "contributors": [{"name": "Hannah Bartholomew", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/530/"}]}]}], "contributors": [{"name": "Hannah Bartholomew", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/530/"}]}