{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":58862,"title":"Given Hypotenuse points create two right triangles","description":"Given two points defining a hypotenuse create two right triangles of (h,5,R). Return the two (x,y) points that create the right triangles. I will elaborate on two geometric methods utilizing Matlab specific functions, rotation matrix, and translation matrix.\r\nGiven points [x1,y1] and [x2,y2] return  [x3 y3;x4 y4] such that distance(xy2,xy3)=distance(xy2,xy4)=5. h\u003e5\r\nThe below figure is created based upon h=distance([x1,y1],[x2,y2]), translating (x1,y1) to (0,0), and rotating (x2,y2) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,5] with R^2+5^2=h^2. Subtracting and simplifying these triangles leads to Y and two X values after substituting back into R^2=X^+Y^2 equation.\r\nP^2=X^2+(h-Y)^2  and R^2=X^2+Y^2  after subtraction gives R^2-P^2=Y^2-(d-Y)^2 = Y^2-d^2+2dY-Y^2=2dY-d^2 thus\r\nY=(R^2-P^2+h^2)/(2h)  and X=+/- (R^2-Y^2)^.5\r\nThe trick is to now un-rotate and translate this solution matrix using t=atan2(dx,dy), [cos(t) -sin(t);sin(t) cos(t)] and [x1 y1]\r\nA second method to find (X,Y) is theta=atan(5/R), X=Rsin(theta) and Y=Rcos(theta). The rotation and translation matrices are still required to return to the original coordinate system.\r\n\r\nIn this figure h represents distance from (x1,y1) to (x2,y2) and (x1,y1) has been translated to 0,0","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 894.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 447.25px; transform-origin: 407px 447.25px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 372px 8px; transform-origin: 372px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven two points defining a hypotenuse create two right triangles of (h,5,R). Return the two (x,y) points that create the right triangles. I will elaborate on two geometric methods utilizing Matlab specific functions, rotation matrix, and translation matrix.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 332.5px 8px; transform-origin: 332.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven points [x1,y1] and [x2,y2] return  [x3 y3;x4 y4] such that distance(xy2,xy3)=distance(xy2,xy4)=5. h\u0026gt;5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 380.5px 8px; transform-origin: 380.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe below figure is created based upon h=distance([x1,y1],[x2,y2]), translating (x1,y1) to (0,0), and rotating (x2,y2) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,5] with R^2+5^2=h^2. Subtracting and simplifying these triangles leads to Y and two X values after substituting back into R^2=X^+Y^2 equation.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 358px 8px; transform-origin: 358px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eP^2=X^2+(h-Y)^2  and R^2=X^2+Y^2  after subtraction gives R^2-P^2=Y^2-(d-Y)^2 = Y^2-d^2+2dY-Y^2=2dY-d^2 thus\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 143px 8px; transform-origin: 143px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eY=(R^2-P^2+h^2)/(2h)  and X=+/- (R^2-Y^2)^.5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 379px 8px; transform-origin: 379px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe trick is to now un-rotate and translate this solution matrix using t=atan2(dx,dy), [cos(t) -sin(t);sin(t) cos(t)] and [x1 y1]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 383.5px 8px; transform-origin: 383.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA second method to find (X,Y) is theta=atan(5/R), X=Rsin(theta) and Y=Rcos(theta). The rotation and translation matrices are still required to return to the original coordinate system.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 549.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 274.75px; text-align: left; transform-origin: 384px 274.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 416px;height: 544px\" src=\"data:image/png;base64,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eTk5OY899ljomOo1a9a0adOmS5cuQoicnJyBAweuW7cuah/k5+fbLvFsP4JjEqGjuXPnHjlyRAgxcOBA65L8/Pxx48bF/cHTTz9dCBEMBrds2SKEKCoqqqmpCb9CcXHxuHHjFixYIGXfQW4cyDoQIXIChNvoA09Nnz49EAisXr06dEl9fX34kdUnn3xyc8/6KhydQBxANY2NjbazIOzcuXP37t2LFy8uKSkRQnTo0OHWW2+1vjV48ODBgwcneMuffPKJdWakmpqakSNHXnvttdnZ2Xv27HnuuecqKytfffXVxsbGRHYrnKXCyoGUXYbICZBicBt94KlAwH5A6LFjx8JjvEWLFqo9B3PYAVRWWlpaWlra3HfbtGnz9ttvh/YXkrJr1y7rAfvWW28NHz48dPmdd945evToxYsXl5aW3nzzzUOGDEnhxlOjQhxYOBDBD3j/gmRZWVnhZ289duxYixYtJI7HhjiAjgKBQLdu3e69996qqqo+ffqkdiOjRo06duzYN998Ex4H1o2/+OKLrVq1EkIsWLDAgeEmRp04sOHgJFOxfiDZaaedVllZGfpjfX39lVdeKXE8gF7GjBkzf/788EsCgUDLli0j1+qEEO+9997zzz8f9zYfeOCB3r17W1+3bNky8grZ2dlXXXXV4sWL165dm9Kok6ZgHHBGBOPRB5JZL25Wr149aNCgHTt2rFu37tFHH5U9qONYPID6MjMzE98++Oyzz5YsWRL3arfddlvc63z/+98XQvz73/9O8K7ToWAcWNhlMBt9IFkgEHjiiSfuueees846q7KysqioKDc3V/aghCAOYKKf/vSnTz31VNyrnXPOOUKII0eOVFRUtGrVynqvo411ToW2bds6PkgbZePAQiIYjD6QYNCgQeHnT+zXr591GhYArurevXv37t0TvPJVV121cuXKiy++eM2aNZHftT636aKLLnJyfBEUjwMbEsEwHJ+IKFg8AKzn/vLy8qqqKtu3lixZsm3bNiHE+PHj3RuALnHALGEq+gB2xAEghPjFL35hHdlQWFgYfn6ksrKym266SQhRUFDg3psbdYkDCx/NYCT2FwAgiry8vJKSksLCwu3bt//oRz+66qqrWrduvXPnzg0bNgghevTosWjRIpfuWq84sGGXwRisH+AELB4AIcOGDduwYcNPfvKTxsbGpUuXlpSUbNiwoWXL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\" data-image-state=\"image-loaded\" width=\"416\" height=\"544\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 302.5px 8px; transform-origin: 302.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn this figure h represents distance from (x1,y1) to (x2,y2) and (x1,y1) has been translated to 0,0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function xy = find_xy_RightTriangles(x1,y1,x2,y2)\r\n % The hypotenuse end points are (x1,y1) and (x2,y2) \r\n % A length 5 segment is attached to (x2,y2)\r\n % Complete the two possible right triangles\r\n % xy=[x3 y3;x4 y4]\r\n \r\n  h=norm([x2-x1 y2-y1]);\r\n \r\n  R2=h^2-25;\r\n  R=R2^0.5;\r\n  \r\n  %PRh mehtod\r\n  %y=\r\n  %x=\r\n  %xy=[-x y;x y];\r\n  \r\n  %Trig method\r\n  %theta=atan(?/R);\r\n  %y=\r\n  %x=\r\n  %xy=[-x y;x y];\r\n \r\n \r\n %Rotation Angle: atan2\r\n theta=atan2(x2-x1,y2-y1); % (X,Y) output radians Neg Left of vert, Pos Right of Vert\r\n \r\n %Rotation Matrix: [cos(t) -sin(t);sin(t) cos(t)]\r\n %Translation matrix: [x1 y1]\r\n %Check of (x2,y2) being regenerated from h, theta, and translation\r\n [x2y2]=[0 h]*[cos(theta) -sin(theta);sin(theta) cos(theta)]+[x1 y1]\r\n [x2 y2]\r\n \r\n %xy=\r\n \r\n \r\nend %find_xy_RightTriangles","test_suite":"%%\r\nvalid=1;\r\nx1=0;y1=0;x2=0;y2=13;\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;x2=0;y2=-13;\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=5;y1=5;x2=5;y2=-8;\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;x2=0;y2=0;\r\nwhile norm([x2-x1 y2-y1])\u003c5.1\r\n x1=10*rand-5;y1=10*rand-5;x2=20*rand-10;y2=-20*rand+10;\r\n %fprintf('%.3f ',[x1 y1 x2 y2]);fprintf('\\n');\r\nend\r\nfprintf('%.3f ',[x1 y1 x2 y2]);fprintf('\\n');\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2023-08-11T18:08:31.000Z","deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2023-08-11T18:08:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-08-11T15:21:29.000Z","updated_at":"2024-11-18T01:49:13.000Z","published_at":"2023-08-11T17:36:27.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two points defining a hypotenuse create two right triangles of (h,5,R). Return the two (x,y) points that create the right triangles. I will elaborate on two geometric methods utilizing Matlab specific functions, rotation matrix, and translation matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven points [x1,y1] and [x2,y2] return  [x3 y3;x4 y4] such that distance(xy2,xy3)=distance(xy2,xy4)=5. h\u0026gt;5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe below figure is created based upon h=distance([x1,y1],[x2,y2]), translating (x1,y1) to (0,0), and rotating (x2,y2) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,5] with R^2+5^2=h^2. Subtracting and simplifying these triangles leads to Y and two X values after substituting back into R^2=X^+Y^2 equation.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eP^2=X^2+(h-Y)^2  and R^2=X^2+Y^2  after subtraction gives R^2-P^2=Y^2-(d-Y)^2 = Y^2-d^2+2dY-Y^2=2dY-d^2 thus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eY=(R^2-P^2+h^2)/(2h)  and X=+/- (R^2-Y^2)^.5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe trick is to now un-rotate and translate this solution matrix using t=atan2(dx,dy), [cos(t) -sin(t);sin(t) cos(t)] and [x1 y1]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA second method to find (X,Y) is theta=atan(5/R), X=Rsin(theta) and Y=Rcos(theta). The rotation and translation matrices are still required to return to the original coordinate system.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"544\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"416\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this figure h represents distance from (x1,y1) to (x2,y2) and (x1,y1) has been translated to 0,0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArUAAAOLCAIAAADBxex/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH5wgLEDElsZs93wAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJbmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAxMS1BdWctMjAyMyAwOTo0OTozN+MD0PwAACAASURBVHic7N15dFTlwfjxJ0PeSDFYeGOkASlShSBSRUEWi2AN4oaUIAURcUFUpFhsXQo/F1CwvkFo8dSVGlxDRNFykKKNyhYQWao0TQMBpGAKHIyRVNBDQ5j8/rh0HO5MZr33Psv9fk5PT5hMZh4k88x3nufOnYympiYBAAAQJiB7AAAAQDn0AQAAsKMPAACAHX0AAADs6AMAAGBHHwAAADv6AAAA2NEHAADAjj4AAAB29AEAALCjDwAAgB19AAAA7OgDAABgRx8AAAA7+gAAANjRBwAAwI4+AAAAdvQBAACwow8AAIAdfQAAAOzoAwAAYEcfAAAAO/oAAADY0QcAAMCOPgAAAHb0AQAAsKMPAACAHX0AAADs6AMAAGBHHwAAADv6AAAA2NEHAADAjj4AAAB29AEAALCjDwAAgB19AAAA7OgDAABgRx8AAAA7+gAAANjRBwAAwI4+AAAAdvQBAACwow8AAIAdfQAAAOzoAwAAYEcfAAAAO/oAAADY0QcAAMCOPgAAAHb0AQAAsKMPAACAHX0AAADs6AMAAGBHHwAAADv6AAAA2NEHAADAjj4AAAB29AEAALCjDwAAgB19AAAA7OgDAABgRx8AAAA7+gAAANjRB3KUl5eH/3HHjh3vv//+J598Ims8AACEy5Q9AD965plnSktLQ4kwc+bMlStX9urVq7q6Ojs7+8UXXzzppJPkjhAA4HP0gacOHjxYVFRUVlZ28sknW5dUVVUtWrSovLy8bdu2QohrrrnmnXfeGTlypNRhAgD8jv0FT82bNy8nJ+exxx4LXdKmTZv58+dbcSCE6Ny58759+ySNDj6V4T7Zf0UASWP9wFPTp08PBAKrV68OXdK+ffv27dtbX+/evXvFihUTJ06M/MH8/HyPhgiDbN++XfYQjouRCF27dvVyJDBJdXW17CGYjD7wVCDQ7ILNgQMHbrnllkmTJnXv3j3qFeQ+EvLz86U/FKWPQfoA4o7B2VfqTU1N7t14SHMRY7v3EPX/FfwwABXGwKsmt9EHSqioqLjjjjtuu+228ePHyx4LtJHOE3Zzz75xfyQjIyOFnw1JfMyR10znfgEkiz6Q76OPPpoyZcqsWbMuv/xy2WOB0qynzASfYtV8Nm1uVIn8pULXSbNRACSCPpCspqZm8uTJc+fOHTBgwNGjR4UQgUCgRYsWsscF+ZJaHtD9+TLZbgi/XPe/O6Am+kCykpKSb775JvyYxLFjxz788MMShwS5tF4ecFwix0DYLvTJfxnAbfSBBIMGDQqdHGnq1KlTp06VOx5IF7cJQs950g8Kk6upqSn0X4ClBcBVbOPpwefPCqaKnQVqPjaV3ftPvLFgBmZFt7F+AHhKxybQQvh/utjbEPxHBhJBHwBeIAu8FLsVCAUgEfQB4KIYWcCTkzdC/50JBSAp9AHgPLJAQYQCkBT6AHBS1DLgWUcphAKQCPoAcABZoCNCAYiBPgDSQhkYIG4o8A8KH6IPgFSQBUZqLhSoBPgQfQAkhzLwg6ihQCXAV+gDICFkgT+FPtU6dAmHJsAn6AMgDsoAkZUgWE6A6egDoFmRZcCTgZ+x6QBfoQ+AKCgDxNDcpgO/JDAJfQCcgDJAgjg0AWajD4DjKAOkgEMTYCr6AKAMkC4qAeahD+BrlAEc1NwBjPxSQUf0AXyKMoB7bMsJLCRAR/QBfIcygDeampp4jwP0RR/ARygDeCzqexz4rYMW6AP4AmUAidhugI7oA5jPFgfMy5CCSoBe6AOYjDKAajgoAboIyB4A4BbiAGpqamqy/TZG/QwwQC7WD2AgygDqY7sBiqMPYJrwOGC2heKoBCiL/QWYIyMjgziAjthugIJYP4AhKANojYUEqIb1A2iPZQMYw3boIgsJkIg+gMYiy4A4gAFIBKiAPoCueJMCDGZLBCoB3uP4A+iHMoAfRB6RwK86vMT6ATRDHMBXWEiALPQBdMLRBvAh3v0IKegD6IE3KcDPeF8DvEcfQAMsGwCCvQZ4iz6A6lg2AEJYSIBn6AMojTgAIrGQAA/QB1AUBxwAMXDQItxGH0BFHHAAxMVeA1xFH0A5LBsAiSMR4BL6AGohDoBkkQhwA30AVXDAAZAyEgGO4/MXoATKAEhT+Oc1WP/PQwnpYP0A8hEHgFNYSIBT6ANIRhwAziIR4Aj6ADIRB4AbSASkjz6ANMQB4B4SAWmiDyBHaMLi9EeAS0gEpIM+gAThcSB3JIDZSASkjD6A14gDwEvhS3R8mBMSRx/AU8QBIAULCUgWfQCPhL9wIQ4A75EISAp9AC/wVgVABSQCEkcfwHXEAaAOEgEJog/gLuIAUE1TU9Pzvdo/36u9IBHQPPoALiIOAAXN793B+oJEQAz0AdxCHAAKCsWBEOKOv+6zviAREIk+gCuIA0BB4XFw++a9PDYRA30A5xEHgIJscWB9EX7qJAljgsLoAziMOAAUFDUOLCQCoqIP4CTiAFBQjDiwkAiIRB/AFcQBoIi4cWAhEWBDH8AxnD4ZUE2CcWBDIkDQB3AKcQCoJtk44NSKCEcfwAFMJYBqUls5IBEQQh8gXRyTCKgmtTiwkAiw0AdIC3EAqCadOLCQCBD0AZxCHAAqSD8OLCQC6AOkjmMSAaU4FQcWEsHnMmUPALoiDiDXsmXLGhsbIy/PzMzMysrq16/fKaeckv69NDY2BoPB5r6blZWV/l04xdk4sDQ1NVEGvkUfIBVMGZBuzJgxhw8fjnGFc88994EHHhg1alSa97J48eLmvqtOHLsRB5ZQImRkZKjz94UH2F9A0jgmEeoIBAJZEaxvVVRUjB49+re//W06t79p0yYnhuku9+LAhhcGvsL6AZJDHEApY8eOfeWVV2wXBoPB119//e67766trX3ooYdGjBjRrVu3FG68oaFhz549QojZs2eff/75DgzXBR7EQfguA6sI/kEfIEXMEVBWIBC4/vrrTzvttMsuuywYDD777LNPPvlkCrezatUq69Z+9atfZWaqOFt6tnLAgQg+xP6CHOXl5eF/rKmpef/996urq2WNJ0EckwiNDB48uGPHjkKIXbt2pXYLn332mRCiW7duPo8DCx/g5Dcq/tIb75lnniktLQ0lwtKlS4uKii666KK//vWvP/vZz6ZMmSJ3eM0hDqCds846q6ampqGhwfrjihUrFi5cGPen7r777h49eggh1q1bJ4RQc2fB4ziwcKyir9AHnjp48GBRUVFZWdnJJ59sXXLs2LEZM2YsWrSoS5cudXV1BQUFw4YN69y5s9xxRuIVA7QTDAbXr18vhMjOzrYu2bp1a3FxcdwfHDFihNUHW7duFUL0799/1apVCxYsqK2tzczMbNeu3c033zxgwAA3xx6HlDiwIRGMRx94at68eTk5OY899ljomOo1a9a0adOmS5cuQoicnJyBAweuW7cuah/k5+fbLvFsP4JjEqGjuXPnHjlyRAgxcOBA65L8/Pxx48bF/cHTTz9dCBEMBrds2SKEKCoqqqmpCb9CcXHxuHHjFixYIGXfQW4cyDoQIXIChNvoA09Nnz49EAisXr06dEl9fX34kdUnn3xyc8/6KhydQBxANY2NjbazIOzcuXP37t2LFy8uKSkRQnTo0OHWW2+1vjV48ODBgwcneMuffPKJdWakmpqakSNHXnvttdnZ2Xv27HnuuecqKytfffXVxsbGRHYrnKXCyoGUXYbICZBicBt94KlAwH5A6LFjx8JjvEWLFqo9B3PYAVRWWlpaWlra3HfbtGnz9ttvh/YXkrJr1y7rAfvWW28NHz48dPmdd945evToxYsXl5aW3nzzzUOGDEnhxlOjQhxYOBDBD3j/gmRZWVnhZ289duxYixYtJI7HhjiAjgKBQLdu3e69996qqqo+ffqkdiOjRo06duzYN998Ex4H1o2/+OKLrVq1EkIsWLDAgeEmRp04sOHgJFOxfiDZaaedVllZGfpjfX39lVdeKXE8gF7GjBkzf/788EsCgUDLli0j1+qEEO+9997zzz8f9zYfeOCB3r17W1+3bNky8grZ2dlXXXXV4sWL165dm9Kok6ZgHHBGBOPRB5JZL25Wr149aNCgHTt2rFu37tFHH5U9qONYPID6MjMzE98++Oyzz5YsWRL3arfddlvc63z/+98XQvz73/9O8K7ToWAcWNhlMBt9IFkgEHjiiSfuueees846q7KysqioKDc3V/aghCAOYKKf/vSnTz31VNyrnXPOOUKII0eOVFRUtGrVynqvo411ToW2bds6PkgbZePAQiIYjD6QYNCgQeHnT+zXr591GhYArurevXv37t0TvPJVV121cuXKiy++eM2aNZHftT636aKLLnJyfBEUjwMbEsEwHJ+IKFg8AKzn/vLy8qqqKtu3lixZsm3bNiHE+PHj3RuALnHALGEq+gB2xAEghPjFL35hHdlQWFgYfn6ksrKym266SQhRUFDg3psbdYkDCx/NYCT2FwAgiry8vJKSksLCwu3bt//oRz+66qqrWrduvXPnzg0bNgghevTosWjRIpfuWq84sGGXwRisH+AELB4AIcOGDduwYcNPfvKTxsbGpUuXlpSUbNiwoWXL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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":58862,"title":"Given Hypotenuse points create two right triangles","description":"Given two points defining a hypotenuse create two right triangles of (h,5,R). Return the two (x,y) points that create the right triangles. I will elaborate on two geometric methods utilizing Matlab specific functions, rotation matrix, and translation matrix.\r\nGiven points [x1,y1] and [x2,y2] return  [x3 y3;x4 y4] such that distance(xy2,xy3)=distance(xy2,xy4)=5. h\u003e5\r\nThe below figure is created based upon h=distance([x1,y1],[x2,y2]), translating (x1,y1) to (0,0), and rotating (x2,y2) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,5] with R^2+5^2=h^2. Subtracting and simplifying these triangles leads to Y and two X values after substituting back into R^2=X^+Y^2 equation.\r\nP^2=X^2+(h-Y)^2  and R^2=X^2+Y^2  after subtraction gives R^2-P^2=Y^2-(d-Y)^2 = Y^2-d^2+2dY-Y^2=2dY-d^2 thus\r\nY=(R^2-P^2+h^2)/(2h)  and X=+/- (R^2-Y^2)^.5\r\nThe trick is to now un-rotate and translate this solution matrix using t=atan2(dx,dy), [cos(t) -sin(t);sin(t) cos(t)] and [x1 y1]\r\nA second method to find (X,Y) is theta=atan(5/R), X=Rsin(theta) and Y=Rcos(theta). The rotation and translation matrices are still required to return to the original coordinate system.\r\n\r\nIn this figure h represents distance from (x1,y1) to (x2,y2) and (x1,y1) has been translated to 0,0","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 894.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 447.25px; transform-origin: 407px 447.25px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 372px 8px; transform-origin: 372px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven two points defining a hypotenuse create two right triangles of (h,5,R). Return the two (x,y) points that create the right triangles. I will elaborate on two geometric methods utilizing Matlab specific functions, rotation matrix, and translation matrix.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 332.5px 8px; transform-origin: 332.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven points [x1,y1] and [x2,y2] return  [x3 y3;x4 y4] such that distance(xy2,xy3)=distance(xy2,xy4)=5. h\u0026gt;5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 380.5px 8px; transform-origin: 380.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe below figure is created based upon h=distance([x1,y1],[x2,y2]), translating (x1,y1) to (0,0), and rotating (x2,y2) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,5] with R^2+5^2=h^2. Subtracting and simplifying these triangles leads to Y and two X values after substituting back into R^2=X^+Y^2 equation.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 358px 8px; transform-origin: 358px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eP^2=X^2+(h-Y)^2  and R^2=X^2+Y^2  after subtraction gives R^2-P^2=Y^2-(d-Y)^2 = Y^2-d^2+2dY-Y^2=2dY-d^2 thus\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 143px 8px; transform-origin: 143px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eY=(R^2-P^2+h^2)/(2h)  and X=+/- (R^2-Y^2)^.5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 379px 8px; transform-origin: 379px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe trick is to now un-rotate and translate this solution matrix using t=atan2(dx,dy), [cos(t) -sin(t);sin(t) cos(t)] and [x1 y1]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 383.5px 8px; transform-origin: 383.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA second method to find (X,Y) is theta=atan(5/R), X=Rsin(theta) and Y=Rcos(theta). The rotation and translation matrices are still required to return to the original coordinate system.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 549.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 274.75px; text-align: left; transform-origin: 384px 274.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 416px;height: 544px\" src=\"data:image/png;base64,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eTk5OY899ljomOo1a9a0adOmS5cuQoicnJyBAweuW7cuah/k5+fbLvFsP4JjEqGjuXPnHjlyRAgxcOBA65L8/Pxx48bF/cHTTz9dCBEMBrds2SKEKCoqqqmpCb9CcXHxuHHjFixYIGXfQW4cyDoQIXIChNvoA09Nnz49EAisXr06dEl9fX34kdUnn3xyc8/6KhydQBxANY2NjbazIOzcuXP37t2LFy8uKSkRQnTo0OHWW2+1vjV48ODBgwcneMuffPKJdWakmpqakSNHXnvttdnZ2Xv27HnuuecqKytfffXVxsbGRHYrnKXCyoGUXYbICZBicBt94KlAwH5A6LFjx8JjvEWLFqo9B3PYAVRWWlpaWlra3HfbtGnz9ttvh/YXkrJr1y7rAfvWW28NHz48dPmdd945evToxYsXl5aW3nzzzUOGDEnhxlOjQhxYOBDBD3j/gmRZWVnhZ289duxYixYtJI7HhjiAjgKBQLdu3e69996qqqo+ffqkdiOjRo06duzYN998Ex4H1o2/+OKLrVq1EkIsWLDAgeEmRp04sOHgJFOxfiDZaaedVllZGfpjfX39lVdeKXE8gF7GjBkzf/788EsCgUDLli0j1+qEEO+9997zzz8f9zYfeOCB3r17W1+3bNky8grZ2dlXXXXV4sWL165dm9Kok6ZgHHBGBOPRB5JZL25Wr149aNCgHTt2rFu37tFHH5U9qONYPID6MjMzE98++Oyzz5YsWRL3arfddlvc63z/+98XQvz73/9O8K7ToWAcWNhlMBt9IFkgEHjiiSfuueees846q7KysqioKDc3V/aghCAOYKKf/vSnTz31VNyrnXPOOUKII0eOVFRUtGrVynqvo411ToW2bds6PkgbZePAQiIYjD6QYNCgQeHnT+zXr591GhYArurevXv37t0TvPJVV121cuXKiy++eM2aNZHftT636aKLLnJyfBEUjwMbEsEwHJ+IKFg8AKzn/vLy8qqqKtu3lixZsm3bNiHE+PHj3RuALnHALGEq+gB2xAEghPjFL35hHdlQWFgYfn6ksrKym266SQhRUFDg3psbdYkDCx/NYCT2FwAgiry8vJKSksLCwu3bt//oRz+66qqrWrduvXPnzg0bNgghevTosWjRIpfuWq84sGGXwRisH+AELB4AIcOGDduwYcNPfvKTxsbGpUuXlpSUbNiwoWXL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\" data-image-state=\"image-loaded\" width=\"416\" height=\"544\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 302.5px 8px; transform-origin: 302.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn this figure h represents distance from (x1,y1) to (x2,y2) and (x1,y1) has been translated to 0,0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function xy = find_xy_RightTriangles(x1,y1,x2,y2)\r\n % The hypotenuse end points are (x1,y1) and (x2,y2) \r\n % A length 5 segment is attached to (x2,y2)\r\n % Complete the two possible right triangles\r\n % xy=[x3 y3;x4 y4]\r\n \r\n  h=norm([x2-x1 y2-y1]);\r\n \r\n  R2=h^2-25;\r\n  R=R2^0.5;\r\n  \r\n  %PRh mehtod\r\n  %y=\r\n  %x=\r\n  %xy=[-x y;x y];\r\n  \r\n  %Trig method\r\n  %theta=atan(?/R);\r\n  %y=\r\n  %x=\r\n  %xy=[-x y;x y];\r\n \r\n \r\n %Rotation Angle: atan2\r\n theta=atan2(x2-x1,y2-y1); % (X,Y) output radians Neg Left of vert, Pos Right of Vert\r\n \r\n %Rotation Matrix: [cos(t) -sin(t);sin(t) cos(t)]\r\n %Translation matrix: [x1 y1]\r\n %Check of (x2,y2) being regenerated from h, theta, and translation\r\n [x2y2]=[0 h]*[cos(theta) -sin(theta);sin(theta) cos(theta)]+[x1 y1]\r\n [x2 y2]\r\n \r\n %xy=\r\n \r\n \r\nend %find_xy_RightTriangles","test_suite":"%%\r\nvalid=1;\r\nx1=0;y1=0;x2=0;y2=13;\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;x2=0;y2=-13;\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=5;y1=5;x2=5;y2=-8;\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;x2=0;y2=0;\r\nwhile norm([x2-x1 y2-y1])\u003c5.1\r\n x1=10*rand-5;y1=10*rand-5;x2=20*rand-10;y2=-20*rand+10;\r\n %fprintf('%.3f ',[x1 y1 x2 y2]);fprintf('\\n');\r\nend\r\nfprintf('%.3f ',[x1 y1 x2 y2]);fprintf('\\n');\r\nxy = find_xy_RightTriangles(x1,y1,x2,y2)\r\nif sum(sum((xy-[x2 y2]).^2,2)-25)\u003e1e-6 % verify xy3,xy4 dist==5 from xy2\r\n valid=0;\r\nend\r\nh2=sum(([x1 y1]-[x2 y2]).^2);\r\nif sum(sum((xy-[x1 y1]).^2,2)+25-h2)\u003e1e-6 % Verify right triangles\r\n valid=0;\r\nend\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2023-08-11T18:08:31.000Z","deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2023-08-11T18:08:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-08-11T15:21:29.000Z","updated_at":"2024-11-18T01:49:13.000Z","published_at":"2023-08-11T17:36:27.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two points defining a hypotenuse create two right triangles of (h,5,R). Return the two (x,y) points that create the right triangles. I will elaborate on two geometric methods utilizing Matlab specific functions, rotation matrix, and translation matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven points [x1,y1] and [x2,y2] return  [x3 y3;x4 y4] such that distance(xy2,xy3)=distance(xy2,xy4)=5. h\u0026gt;5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe below figure is created based upon h=distance([x1,y1],[x2,y2]), translating (x1,y1) to (0,0), and rotating (x2,y2) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,5] with R^2+5^2=h^2. Subtracting and simplifying these triangles leads to Y and two X values after substituting back into R^2=X^+Y^2 equation.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eP^2=X^2+(h-Y)^2  and R^2=X^2+Y^2  after subtraction gives R^2-P^2=Y^2-(d-Y)^2 = Y^2-d^2+2dY-Y^2=2dY-d^2 thus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eY=(R^2-P^2+h^2)/(2h)  and X=+/- (R^2-Y^2)^.5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe trick is to now un-rotate and translate this solution matrix using t=atan2(dx,dy), [cos(t) -sin(t);sin(t) cos(t)] and [x1 y1]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA second method to find (X,Y) is theta=atan(5/R), X=Rsin(theta) and Y=Rcos(theta). The rotation and translation matrices are still required to return to the original coordinate system.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"544\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"416\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this figure h represents distance from (x1,y1) to (x2,y2) and (x1,y1) has been translated to 0,0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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eTk5OY899ljomOo1a9a0adOmS5cuQoicnJyBAweuW7cuah/k5+fbLvFsP4JjEqGjuXPnHjlyRAgxcOBA65L8/Pxx48bF/cHTTz9dCBEMBrds2SKEKCoqqqmpCb9CcXHxuHHjFixYIGXfQW4cyDoQIXIChNvoA09Nnz49EAisXr06dEl9fX34kdUnn3xyc8/6KhydQBxANY2NjbazIOzcuXP37t2LFy8uKSkRQnTo0OHWW2+1vjV48ODBgwcneMuffPKJdWakmpqakSNHXnvttdnZ2Xv27HnuuecqKytfffXVxsbGRHYrnKXCyoGUXYbICZBicBt94KlAwH5A6LFjx8JjvEWLFqo9B3PYAVRWWlpaWlra3HfbtGnz9ttvh/YXkrJr1y7rAfvWW28NHz48dPmdd945evToxYsXl5aW3nzzzUOGDEnhxlOjQhxYOBDBD3j/gmRZWVnhZ289duxYixYtJI7HhjiAjgKBQLdu3e69996qqqo+ffqkdiOjRo06duzYN998Ex4H1o2/+OKLrVq1EkIsWLDAgeEmRp04sOHgJFOxfiDZaaedVllZGfpjfX39lVdeKXE8gF7GjBkzf/788EsCgUDLli0j1+qEEO+9997zzz8f9zYfeOCB3r17W1+3bNky8grZ2dlXXXXV4sWL165dm9Kok6ZgHHBGBOPRB5JZL25Wr149aNCgHTt2rFu37tFHH5U9qONYPID6MjMzE98++Oyzz5YsWRL3arfddlvc63z/+98XQvz73/9O8K7ToWAcWNhlMBt9IFkgEHjiiSfuueees846q7KysqioKDc3V/aghCAOYKKf/vSnTz31VNyrnXPOOUKII0eOVFRUtGrVynqvo411ToW2bds6PkgbZePAQiIYjD6QYNCgQeHnT+zXr591GhYArurevXv37t0TvPJVV121cuXKiy++eM2aNZHftT636aKLLnJyfBEUjwMbEsEwHJ+IKFg8AKzn/vLy8qqqKtu3lixZsm3bNiHE+PHj3RuALnHALGEq+gB2xAEghPjFL35hHdlQWFgYfn6ksrKym266SQhRUFDg3psbdYkDCx/NYCT2FwAgiry8vJKSksLCwu3bt//oRz+66qqrWrduvXPnzg0bNgghevTosWjRIpfuWq84sGGXwRisH+AELB4AIcOGDduwYcNPfvKTxsbGpUuXlpSUbNiwoWXL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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"coordinate system shift\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"coordinate system shift\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"coordinate system shift\"","","\"","coordinate system shift","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fdd47880c80\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fdd47880be0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fdd478800a0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fdd47880f00\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fdd47880e60\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fdd47880dc0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fdd47880d20\u003e":"tag:\"coordinate system shift\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fdd47880d20\u003e":"tag:\"coordinate system shift\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"coordinate system shift\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"coordinate system shift\"","","\"","coordinate system shift","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fdd47880c80\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fdd47880be0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fdd478800a0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fdd47880f00\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fdd47880e60\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fdd47880dc0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fdd47880d20\u003e":"tag:\"coordinate system shift\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fdd47880d20\u003e":"tag:\"coordinate system shift\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":58862,"difficulty_rating":"medium"}]}}