{"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":940,"title":"R2012b atan in Degrees","description":"Return in degrees the atan result of inputs for all four quadrants.\r\n\r\n*Examples:*\r\n\r\n  [x, y] Degrees\r\n   1  0     0\r\n   1  1    45\r\n  -1  1   135\r\n  -1 -1  -135\r\n   1 -1   -45\r\n  -1  0  -180\r\n   0 -1   -90\r\n \r\n\r\n*Input:* [ x , y ]\r\n\r\n*Output:* Angle : Degrees [ 0:180 ] ( -180:0 ) -180 is not a valid return value\r\n\r\nNote: Input to atan2 is Y , X not X , Y\r\n\r\nMatlab \u003chttp://www.mathworks.com/products/matlab/whatsnew.html Whatsnew\u003e\r\n\r\nR2012b \u003chttp://www.mathworks.com/help/matlab/ref/atan2d.html Update Note\u003e","description_html":"\u003cp\u003eReturn in degrees the atan result of inputs for all four quadrants.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[x, y] Degrees\r\n 1  0     0\r\n 1  1    45\r\n-1  1   135\r\n-1 -1  -135\r\n 1 -1   -45\r\n-1  0  -180\r\n 0 -1   -90\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [ x , y ]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Angle : Degrees [ 0:180 ] ( -180:0 ) -180 is not a valid return value\u003c/p\u003e\u003cp\u003eNote: Input to atan2 is Y , X not X , Y\u003c/p\u003e\u003cp\u003eMatlab \u003ca href=\"http://www.mathworks.com/products/matlab/whatsnew.html\"\u003eWhatsnew\u003c/a\u003e\u003c/p\u003e\u003cp\u003eR2012b \u003ca href=\"http://www.mathworks.com/help/matlab/ref/atan2d.html\"\u003eUpdate Note\u003c/a\u003e\u003c/p\u003e","function_template":"function degrees = atan_degrees(x,y)\r\n  degrees=0;\r\nend","test_suite":"%%\r\nassert(isequal(atan_degrees(1,1),45))\r\n%%\r\nassert(isequal(atan_degrees(-1,1),135))\r\n%%\r\nassert(isequal(atan_degrees(-1,-1),-135))\r\n%%\r\nassert(isequal(atan_degrees(1,-1),-45))\r\n%%\r\nassert(isequal(atan_degrees(1,0),0))\r\n%%\r\nassert(isequal(atan_degrees(0,1),90))\r\n%%\r\nassert(isequal(atan_degrees(-1,0),180))\r\n%%\r\nassert(isequal(atan_degrees(0,-1),-90))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":73,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-09-10T03:53:34.000Z","updated_at":"2026-03-06T12:24:34.000Z","published_at":"2012-10-28T17:20:12.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn in degrees the atan result of inputs for all four quadrants.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[x, y] Degrees\\n 1  0     0\\n 1  1    45\\n-1  1   135\\n-1 -1  -135\\n 1 -1   -45\\n-1  0  -180\\n 0 -1   -90]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [ x , y ]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Angle : Degrees [ 0:180 ] ( -180:0 ) -180 is not a valid return value\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNote: Input to atan2 is Y , X not X , Y\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMatlab\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/products/matlab/whatsnew.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eWhatsnew\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eR2012b\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/help/matlab/ref/atan2d.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUpdate Note\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":243,"title":"Four quadrant inverse tangent function.","description":"Create a function that returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. The function must yield P in degrees and must not contain the MATLAB build-in function atan2(y,x).","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: 63px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 31.5px; transform-origin: 407px 31.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"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: 369.5px 8px; transform-origin: 369.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCreate a function that returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. The function must yield P in degrees and must not contain the MATLAB build-in function atan2(y,x).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function P=atanquad(Y,X)\r\n  P=\r\nend","test_suite":"%%\r\nfiletext = fileread('atanquad.m');\r\nassert(isempty(strfind(filetext, 'atan2')))\r\n%%\r\nX=-4;\r\nY=3; \r\ny_correct=143.1301;\r\nassert(abs(atanquad(Y,X)-y_correct)\u003c1e-4)\r\n%%\r\nX=-10;\r\nY=-10;\r\ny_correct=-135;\r\nassert(abs(atanquad(Y,X)-y_correct)\u003c1e-4)\r\n%%\r\nX=-10:3:10;\r\nY=-10:3:10;\r\ny_correct=[-135 -135 -135 -135 45 45 45];\r\nassert(all(abs(atanquad(Y,X)-y_correct)\u003c1e-4))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":558,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":70,"test_suite_updated_at":"2021-11-16T10:41:02.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2012-02-03T03:20:13.000Z","updated_at":"2024-10-27T18:42:32.000Z","published_at":"2012-02-04T13:34:38.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eCreate a function that returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. The function must yield P in degrees and must not contain the MATLAB build-in function atan2(y,x).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":58872,"title":"Find the Points Tangent to a Circle from an External Point ","description":"From a point where do the lines touch a circle tangentially?. The loldrup solution may provide some guidance and alternate method. I will elaborate a more reference frame modification geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix.\r\nGiven point(px,py) and circle [cx,cy,R] return the circle points [x3 y3;x4 y4] where lines thru the point are tangential to the circle.  The line ([px,py],[x3,y3]) is tangential to circle [cx,cy,R] at circle point [x3,y3]. D\u003eR.\r\nThe below figure is created based upon h=P=distance([cx,cy],[px,py])/2=D/2, translating (cx,cy) to (0,0), and rotating (px,py) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,P]. 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-(h-Y)^2 = Y^2-h^2+2hY-Y^2=2hY-h^2 thus\r\nY=(R^2-P^2+h^2)/(2h) =(R^2-P^2+P^2)/(2P)=R^2/(2P)=R^2/D\r\nX=+/- (R^2-Y^2)^.5=+/- (R^2-(R^2/(2P))^2)^0.5=+/- R*(1-(R/D)^2)^0.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 [cx cy]\r\n\r\n\r\nThis figure shows the point (px,py) rotated onto the Y-axis at position 2P. The circle (cx,cy) has been shifted to the origin with radius R. The green line shows a tangent at (x,y) from (px,py). A second tangent point is at (-x.y). D=2*P","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: 952.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 476.25px; transform-origin: 407px 476.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: 204px 8px; transform-origin: 204px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFrom a point where do the lines touch a circle tangentially?. The \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://math.stackexchange.com/questions/913239/given-circle-and-point-where-does-the-tangential-line-through-the-point-touch-t\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eloldrup\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 133px 8px; transform-origin: 133px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e solution may provide some guidance and alternate method. I will elaborate a more reference frame modification geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix.\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: 380.5px 8px; transform-origin: 380.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven point(px,py) and circle [cx,cy,R] return the circle points [x3 y3;x4 y4] where lines thru the point are tangential to the circle.  The line ([px,py],[x3,y3]) is tangential to circle [cx,cy,R] at circle point [x3,y3]. D\u0026gt;R.\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: 366.5px 8px; transform-origin: 366.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe below figure is created based upon h=P=distance([cx,cy],[px,py])/2=D/2, translating (cx,cy) to (0,0), and rotating (px,py) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,P]. 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-(h-Y)^2 = Y^2-h^2+2hY-Y^2=2hY-h^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: 188px 8px; transform-origin: 188px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eY=(R^2-P^2+h^2)/(2h) =(R^2-P^2+P^2)/(2P)=R^2/(2P)=R^2/D\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: 211px 8px; transform-origin: 211px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eX=+/- (R^2-Y^2)^.5=+/- (R^2-(R^2/(2P))^2)^0.5=+/- R*(1-(R/D)^2)^0.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: 378px 8px; transform-origin: 378px 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 [cx cy]\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 556.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 278.25px; text-align: left; transform-origin: 384px 278.25px; 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: 419px;height: 551px\" src=\"data:image/png;base64,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giYXJuo///nPmjVrfvSjH6U9EKgXS43AWOTCeLq6ujZt2hRF0bRp0z7wgQ+8853vPHz48OHDh48fP75v3763v/3tth4AKAJnF8Zz4MCB3t7eKIqam5uffvrp559/vvznzz333MyZMzs7O2+++eZUBwgAjSAXqnHbbbeNddQRAPLH+y4AADGsLgAAMawuAAAx5AIAEKP5m9/8ZtpjyI++vr59+/Yd/b/p06dfdNFFaQ/qnN27dzc3N0+bNi3tgZzV3d3917/+tamp6eKLL057LOfs379/165d//73v2fOnJn2WIbbsWPH7Nmz0x5FdOTIkWeeeaa/v/+SSy5JeyzDBXITVYR5dwrz0isLapoKfEpvMGcXkvSTn/zk/vvvr9yfvve971155ZXpDqli//79H/3oR++///5AXtDx3e9+97e//e2iRYv+/Oc/f+ITn7j99tvTHlEURVFXV9fjjz++aNGi7u7u6dOnP/TQQ+HMDj/84Q83bty4Y8eOdIexefPme++9t6Oj49lnn/3IRz6yevXqdMczVCA3UUWYd6cwL72y0KapkKf0FJRIzpe//OWf//znaY9iFKdPn/7Qhz70wQ9+cMuWLWmPpVQqlXp6et71rncdP368VCodO3bs8ssvf/XVV9MeVOn555+vjKpUKnV2dj766KPpDqns+PHjX/3qVxcsWLBkyZJ0R9Lf379gwYKenp5SqfTqq6++5z3v+fvf/57ukMrCuYkqwrw7hXnplYU2TZUCntJT4exCkl544YU5c+b09fWdOXMm7bGcZ926dddcc83cuXPTHshZc+bM2bRpU3kh9IILLhgcHOzv7097UNGMGTPWr19fWZ699NJLjx49mu6Qyh544IGWlpZ77rkn7YFE27dvnzFjRvmO1NLS8v73v/+Pf/xj2oOKopBuooow705hXnploU1TUcBTeirkQmIGBgYOHTrU1dXV2dn57ne/+6677kp7RGeVfzPWl770pbQHck5TU9PcuXMHBgYeeeSRFStWfOELX2hra0t7UNHb3va2jo6O8scHDx7cunXrNddck+6QytasWfOVr3xl6tSpaQ8keu211y6//PLKp9OmTQvkd6qFcxNVhHl3CvPSi4KcpoKd0tMiFxLzyiuvLF26dP369Tt37ty2bdv27ds3btyY9qDO/masdevWpT2QURw/fvzUqVNtbW1PPvnkv/71r7SHc05vb+/nPve5lStXtre3pz2WKIqipqZQrtOBgYEpQ35tZXNzcymMw0/h3EQjhXZ3isK79MKcpsKc0lMU7jWWCV1dXQsXLly4cOGVV145a9as73//+7NmzYqiqK2tbenSpc8++2zqo1q7dm35N2M98cQT5d+MldbTwaGjKv9Ja2vrihUrfvzjH7/xjW98+OGHAxnVnj17brjhhuXLl69cuTKVIY06qkBceOGFg4ODlU8HBgaam5tTHE/4Qrg7jRTCpTdUONPUUOFM6YHwGylr8ulPf/rqq6+Ooqi5ufngwYN/+ctfPv7xj5e/dPr06bSe8Qwd1dNPP33s2LENGzZEUfTSSy898cQTb3rTm1L5RZpDR3XgwIGdO3cuW7as/KW2traXX3658UMaNqooip566qnVq1fffffd1113XSrjGXVU4XjrW9+6d+/eyqevvfba9ddfn+J4AhfI3WmocC69oVpbWwOZpoYKZ0oPRdpnLfPjxRdfbG9vLx8af+WVVzo6OrZv3572oM5z6623BnLkuKenp729/W9/+1upVDp27FhHR8fvf//7tAdVOnz48IIFC7Zu3Xr6//r7+9Me1Dnbtm1L/dj/wMDAkiVLtm3bViqVenp6rrjiimPHjqU7pKFCuIkqwrw7hXnpDRXONBX+lN5gVhcSM2/evK9//es33XTTFVdc8dxzz61atSq0leRwzJ0796677vrYxz62cOHCXbt2ff7zny8/mU7Xhg0bTp48eccdd1T+5DOf+cw3vvGNFIcUmqampvvuu+/OO+98xzvesXfv3nvvvbe1tTXtQQUqzLtTmJdemEzpw3ibpoQNDg6eOnXqDW94Q9GXrSZgcHCwr6/vLW95S2hL7sR6/fXX3cmzy6U3cab0CrkAAMQoei4BALHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQ43+axZahfzsjgwAAAABJRU5ErkJggg==\" data-image-state=\"image-loaded\" width=\"419\" height=\"551\"\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: 378.5px 8px; transform-origin: 378.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis figure shows the point (px,py) rotated onto the Y-axis at position 2P. The circle (cx,cy) has been shifted to the origin with radius R. The green line shows a tangent at (x,y) from (px,py). A second tangent point is at (-x.y). D=2*P\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function xy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n%Find points on circle that when drawn to a point only touches circle at the circle point.\r\n%The line from the circle center to (x3 y3) is orthogonal to the line [(px,py) (x3,y3)]\r\n%A second point (x4,y4) also creates an orthogonal lines intersection\r\n\r\n  D=norm([px-cx py-cy])\r\n  \r\n  %Y=\r\n  %X=\r\n  \r\n  xy=[X Y;-X Y];\r\n \r\n %Rotation Angle: atan2\r\n theta=atan2(px-cx,py-cy); % (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: [cx cy]\r\n %Check of (px,py) being regenerated from D, theta, and translation\r\n [pxyD]=[0 D]*[cos(theta) -sin(theta);sin(theta) cos(theta)]+[cx cy]\r\n [px py]\r\n \r\n %xy=\r\n \r\n \r\n  \r\nend %TangentPoints_onCircle","test_suite":"%%\r\nvalid=1;\r\npx=6;py=8;cx=0;cy=0;R=4;\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=1;\r\npx=-6;py=-8;cx=2;cy=4;R=6;\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=1;\r\npx=6;py=8;cx=1;cy=-2;R=5;\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=1;\r\n%px=6;py=8;cx=1;cy=-2;R=5;\r\ncx=-5*rand; cy=-5*rand; R=4+rand;\r\npx=3+2*rand; py=3+2*rand;\r\n[px py cx cy R]\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\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-12T23:33:27.000Z","deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-08-12T21:15:25.000Z","updated_at":"2023-08-12T23:33:27.000Z","published_at":"2023-08-12T23:33: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\u003eFrom a point where do the lines touch a circle tangentially?. The \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://math.stackexchange.com/questions/913239/given-circle-and-point-where-does-the-tangential-line-through-the-point-touch-t\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eloldrup\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e solution may provide some guidance and alternate method. I will elaborate a more reference frame modification geometric solution 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 point(px,py) and circle [cx,cy,R] return the circle points [x3 y3;x4 y4] where lines thru the point are tangential to the circle.  The line ([px,py],[x3,y3]) is tangential to circle [cx,cy,R] at circle point [x3,y3]. D\u0026gt;R.\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=P=distance([cx,cy],[px,py])/2=D/2, translating (cx,cy) to (0,0), and rotating (px,py) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,P]. 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-(h-Y)^2 = Y^2-h^2+2hY-Y^2=2hY-h^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) =(R^2-P^2+P^2)/(2P)=R^2/(2P)=R^2/D\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\u003eX=+/- (R^2-Y^2)^.5=+/- (R^2-(R^2/(2P))^2)^0.5=+/- R*(1-(R/D)^2)^0.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 [cx cy]\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\u003e\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=\\\"551\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"419\\\"/\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\u003eThis figure shows the point (px,py) rotated onto the Y-axis at position 2P. The circle (cx,cy) has been shifted to the origin with radius R. The green line shows a tangent at (x,y) from (px,py). A second tangent point is at (-x.y). D=2*P\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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giYXJuo///nPmjVrfvSjH6U9EKgXS43AWOTCeLq6ujZt2hRF0bRp0z7wgQ+8853vPHz48OHDh48fP75v3763v/3tth4AKAJnF8Zz4MCB3t7eKIqam5uffvrp559/vvznzz333MyZMzs7O2+++eZUBwgAjSAXqnHbbbeNddQRAPLH+y4AADGsLgAAMawuAAAx5AIAEKP5m9/8ZtpjyI++vr59+/Yd/b/p06dfdNFFaQ/qnN27dzc3N0+bNi3tgZzV3d3917/+tamp6eKLL057LOfs379/165d//73v2fOnJn2WIbbsWPH7Nmz0x5FdOTIkWeeeaa/v/+SSy5JeyzDBXITVYR5dwrz0isLapoKfEpvMGcXkvSTn/zk/vvvr9yfvve971155ZXpDqli//79H/3oR++///5AXtDx3e9+97e//e2iRYv+/Oc/f+ITn7j99tvTHlEURVFXV9fjjz++aNGi7u7u6dOnP/TQQ+HMDj/84Q83bty4Y8eOdIexefPme++9t6Oj49lnn/3IRz6yevXqdMczVCA3UUWYd6cwL72y0KapkKf0FJRIzpe//OWf//znaY9iFKdPn/7Qhz70wQ9+cMuWLWmPpVQqlXp6et71rncdP368VCodO3bs8ssvf/XVV9MeVOn555+vjKpUKnV2dj766KPpDqns+PHjX/3qVxcsWLBkyZJ0R9Lf379gwYKenp5SqfTqq6++5z3v+fvf/57ukMrCuYkqwrw7hXnplYU2TZUCntJT4exCkl544YU5c+b09fWdOXMm7bGcZ926dddcc83cuXPTHshZc+bM2bRpU3kh9IILLhgcHOzv7097UNGMGTPWr19fWZ699NJLjx49mu6Qyh544IGWlpZ77rkn7YFE27dvnzFjRvmO1NLS8v73v/+Pf/xj2oOKopBuooow705hXnploU1TUcBTeirkQmIGBgYOHTrU1dXV2dn57ne/+6677kp7RGeVfzPWl770pbQHck5TU9PcuXMHBgYeeeSRFStWfOELX2hra0t7UNHb3va2jo6O8scHDx7cunXrNddck+6QytasWfOVr3xl6tSpaQ8keu211y6//PLKp9OmTQvkd6qFcxNVhHl3CvPSi4KcpoKd0tMiFxLzyiuvLF26dP369Tt37ty2bdv27ds3btyY9qDO/masdevWpT2QURw/fvzUqVNtbW1PPvnkv/71r7SHc05vb+/nPve5lStXtre3pz2WKIqipqZQrtOBgYEpQ35tZXNzcymMw0/h3EQjhXZ3isK79MKcpsKc0lMU7jWWCV1dXQsXLly4cOGVV145a9as73//+7NmzYqiqK2tbenSpc8++2zqo1q7dm35N2M98cQT5d+MldbTwaGjKv9Ja2vrihUrfvzjH7/xjW98+OGHAxnVnj17brjhhuXLl69cuTKVIY06qkBceOGFg4ODlU8HBgaam5tTHE/4Qrg7jRTCpTdUONPUUOFM6YHwGylr8ulPf/rqq6+Ooqi5ufngwYN/+ctfPv7xj5e/dPr06bSe8Qwd1dNPP33s2LENGzZEUfTSSy898cQTb3rTm1L5RZpDR3XgwIGdO3cuW7as/KW2traXX3658UMaNqooip566qnVq1fffffd1113XSrjGXVU4XjrW9+6d+/eyqevvfba9ddfn+J4AhfI3WmocC69oVpbWwOZpoYKZ0oPRdpnLfPjxRdfbG9vLx8af+WVVzo6OrZv3572oM5z6623BnLkuKenp729/W9/+1upVDp27FhHR8fvf//7tAdVOnz48IIFC7Zu3Xr6//r7+9Me1Dnbtm1L/dj/wMDAkiVLtm3bViqVenp6rrjiimPHjqU7pKFCuIkqwrw7hXnpDRXONBX+lN5gVhcSM2/evK9//es33XTTFVdc8dxzz61atSq0leRwzJ0796677vrYxz62cOHCXbt2ff7zny8/mU7Xhg0bTp48eccdd1T+5DOf+cw3vvGNFIcUmqampvvuu+/OO+98xzvesXfv3nvvvbe1tTXtQQUqzLtTmJdemEzpw3ibpoQNDg6eOnXqDW94Q9GXrSZgcHCwr6/vLW95S2hL7sR6/fXX3cmzy6U3cab0CrkAAMQoei4BALHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQ43+axZahfzsjgwAAAABJRU5ErkJggg==\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":58852,"title":"Intersection(s) of Circles","description":"Do two given circles intersect in Zero, One, or Two points and provide the intersection(s). The Stafford method may provide some guidance and alternate solution method. I will elaborate a more geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix. Assumption is that Matlab function circcirc is not available.\r\nGiven circles [x1,y1,R] and [x2,y2,P] return the intersections [], [x y], or [x y;x y].\r\nThe below figure is created based upon d=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,d-Y,P]. 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+(d-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+d^2)/(2d)  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\n\r\n \r\nDiagram showing a normalization of posed problem where (x1,y1) is placed at origin and (x2,y2) is placed on Y-axis at distance d. Final (x,y) values will require rotation and shifting.","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: 1000.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 500.25px; transform-origin: 407px 500.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: 296px 8px; transform-origin: 296px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDo two given circles intersect in Zero, One, or Two points and provide the intersection(s). The \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/answers/196755-fsolve-to-find-circle-intersections\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eStafford\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 42.5px 8px; transform-origin: 42.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e method may provide some guidance and alternate solution method. I will elaborate a more geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix. Assumption is that Matlab function circcirc is not available.\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: 248px 8px; transform-origin: 248px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven circles [x1,y1,R] and [x2,y2,P] return the intersections [], [x y], or [x y;x y].\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 d=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,d-Y,P]. 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+(d-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+d^2)/(2d)  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: 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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 655.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 327.75px; text-align: left; transform-origin: 384px 327.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: 482px;height: 650px\" src=\"data:image/png;base64,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I3hL9+7dhRArVqxIasDGZme8GXJjUp8DUNGLl5whEn6l6Mg9N6n91NKdFHaT9xuAZPr+6hRqwoQJQojgr89xPPjgg0KIRx555N577xVCzJgxI86D77zzTiHEunXrjHdPnDjRsmXL//zP/wx9TGNjoxBiyJAhqY08ZCrs3o3QamJqyH+wXBI/mlh7buL7qQ07qV70PaS79wio788s1JAhQ4QQJ06cCN7S2Nh4/GTB27t06ZKZmSmEuPrqq+N/2o8//lgIMWHCBOPdsrIyIcQf//jHsIe1bNmyTZs2KQw7tMGpHMOQGDJsryROr0TuuYbE91Ord1Lt6HtIZ1Fabz6fTwiRkZERvOXVV19tfjLjdq/XO3fuXOPxTz/9dPxP26VLl86dOy9ZssTv9wshFi1a1KJFi5EjR4Y9LDMz88iRI8mO+eTLsiz5W8WIJPtQ4zRfnjE49L/g75QJbsWRe64h8f3U0p0UdiLDTvPjH/94yMmCd82cOdN4Y8qUKU1+np///Od1dXUrVqyoqal55513Ro0aZfyGHsbrTX0TMhIcoMTQisfjOZj3/TN92xxY3ubAchOvb0h8P7VhJ4UNwn8Xg15OPfVUIUR9fX3wIo5evXoFn64QauHChcuWLZs4ceKJEyf+8Ic/vPLKK2PGjInzmceMGXPvvfcuWbLkwIEDfr//5z//eeRjjh49muwLAEV9lnAgEAgG2HgjwFVbUJLH4/nyjMHBd9scWB58OxD4bvP2eJq+6jByzzUktZ9atJPCZvyWpDdjB1u/fn38h+3bt++OO+5o167d9OnTf//737dt2/b222/ft29fnA/JyckpKCh46623Vq5cedZZZ0Wmvba21ufznX/++YmPNs5c11joC3lkKn8kEbDUwbyCWA02BDfhJjfeqHtusvupFTsp7EeG9WbseNu3b4//sKKiovr6+gULFmRlZWVlZS1YsKC+vr64uNi4969//avH47n22mvDPurWW289evToihUrov6WvXbtWiFE3759Uxh2rLlC2CTYzSVes2ZNeXl5eXl5dXV1/EdWV1cbj/zggw/sGZsLRV2ITucTRt1zU9hPrdtJYRsyrLd+/fq1bt161apVcR7z6KOPbty4ccKECZdffrlxy4ABA26++eaKiopp06bF+cArr7yydevWQoibbrop8t533nnH6/WGnnuOL8EXrWRabPji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bNy48YMPPrjzzjtlD+R7Z5xxxk9/+lPj7b17965evXrAgAESx6POhh1Kte9SkGpblJr7nWrHqMhDupqbfZNclGGvN8o/trGxMfSMS7NmzQLy/uTUpk2bfvCDH5x++unZ2dn/93//d/ToUVkjCdq1a9eqVas6depUWVlZVlb24osvrlu3Tu6Q/vGPf5SUlMycOVPuMGKprq6++eabJ06c2LFjR4nDUGrDjqTId8mg4Bal4H5nUOoYFXlIV3yzj8XJGX7ssce6du3atWvX3r17x3pMZmam3+8PvtvY2NisWTNbRifEySN89913P/roo7KyslGjRs2bN08IMX/+fNtGEmtU7dq1O/PMM4uKioQQ+fn5AwYMWLlypdwhPfnkk+eff/7nn3++du3aQ4cObdu2TdYvvJEbWGVl5ZAhQ0aPHj1x4kQpQwqSu2HHp853yaDOFhWkyH4XRp1jVCwqb/ZxqHKNohVGjhzZv39/IUScn8SPfvSjrVu3Bt+tq6uz8xxM6Ai/+OKL/Pz84FDbtWu3f/9+20YSa1R1dXWhd8napkOH9Le//e3rr78uLS0VQhw4cGDt2rWnnnpqfn6+3FEJId5///277rpr2rRpV111lf2DCSN3w45Dqe+SITc3V5EtKujf//3fQ99VpCV1dXWKHKNiUXazb4LkS8Rst2bNmtArpRsbG3v16rVmzZpAILBz584LL7zw66+/ljKwTz/99MILL/zss88CgcDf//73a665ZtmyZVJGEsrn83Xv3n316tWBQOCbb77p3bt3RUWF7EF975ZbblHhutZAIPD5559ffPHFq1ev9v1LQ0ODxPGos2GHUu27FEmRLUrN/U7NY1ToIV3Nzb5JTp4NJ8Lr9T711FP33HNP+/btt27dOn36dFnPSe/YseNDDz00fPjwTp06bd26ddiwYUOHDpUyklD/9m//9txzz913330vvvjirl27xo0bp8fz8GxXWlr67bffTpgwIXjLqFGjHn74YVnjUWfDDqXad0lZau53ah6jQqm52TfJE9DhDLYNjh492qJFi6iXcdnJ7/cfO3asefPmiixDBf3zn//MzMxUbVRokiIbNlKj4H6n7DEqlF6bPRkGAEAaPX5ZAADAkcgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQJr/B75uYHjxSKAyAAAAAElFTkSuQmCC\" data-image-state=\"image-loaded\" width=\"482\" height=\"650\"\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: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \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: 370.5px 8px; transform-origin: 370.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDiagram showing a normalization of posed problem where (x1,y1) is placed at origin and (x2,y2) is placed on Y-axis at distance d. Final (x,y) values will require rotation and shifting.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function xy = circle_intersections(x1,y1,R,x2,y2,P)\r\n  d2=(x1-x2)^2+(y1-y2)^2;\r\n  d=d2^0.5;\r\n  xy=[];\r\n  if d\u003eP+R,return;end % No intersection due to C-C separation\r\n  % Two other No intersection Cases can be determined using d,P,R\r\n  %if ,return;end % No intersection, smaller R is inside larger P\r\n  %if ,return;end % No intersection, smaller P is inside larger R\r\n  \r\n %Single point intersections\r\n if d==P+R\r\n  xy=[0 R];\r\n elseif d-P==-R\r\n  %xy=[];\r\n elseif d+P==R\r\n  %xy=\r\n end\r\n \r\n if isempty(xy) % Dual Solutions\r\n  %y=\r\n  %x=\r\n  %xy=[ ; ];\r\n end\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 d, theta, and translation\r\n [xy2c]=[0 d]*[cos(theta) -sin(theta);sin(theta) cos(theta)]+[x1 y1]\r\n [x2 y2]\r\n \r\n %xy=\r\n \r\n \r\n \r\nend % circle_intersections","test_suite":"%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=0;y2=10;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=10;y2=0;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=-10;y2=0;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=0;y2=-10;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=4;y1=4;R=6;\r\nx2=6;y2=-2;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=-4;y1=-4;R=4;\r\nx2=-4;y2=8;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=1\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=3;y1=1;R=4;\r\nx2=3;y2=5;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=1\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=-2;y1=1;R=10;\r\nx2=0;y2=1;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=1\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=1;R=1;\r\nx2=8;y2=8;P=2;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=1;R=1;\r\nx2=2;y2=1;P=2;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=2;R=1;\r\nx2=3;y2=3;P=3;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=2;R=5;\r\nx2=3;y2=3;P=1;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=rand;y1=4+rand;R=6+rand;\r\n[x1 y1 R]\r\nx2=-1+rand;y2=-3+rand;P=8+rand;\r\n[x2 y2 P]\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=-1+rand;y1=-3+rand;R=8+rand;\r\n[x1 y1 R]\r\nx2=rand;y2=4+rand;P=6+rand;\r\n[x2 y2 P]\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":3097,"edited_at":"2023-08-11T15:10:45.000Z","deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":"2023-08-11T15:10:45.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-08-10T16:45:31.000Z","updated_at":"2023-08-11T15:10:45.000Z","published_at":"2023-08-10T19:02:14.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\u003eDo two given circles intersect in Zero, One, or Two points and provide the intersection(s). The \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/answers/196755-fsolve-to-find-circle-intersections\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eStafford\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e method may provide some guidance and alternate solution method. I will elaborate a more geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix. Assumption is that Matlab function circcirc is not available.\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 circles [x1,y1,R] and [x2,y2,P] return the intersections [], [x y], or [x y;x y].\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 d=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,d-Y,P]. 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+(d-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+d^2)/(2d)  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\u003e\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=\\\"650\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"482\\\"/\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\u003cw:r\u003e\u003cw:t\u003e \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\u003eDiagram showing a normalization of posed problem where (x1,y1) is placed at origin and (x2,y2) is placed on Y-axis at distance d. Final (x,y) values will require rotation and shifting.\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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I3hL9+7dhRArVqxIasDGZme8GXJjUp8DUNGLl5whEn6l6Mg9N6n91NKdFHaT9xuAZPr+6hRqwoQJQojgr89xPPjgg0KIRx555N577xVCzJgxI86D77zzTiHEunXrjHdPnDjRsmXL//zP/wx9TGNjoxBiyJAhqY08ZCrs3o3QamJqyH+wXBI/mlh7buL7qQ07qV70PaS79wio788s1JAhQ4QQJ06cCN7S2Nh4/GTB27t06ZKZmSmEuPrqq+N/2o8//lgIMWHCBOPdsrIyIcQf//jHsIe1bNmyTZs2KQw7tMGpHMOQGDJsryROr0TuuYbE91Ord1Lt6HtIZ1Fabz6fTwiRkZERvOXVV19tfjLjdq/XO3fuXOPxTz/9dPxP26VLl86dOy9ZssTv9wshFi1a1KJFi5EjR4Y9LDMz88iRI8mO+eTLsiz5W8WIJPtQ4zRfnjE49L/g75QJbsWRe64h8f3U0p0UdiLDTvPjH/94yMmCd82cOdN4Y8qUKU1+np///Od1dXUrVqyoqal55513Ro0aZfyGHsbrTX0TMhIcoMTQisfjOZj3/TN92xxY3ubAchOvb0h8P7VhJ4UNwn8Xg15OPfVUIUR9fX3wIo5evXoFn64QauHChcuWLZs4ceKJEyf+8Ic/vPLKK2PGjInzmceMGXPvvfcuWbLkwIEDfr//5z//eeRjjh49muwLAEV9lnAgEAgG2HgjwFVbUJLH4/nyjMHBd9scWB58OxD4bvP2eJq+6jByzzUktZ9atJPCZvyWpDdjB1u/fn38h+3bt++OO+5o167d9OnTf//737dt2/b222/ft29fnA/JyckpKCh46623Vq5cedZZZ0Wmvba21ufznX/++YmPNs5c11joC3lkKn8kEbDUwbyCWA02BDfhJjfeqHtusvupFTsp7EeG9WbseNu3b4//sKKiovr6+gULFmRlZWVlZS1YsKC+vr64uNi4969//avH47n22mvDPurWW289evToihUrov6WvXbtWiFE3759Uxh2rLlC2CTYzSVes2ZNeXl5eXl5dXV1/EdWV1cbj/zggw/sGZsLRV2ITucTRt1zU9hPrdtJYRsyrLd+/fq1bt161apVcR7z6KOPbty4ccKECZdffrlxy4ABA26++eaKiopp06bF+cArr7yydevWQoibbrop8t533nnH6/WGnnuOL8EXrWRabPji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bNy48YMPPrjzzjtlD+R7Z5xxxk9/+lPj7b17965evXrAgAESx6POhh1Kte9SkGpblJr7nWrHqMhDupqbfZNclGGvN8o/trGxMfSMS7NmzQLy/uTUpk2bfvCDH5x++unZ2dn/93//d/ToUVkjCdq1a9eqVas6depUWVlZVlb24osvrlu3Tu6Q/vGPf5SUlMycOVPuMGKprq6++eabJ06c2LFjR4nDUGrDjqTId8mg4Bal4H5nUOoYFXlIV3yzj8XJGX7ssce6du3atWvX3r17x3pMZmam3+8PvtvY2NisWTNbRifEySN89913P/roo7KyslGjRs2bN08IMX/+fNtGEmtU7dq1O/PMM4uKioQQ+fn5AwYMWLlypdwhPfnkk+eff/7nn3++du3aQ4cObdu2TdYvvJEbWGVl5ZAhQ0aPHj1x4kQpQwqSu2HHp853yaDOFhWkyH4XRp1jVCwqb/ZxqHKNohVGjhzZv39/IUScn8SPfvSjrVu3Bt+tq6uz8xxM6Ai/+OKL/Pz84FDbtWu3f/9+20YSa1R1dXWhd8napkOH9Le//e3rr78uLS0VQhw4cGDt2rWnnnpqfn6+3FEJId5///277rpr2rRpV111lf2DCSN3w45Dqe+SITc3V5EtKujf//3fQ99VpCV1dXWKHKNiUXazb4LkS8Rst2bNmtArpRsbG3v16rVmzZpAILBz584LL7zw66+/ljKwTz/99MILL/zss88CgcDf//73a665ZtmyZVJGEsrn83Xv3n316tWBQOCbb77p3bt3RUWF7EF975ZbblHhutZAIPD5559ffPHFq1ev9v1LQ0ODxPGos2GHUu27FEmRLUrN/U7NY1ToIV3Nzb5JTp4NJ8Lr9T711FP33HNP+/btt27dOn36dFnPSe/YseNDDz00fPjwTp06bd26ddiwYUOHDpUyklD/9m//9txzz913330vvvjirl27xo0bp8fz8GxXWlr67bffTpgwIXjLqFGjHn74YVnjUWfDDqXad0lZau53ah6jQqm52TfJE9DhDLYNjh492qJFi6iXcdnJ7/cfO3asefPmiixDBf3zn//MzMxUbVRokiIbNlKj4H6n7DEqlF6bPRkGAEAaPX5ZAADAkcgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQJr/B75uYHjxSKAyAAAAAElFTkSuQmCC\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":940,"title":"R2012b atan in Degrees","description":"Return in degrees the atan result of inputs for all four quadrants.\r\n\r\n*Examples:*\r\n\r\n  [x, y] Degrees\r\n   1  0     0\r\n   1  1    45\r\n  -1  1   135\r\n  -1 -1  -135\r\n   1 -1   -45\r\n  -1  0  -180\r\n   0 -1   -90\r\n \r\n\r\n*Input:* [ x , y ]\r\n\r\n*Output:* Angle : Degrees [ 0:180 ] ( -180:0 ) -180 is not a valid return value\r\n\r\nNote: Input to atan2 is Y , X not X , Y\r\n\r\nMatlab \u003chttp://www.mathworks.com/products/matlab/whatsnew.html Whatsnew\u003e\r\n\r\nR2012b \u003chttp://www.mathworks.com/help/matlab/ref/atan2d.html Update Note\u003e","description_html":"\u003cp\u003eReturn in degrees the atan result of inputs for all four quadrants.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[x, y] Degrees\r\n 1  0     0\r\n 1  1    45\r\n-1  1   135\r\n-1 -1  -135\r\n 1 -1   -45\r\n-1  0  -180\r\n 0 -1   -90\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [ x , y ]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Angle : Degrees [ 0:180 ] ( -180:0 ) -180 is not a valid return value\u003c/p\u003e\u003cp\u003eNote: Input to atan2 is Y , X not X , Y\u003c/p\u003e\u003cp\u003eMatlab \u003ca href=\"http://www.mathworks.com/products/matlab/whatsnew.html\"\u003eWhatsnew\u003c/a\u003e\u003c/p\u003e\u003cp\u003eR2012b \u003ca href=\"http://www.mathworks.com/help/matlab/ref/atan2d.html\"\u003eUpdate Note\u003c/a\u003e\u003c/p\u003e","function_template":"function degrees = atan_degrees(x,y)\r\n  degrees=0;\r\nend","test_suite":"%%\r\nassert(isequal(atan_degrees(1,1),45))\r\n%%\r\nassert(isequal(atan_degrees(-1,1),135))\r\n%%\r\nassert(isequal(atan_degrees(-1,-1),-135))\r\n%%\r\nassert(isequal(atan_degrees(1,-1),-45))\r\n%%\r\nassert(isequal(atan_degrees(1,0),0))\r\n%%\r\nassert(isequal(atan_degrees(0,1),90))\r\n%%\r\nassert(isequal(atan_degrees(-1,0),180))\r\n%%\r\nassert(isequal(atan_degrees(0,-1),-90))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":73,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-09-10T03:53:34.000Z","updated_at":"2026-03-06T12:24:34.000Z","published_at":"2012-10-28T17:20:12.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn in degrees the atan result of inputs for all four quadrants.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[x, y] Degrees\\n 1  0     0\\n 1  1    45\\n-1  1   135\\n-1 -1  -135\\n 1 -1   -45\\n-1  0  -180\\n 0 -1   -90]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [ x , y ]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Angle : Degrees [ 0:180 ] ( -180:0 ) -180 is not a valid return value\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNote: Input to atan2 is Y , X not X , Y\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMatlab\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/products/matlab/whatsnew.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eWhatsnew\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eR2012b\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/help/matlab/ref/atan2d.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUpdate Note\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":243,"title":"Four quadrant inverse tangent function.","description":"Create a function that returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. The function must yield P in degrees and must not contain the MATLAB build-in function atan2(y,x).","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: 63px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 31.5px; transform-origin: 407px 31.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"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: 369.5px 8px; transform-origin: 369.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCreate a function that returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. The function must yield P in degrees and must not contain the MATLAB build-in function atan2(y,x).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function P=atanquad(Y,X)\r\n  P=\r\nend","test_suite":"%%\r\nfiletext = fileread('atanquad.m');\r\nassert(isempty(strfind(filetext, 'atan2')))\r\n%%\r\nX=-4;\r\nY=3; \r\ny_correct=143.1301;\r\nassert(abs(atanquad(Y,X)-y_correct)\u003c1e-4)\r\n%%\r\nX=-10;\r\nY=-10;\r\ny_correct=-135;\r\nassert(abs(atanquad(Y,X)-y_correct)\u003c1e-4)\r\n%%\r\nX=-10:3:10;\r\nY=-10:3:10;\r\ny_correct=[-135 -135 -135 -135 45 45 45];\r\nassert(all(abs(atanquad(Y,X)-y_correct)\u003c1e-4))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":558,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":70,"test_suite_updated_at":"2021-11-16T10:41:02.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2012-02-03T03:20:13.000Z","updated_at":"2024-10-27T18:42:32.000Z","published_at":"2012-02-04T13:34:38.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eCreate a function that returns an array P the same size as X and Y containing the element-by-element, four-quadrant inverse tangent (arctangent) of the real parts of Y and X. The function must yield P in degrees and must not contain the MATLAB build-in function atan2(y,x).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":58872,"title":"Find the Points Tangent to a Circle from an External Point ","description":"From a point where do the lines touch a circle tangentially?. The loldrup solution may provide some guidance and alternate method. I will elaborate a more reference frame modification geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix.\r\nGiven point(px,py) and circle [cx,cy,R] return the circle points [x3 y3;x4 y4] where lines thru the point are tangential to the circle.  The line ([px,py],[x3,y3]) is tangential to circle [cx,cy,R] at circle point [x3,y3]. D\u003eR.\r\nThe below figure is created based upon h=P=distance([cx,cy],[px,py])/2=D/2, translating (cx,cy) to (0,0), and rotating (px,py) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,P]. 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-(h-Y)^2 = Y^2-h^2+2hY-Y^2=2hY-h^2 thus\r\nY=(R^2-P^2+h^2)/(2h) =(R^2-P^2+P^2)/(2P)=R^2/(2P)=R^2/D\r\nX=+/- (R^2-Y^2)^.5=+/- (R^2-(R^2/(2P))^2)^0.5=+/- R*(1-(R/D)^2)^0.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 [cx cy]\r\n\r\n\r\nThis figure shows the point (px,py) rotated onto the Y-axis at position 2P. The circle (cx,cy) has been shifted to the origin with radius R. The green line shows a tangent at (x,y) from (px,py). A second tangent point is at (-x.y). D=2*P","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: 952.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 476.25px; transform-origin: 407px 476.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: 204px 8px; transform-origin: 204px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFrom a point where do the lines touch a circle tangentially?. The \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://math.stackexchange.com/questions/913239/given-circle-and-point-where-does-the-tangential-line-through-the-point-touch-t\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eloldrup\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 133px 8px; transform-origin: 133px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e solution may provide some guidance and alternate method. I will elaborate a more reference frame modification geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix.\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: 380.5px 8px; transform-origin: 380.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven point(px,py) and circle [cx,cy,R] return the circle points [x3 y3;x4 y4] where lines thru the point are tangential to the circle.  The line ([px,py],[x3,y3]) is tangential to circle [cx,cy,R] at circle point [x3,y3]. D\u0026gt;R.\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: 366.5px 8px; transform-origin: 366.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe below figure is created based upon h=P=distance([cx,cy],[px,py])/2=D/2, translating (cx,cy) to (0,0), and rotating (px,py) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,P]. 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-(h-Y)^2 = Y^2-h^2+2hY-Y^2=2hY-h^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: 188px 8px; transform-origin: 188px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eY=(R^2-P^2+h^2)/(2h) =(R^2-P^2+P^2)/(2P)=R^2/(2P)=R^2/D\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: 211px 8px; transform-origin: 211px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eX=+/- (R^2-Y^2)^.5=+/- (R^2-(R^2/(2P))^2)^0.5=+/- R*(1-(R/D)^2)^0.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: 378px 8px; transform-origin: 378px 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 [cx cy]\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 556.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 278.25px; text-align: left; transform-origin: 384px 278.25px; 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: 419px;height: 551px\" src=\"data:image/png;base64,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giYXJuo///nPmjVrfvSjH6U9EKgXS43AWOTCeLq6ujZt2hRF0bRp0z7wgQ+8853vPHz48OHDh48fP75v3763v/3tth4AKAJnF8Zz4MCB3t7eKIqam5uffvrp559/vvznzz333MyZMzs7O2+++eZUBwgAjSAXqnHbbbeNddQRAPLH+y4AADGsLgAAMawuAAAx5AIAEKP5m9/8ZtpjyI++vr59+/Yd/b/p06dfdNFFaQ/qnN27dzc3N0+bNi3tgZzV3d3917/+tamp6eKLL057LOfs379/165d//73v2fOnJn2WIbbsWPH7Nmz0x5FdOTIkWeeeaa/v/+SSy5JeyzDBXITVYR5dwrz0isLapoKfEpvMGcXkvSTn/zk/vvvr9yfvve971155ZXpDqli//79H/3oR++///5AXtDx3e9+97e//e2iRYv+/Oc/f+ITn7j99tvTHlEURVFXV9fjjz++aNGi7u7u6dOnP/TQQ+HMDj/84Q83bty4Y8eOdIexefPme++9t6Oj49lnn/3IRz6yevXqdMczVCA3UUWYd6cwL72y0KapkKf0FJRIzpe//OWf//znaY9iFKdPn/7Qhz70wQ9+cMuWLWmPpVQqlXp6et71rncdP368VCodO3bs8ssvf/XVV9MeVOn555+vjKpUKnV2dj766KPpDqns+PHjX/3qVxcsWLBkyZJ0R9Lf379gwYKenp5SqfTqq6++5z3v+fvf/57ukMrCuYkqwrw7hXnplYU2TZUCntJT4exCkl544YU5c+b09fWdOXMm7bGcZ926dddcc83cuXPTHshZc+bM2bRpU3kh9IILLhgcHOzv7097UNGMGTPWr19fWZ699NJLjx49mu6Qyh544IGWlpZ77rkn7YFE27dvnzFjRvmO1NLS8v73v/+Pf/xj2oOKopBuooow705hXnploU1TUcBTeirkQmIGBgYOHTrU1dXV2dn57ne/+6677kp7RGeVfzPWl770pbQHck5TU9PcuXMHBgYeeeSRFStWfOELX2hra0t7UNHb3va2jo6O8scHDx7cunXrNddck+6QytasWfOVr3xl6tSpaQ8keu211y6//PLKp9OmTQvkd6qFcxNVhHl3CvPSi4KcpoKd0tMiFxLzyiuvLF26dP369Tt37ty2bdv27ds3btyY9qDO/masdevWpT2QURw/fvzUqVNtbW1PPvnkv/71r7SHc05vb+/nPve5lStXtre3pz2WKIqipqZQrtOBgYEpQ35tZXNzcymMw0/h3EQjhXZ3isK79MKcpsKc0lMU7jWWCV1dXQsXLly4cOGVV145a9as73//+7NmzYqiqK2tbenSpc8++2zqo1q7dm35N2M98cQT5d+MldbTwaGjKv9Ja2vrihUrfvzjH7/xjW98+OGHAxnVnj17brjhhuXLl69cuTKVIY06qkBceOGFg4ODlU8HBgaam5tTHE/4Qrg7jRTCpTdUONPUUOFM6YHwGylr8ulPf/rqq6+Ooqi5ufngwYN/+ctfPv7xj5e/dPr06bSe8Qwd1dNPP33s2LENGzZEUfTSSy898cQTb3rTm1L5RZpDR3XgwIGdO3cuW7as/KW2traXX3658UMaNqooip566qnVq1fffffd1113XSrjGXVU4XjrW9+6d+/eyqevvfba9ddfn+J4AhfI3WmocC69oVpbWwOZpoYKZ0oPRdpnLfPjxRdfbG9vLx8af+WVVzo6OrZv3572oM5z6623BnLkuKenp729/W9/+1upVDp27FhHR8fvf//7tAdVOnz48IIFC7Zu3Xr6//r7+9Me1Dnbtm1L/dj/wMDAkiVLtm3bViqVenp6rrjiimPHjqU7pKFCuIkqwrw7hXnpDRXONBX+lN5gVhcSM2/evK9//es33XTTFVdc8dxzz61atSq0leRwzJ0796677vrYxz62cOHCXbt2ff7zny8/mU7Xhg0bTp48eccdd1T+5DOf+cw3vvGNFIcUmqampvvuu+/OO+98xzvesXfv3nvvvbe1tTXtQQUqzLtTmJdemEzpw3ibpoQNDg6eOnXqDW94Q9GXrSZgcHCwr6/vLW95S2hL7sR6/fXX3cmzy6U3cab0CrkAAMQoei4BALHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQ43+axZahfzsjgwAAAABJRU5ErkJggg==\" data-image-state=\"image-loaded\" width=\"419\" height=\"551\"\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: 378.5px 8px; transform-origin: 378.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis figure shows the point (px,py) rotated onto the Y-axis at position 2P. The circle (cx,cy) has been shifted to the origin with radius R. The green line shows a tangent at (x,y) from (px,py). A second tangent point is at (-x.y). D=2*P\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function xy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n%Find points on circle that when drawn to a point only touches circle at the circle point.\r\n%The line from the circle center to (x3 y3) is orthogonal to the line [(px,py) (x3,y3)]\r\n%A second point (x4,y4) also creates an orthogonal lines intersection\r\n\r\n  D=norm([px-cx py-cy])\r\n  \r\n  %Y=\r\n  %X=\r\n  \r\n  xy=[X Y;-X Y];\r\n \r\n %Rotation Angle: atan2\r\n theta=atan2(px-cx,py-cy); % (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: [cx cy]\r\n %Check of (px,py) being regenerated from D, theta, and translation\r\n [pxyD]=[0 D]*[cos(theta) -sin(theta);sin(theta) cos(theta)]+[cx cy]\r\n [px py]\r\n \r\n %xy=\r\n \r\n \r\n  \r\nend %TangentPoints_onCircle","test_suite":"%%\r\nvalid=1;\r\npx=6;py=8;cx=0;cy=0;R=4;\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=1;\r\npx=-6;py=-8;cx=2;cy=4;R=6;\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=1;\r\npx=6;py=8;cx=1;cy=-2;R=5;\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=1;\r\n%px=6;py=8;cx=1;cy=-2;R=5;\r\ncx=-5*rand; cy=-5*rand; R=4+rand;\r\npx=3+2*rand; py=3+2*rand;\r\n[px py cx cy R]\r\nxy=TangentPoints_onCircle(px,py,cx,cy,R)\r\n\r\n%Verify line from (cx,cy) to (x3,y3) slope is -1/slope of (px,py) to (x3,y3), orthogonal\r\nmexp=-(xy(2,1)-cx)/(xy(2,2)-cy)\r\nmp=(xy(2,2)-py)/(xy(2,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\nmexp=-(xy(1,1)-cx)/(xy(1,2)-cy)\r\nmp=(xy(1,2)-py)/(xy(1,1)-px)\r\nif abs(mexp)\u003e1e12 % Inf slope allow +/- match\r\n if ~(abs(mp)\u003e1e12)\r\n   valid=0\r\n end\r\nelse\r\n if abs(mp-mexp)\u003e1e-6\r\n  valid=0\r\n end\r\nend\r\n\r\n\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-12T23:33:27.000Z","deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-08-12T21:15:25.000Z","updated_at":"2023-08-12T23:33:27.000Z","published_at":"2023-08-12T23:33: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\u003eFrom a point where do the lines touch a circle tangentially?. The \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://math.stackexchange.com/questions/913239/given-circle-and-point-where-does-the-tangential-line-through-the-point-touch-t\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eloldrup\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e solution may provide some guidance and alternate method. I will elaborate a more reference frame modification geometric solution 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 point(px,py) and circle [cx,cy,R] return the circle points [x3 y3;x4 y4] where lines thru the point are tangential to the circle.  The line ([px,py],[x3,y3]) is tangential to circle [cx,cy,R] at circle point [x3,y3]. D\u0026gt;R.\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=P=distance([cx,cy],[px,py])/2=D/2, translating (cx,cy) to (0,0), and rotating (px,py) to be on the Y-axis. From this manipulation two right triangles are apparent: [X,Y,R] and [X,h-Y,P]. 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-(h-Y)^2 = Y^2-h^2+2hY-Y^2=2hY-h^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) =(R^2-P^2+P^2)/(2P)=R^2/(2P)=R^2/D\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\u003eX=+/- (R^2-Y^2)^.5=+/- (R^2-(R^2/(2P))^2)^0.5=+/- R*(1-(R/D)^2)^0.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 [cx cy]\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\u003e\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=\\\"551\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"419\\\"/\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\u003eThis figure shows the point (px,py) rotated onto the Y-axis at position 2P. The circle (cx,cy) has been shifted to the origin with radius R. The green line shows a tangent at (x,y) from (px,py). A second tangent point is at (-x.y). D=2*P\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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giYXJuo///nPmjVrfvSjH6U9EKgXS43AWOTCeLq6ujZt2hRF0bRp0z7wgQ+8853vPHz48OHDh48fP75v3763v/3tth4AKAJnF8Zz4MCB3t7eKIqam5uffvrp559/vvznzz333MyZMzs7O2+++eZUBwgAjSAXqnHbbbeNddQRAPLH+y4AADGsLgAAMawuAAAx5AIAEKP5m9/8ZtpjyI++vr59+/Yd/b/p06dfdNFFaQ/qnN27dzc3N0+bNi3tgZzV3d3917/+tamp6eKLL057LOfs379/165d//73v2fOnJn2WIbbsWPH7Nmz0x5FdOTIkWeeeaa/v/+SSy5JeyzDBXITVYR5dwrz0isLapoKfEpvMGcXkvSTn/zk/vvvr9yfvve971155ZXpDqli//79H/3oR++///5AXtDx3e9+97e//e2iRYv+/Oc/f+ITn7j99tvTHlEURVFXV9fjjz++aNGi7u7u6dOnP/TQQ+HMDj/84Q83bty4Y8eOdIexefPme++9t6Oj49lnn/3IRz6yevXqdMczVCA3UUWYd6cwL72y0KapkKf0FJRIzpe//OWf//znaY9iFKdPn/7Qhz70wQ9+cMuWLWmPpVQqlXp6et71rncdP368VCodO3bs8ssvf/XVV9MeVOn555+vjKpUKnV2dj766KPpDqns+PHjX/3qVxcsWLBkyZJ0R9Lf379gwYKenp5SqfTqq6++5z3v+fvf/57ukMrCuYkqwrw7hXnplYU2TZUCntJT4exCkl544YU5c+b09fWdOXMm7bGcZ926dddcc83cuXPTHshZc+bM2bRpU3kh9IILLhgcHOzv7097UNGMGTPWr19fWZ699NJLjx49mu6Qyh544IGWlpZ77rkn7YFE27dvnzFjRvmO1NLS8v73v/+Pf/xj2oOKopBuooow705hXnploU1TUcBTeirkQmIGBgYOHTrU1dXV2dn57ne/+6677kp7RGeVfzPWl770pbQHck5TU9PcuXMHBgYeeeSRFStWfOELX2hra0t7UNHb3va2jo6O8scHDx7cunXrNddck+6QytasWfOVr3xl6tSpaQ8keu211y6//PLKp9OmTQvkd6qFcxNVhHl3CvPSi4KcpoKd0tMiFxLzyiuvLF26dP369Tt37ty2bdv27ds3btyY9qDO/masdevWpT2QURw/fvzUqVNtbW1PPvnkv/71r7SHc05vb+/nPve5lStXtre3pz2WKIqipqZQrtOBgYEpQ35tZXNzcymMw0/h3EQjhXZ3isK79MKcpsKc0lMU7jWWCV1dXQsXLly4cOGVV145a9as73//+7NmzYqiqK2tbenSpc8++2zqo1q7dm35N2M98cQT5d+MldbTwaGjKv9Ja2vrihUrfvzjH7/xjW98+OGHAxnVnj17brjhhuXLl69cuTKVIY06qkBceOGFg4ODlU8HBgaam5tTHE/4Qrg7jRTCpTdUONPUUOFM6YHwGylr8ulPf/rqq6+Ooqi5ufngwYN/+ctfPv7xj5e/dPr06bSe8Qwd1dNPP33s2LENGzZEUfTSSy898cQTb3rTm1L5RZpDR3XgwIGdO3cuW7as/KW2traXX3658UMaNqooip566qnVq1fffffd1113XSrjGXVU4XjrW9+6d+/eyqevvfba9ddfn+J4AhfI3WmocC69oVpbWwOZpoYKZ0oPRdpnLfPjxRdfbG9vLx8af+WVVzo6OrZv3572oM5z6623BnLkuKenp729/W9/+1upVDp27FhHR8fvf//7tAdVOnz48IIFC7Zu3Xr6//r7+9Me1Dnbtm1L/dj/wMDAkiVLtm3bViqVenp6rrjiimPHjqU7pKFCuIkqwrw7hXnpDRXONBX+lN5gVhcSM2/evK9//es33XTTFVdc8dxzz61atSq0leRwzJ0796677vrYxz62cOHCXbt2ff7zny8/mU7Xhg0bTp48eccdd1T+5DOf+cw3vvGNFIcUmqampvvuu+/OO+98xzvesXfv3nvvvbe1tTXtQQUqzLtTmJdemEzpw3ibpoQNDg6eOnXqDW94Q9GXrSZgcHCwr6/vLW95S2hL7sR6/fXX3cmzy6U3cab0CrkAAMQoei4BALHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQQy4AADHkAgAQ43+axZahfzsjgwAAAABJRU5ErkJggg==\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":58852,"title":"Intersection(s) of Circles","description":"Do two given circles intersect in Zero, One, or Two points and provide the intersection(s). The Stafford method may provide some guidance and alternate solution method. I will elaborate a more geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix. Assumption is that Matlab function circcirc is not available.\r\nGiven circles [x1,y1,R] and [x2,y2,P] return the intersections [], [x y], or [x y;x y].\r\nThe below figure is created based upon d=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,d-Y,P]. 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+(d-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+d^2)/(2d)  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\n\r\n \r\nDiagram showing a normalization of posed problem where (x1,y1) is placed at origin and (x2,y2) is placed on Y-axis at distance d. Final (x,y) values will require rotation and shifting.","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: 1000.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 500.25px; transform-origin: 407px 500.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: 296px 8px; transform-origin: 296px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDo two given circles intersect in Zero, One, or Two points and provide the intersection(s). The \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/answers/196755-fsolve-to-find-circle-intersections\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eStafford\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 42.5px 8px; transform-origin: 42.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e method may provide some guidance and alternate solution method. I will elaborate a more geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix. Assumption is that Matlab function circcirc is not available.\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: 248px 8px; transform-origin: 248px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven circles [x1,y1,R] and [x2,y2,P] return the intersections [], [x y], or [x y;x y].\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 d=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,d-Y,P]. 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+(d-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+d^2)/(2d)  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: 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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 655.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 327.75px; text-align: left; transform-origin: 384px 327.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: 482px;height: 650px\" src=\"data:image/png;base64,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I3hL9+7dhRArVqxIasDGZme8GXJjUp8DUNGLl5whEn6l6Mg9N6n91NKdFHaT9xuAZPr+6hRqwoQJQojgr89xPPjgg0KIRx555N577xVCzJgxI86D77zzTiHEunXrjHdPnDjRsmXL//zP/wx9TGNjoxBiyJAhqY08ZCrs3o3QamJqyH+wXBI/mlh7buL7qQ07qV70PaS79wio788s1JAhQ4QQJ06cCN7S2Nh4/GTB27t06ZKZmSmEuPrqq+N/2o8//lgIMWHCBOPdsrIyIcQf//jHsIe1bNmyTZs2KQw7tMGpHMOQGDJsryROr0TuuYbE91Ord1Lt6HtIZ1Fabz6fTwiRkZERvOXVV19tfjLjdq/XO3fuXOPxTz/9dPxP26VLl86dOy9ZssTv9wshFi1a1KJFi5EjR4Y9LDMz88iRI8mO+eTLsiz5W8WIJPtQ4zRfnjE49L/g75QJbsWRe64h8f3U0p0UdiLDTvPjH/94yMmCd82cOdN4Y8qUKU1+np///Od1dXUrVqyoqal55513Ro0aZfyGHsbrTX0TMhIcoMTQisfjOZj3/TN92xxY3ubAchOvb0h8P7VhJ4UNwn8Xg15OPfVUIUR9fX3wIo5evXoFn64QauHChcuWLZs4ceKJEyf+8Ic/vPLKK2PGjInzmceMGXPvvfcuWbLkwIEDfr//5z//eeRjjh49muwLAEV9lnAgEAgG2HgjwFVbUJLH4/nyjMHBd9scWB58OxD4bvP2eJq+6jByzzUktZ9atJPCZvyWpDdjB1u/fn38h+3bt++OO+5o167d9OnTf//737dt2/b222/ft29fnA/JyckpKCh46623Vq5cedZZZ0Wmvba21ufznX/++YmPNs5c11joC3lkKn8kEbDUwbyCWA02BDfhJjfeqHtusvupFTsp7EeG9WbseNu3b4//sKKiovr6+gULFmRlZWVlZS1YsKC+vr64uNi4969//avH47n22mvDPurWW289evToihUrov6WvXbtWiFE3759Uxh2rLlC2CTYzSVes2ZNeXl5eXl5dXV1/EdWV1cbj/zggw/sGZsLRV2ITucTRt1zU9hPrdtJYRsyrLd+/fq1bt161apVcR7z6KOPbty4ccKECZdffrlxy4ABA26++eaKiopp06bF+cArr7yydevWQoibbrop8t533nnH6/WGnnuOL8EXrWRabPji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bNy48YMPPrjzzjtlD+R7Z5xxxk9/+lPj7b17965evXrAgAESx6POhh1Kte9SkGpblJr7nWrHqMhDupqbfZNclGGvN8o/trGxMfSMS7NmzQLy/uTUpk2bfvCDH5x++unZ2dn/93//d/ToUVkjCdq1a9eqVas6depUWVlZVlb24osvrlu3Tu6Q/vGPf5SUlMycOVPuMGKprq6++eabJ06c2LFjR4nDUGrDjqTId8mg4Bal4H5nUOoYFXlIV3yzj8XJGX7ssce6du3atWvX3r17x3pMZmam3+8PvtvY2NisWTNbRifEySN89913P/roo7KyslGjRs2bN08IMX/+fNtGEmtU7dq1O/PMM4uKioQQ+fn5AwYMWLlypdwhPfnkk+eff/7nn3++du3aQ4cObdu2TdYvvJEbWGVl5ZAhQ0aPHj1x4kQpQwqSu2HHp853yaDOFhWkyH4XRp1jVCwqb/ZxqHKNohVGjhzZv39/IUScn8SPfvSjrVu3Bt+tq6uz8xxM6Ai/+OKL/Pz84FDbtWu3f/9+20YSa1R1dXWhd8napkOH9Le//e3rr78uLS0VQhw4cGDt2rWnnnpqfn6+3FEJId5///277rpr2rRpV111lf2DCSN3w45Dqe+SITc3V5EtKujf//3fQ99VpCV1dXWKHKNiUXazb4LkS8Rst2bNmtArpRsbG3v16rVmzZpAILBz584LL7zw66+/ljKwTz/99MILL/zss88CgcDf//73a665ZtmyZVJGEsrn83Xv3n316tWBQOCbb77p3bt3RUWF7EF975ZbblHhutZAIPD5559ffPHFq1ev9v1LQ0ODxPGos2GHUu27FEmRLUrN/U7NY1ToIV3Nzb5JTp4NJ8Lr9T711FP33HNP+/btt27dOn36dFnPSe/YseNDDz00fPjwTp06bd26ddiwYUOHDpUyklD/9m//9txzz913330vvvjirl27xo0bp8fz8GxXWlr67bffTpgwIXjLqFGjHn74YVnjUWfDDqXad0lZau53ah6jQqm52TfJE9DhDLYNjh492qJFi6iXcdnJ7/cfO3asefPmiixDBf3zn//MzMxUbVRokiIbNlKj4H6n7DEqlF6bPRkGAEAaPX5ZAADAkcgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQJr/B75uYHjxSKAyAAAAAElFTkSuQmCC\" data-image-state=\"image-loaded\" width=\"482\" height=\"650\"\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: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \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: 370.5px 8px; transform-origin: 370.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDiagram showing a normalization of posed problem where (x1,y1) is placed at origin and (x2,y2) is placed on Y-axis at distance d. Final (x,y) values will require rotation and shifting.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function xy = circle_intersections(x1,y1,R,x2,y2,P)\r\n  d2=(x1-x2)^2+(y1-y2)^2;\r\n  d=d2^0.5;\r\n  xy=[];\r\n  if d\u003eP+R,return;end % No intersection due to C-C separation\r\n  % Two other No intersection Cases can be determined using d,P,R\r\n  %if ,return;end % No intersection, smaller R is inside larger P\r\n  %if ,return;end % No intersection, smaller P is inside larger R\r\n  \r\n %Single point intersections\r\n if d==P+R\r\n  xy=[0 R];\r\n elseif d-P==-R\r\n  %xy=[];\r\n elseif d+P==R\r\n  %xy=\r\n end\r\n \r\n if isempty(xy) % Dual Solutions\r\n  %y=\r\n  %x=\r\n  %xy=[ ; ];\r\n end\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 d, theta, and translation\r\n [xy2c]=[0 d]*[cos(theta) -sin(theta);sin(theta) cos(theta)]+[x1 y1]\r\n [x2 y2]\r\n \r\n %xy=\r\n \r\n \r\n \r\nend % circle_intersections","test_suite":"%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=0;y2=10;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=10;y2=0;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=-10;y2=0;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=0;y1=0;R=6;\r\nx2=0;y2=-10;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=4;y1=4;R=6;\r\nx2=6;y2=-2;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=-4;y1=-4;R=4;\r\nx2=-4;y2=8;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=1\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=3;y1=1;R=4;\r\nx2=3;y2=5;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=1\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=-2;y1=1;R=10;\r\nx2=0;y2=1;P=8;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=1\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=1;R=1;\r\nx2=8;y2=8;P=2;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=1;R=1;\r\nx2=2;y2=1;P=2;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=2;R=1;\r\nx2=3;y2=3;P=3;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=2;y1=2;R=5;\r\nx2=3;y2=3;P=1;\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif ~isempty(xy)\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=rand;y1=4+rand;R=6+rand;\r\n[x1 y1 R]\r\nx2=-1+rand;y2=-3+rand;P=8+rand;\r\n[x2 y2 P]\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n%%\r\nvalid=1;\r\nx1=-1+rand;y1=-3+rand;R=8+rand;\r\n[x1 y1 R]\r\nx2=rand;y2=4+rand;P=6+rand;\r\n[x2 y2 P]\r\nxy = circle_intersections(x1,y1,R,x2,y2,P)\r\nif size(xy,1)~=2\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x1 y1]).^2,2)-R^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nif sum(sum((xy-[x2 y2]).^2,2)-P^2)\u003e1e-6 % Test points\r\n valid=0;\r\nend\r\nassert(valid)\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":3097,"edited_at":"2023-08-11T15:10:45.000Z","deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":"2023-08-11T15:10:45.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-08-10T16:45:31.000Z","updated_at":"2023-08-11T15:10:45.000Z","published_at":"2023-08-10T19:02:14.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\u003eDo two given circles intersect in Zero, One, or Two points and provide the intersection(s). The \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/answers/196755-fsolve-to-find-circle-intersections\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eStafford\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e method may provide some guidance and alternate solution method. I will elaborate a more geometric solution utilizing Matlab specific functions, rotation matrix, and translation matrix. Assumption is that Matlab function circcirc is not available.\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 circles [x1,y1,R] and [x2,y2,P] return the intersections [], [x y], or [x y;x y].\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 d=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,d-Y,P]. 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+(d-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+d^2)/(2d)  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\u003e\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=\\\"650\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"482\\\"/\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\u003cw:r\u003e\u003cw:t\u003e \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\u003eDiagram showing a normalization of posed problem where (x1,y1) is placed at origin and (x2,y2) is placed on Y-axis at distance d. Final (x,y) values will require rotation and shifting.\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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I3hL9+7dhRArVqxIasDGZme8GXJjUp8DUNGLl5whEn6l6Mg9N6n91NKdFHaT9xuAZPr+6hRqwoQJQojgr89xPPjgg0KIRx555N577xVCzJgxI86D77zzTiHEunXrjHdPnDjRsmXL//zP/wx9TGNjoxBiyJAhqY08ZCrs3o3QamJqyH+wXBI/mlh7buL7qQ07qV70PaS79wio788s1JAhQ4QQJ06cCN7S2Nh4/GTB27t06ZKZmSmEuPrqq+N/2o8//lgIMWHCBOPdsrIyIcQf//jHsIe1bNmyTZs2KQw7tMGpHMOQGDJsryROr0TuuYbE91Ord1Lt6HtIZ1Fabz6fTwiRkZERvOXVV19tfjLjdq/XO3fuXOPxTz/9dPxP26VLl86dOy9ZssTv9wshFi1a1KJFi5EjR4Y9LDMz88iRI8mO+eTLsiz5W8WIJPtQ4zRfnjE49L/g75QJbsWRe64h8f3U0p0UdiLDTvPjH/94yMmCd82cOdN4Y8qUKU1+np///Od1dXUrVqyoqal55513Ro0aZfyGHsbrTX0TMhIcoMTQisfjOZj3/TN92xxY3ubAchOvb0h8P7VhJ4UNwn8Xg15OPfVUIUR9fX3wIo5evXoFn64QauHChcuWLZs4ceKJEyf+8Ic/vPLKK2PGjInzmceMGXPvvfcuWbLkwIEDfr//5z//eeRjjh49muwLAEV9lnAgEAgG2HgjwFVbUJLH4/nyjMHBd9scWB58OxD4bvP2eJq+6jByzzUktZ9atJPCZvyWpDdjB1u/fn38h+3bt++OO+5o167d9OnTf//737dt2/b222/ft29fnA/JyckpKCh46623Vq5cedZZZ0Wmvba21ufznX/++YmPNs5c11joC3lkKn8kEbDUwbyCWA02BDfhJjfeqHtusvupFTsp7EeG9WbseNu3b4//sKKiovr6+gULFmRlZWVlZS1YsKC+vr64uNi4969//avH47n22mvDPurWW289evToihUrov6WvXbtWiFE3759Uxh2rLlC2CTYzSVes2ZNeXl5eXl5dXV1/EdWV1cbj/zggw/sGZsLRV2ITucTRt1zU9hPrdtJYRsyrLd+/fq1bt161apVcR7z6KOPbty4ccKECZdffrlxy4ABA26++eaKiopp06bF+cArr7yydevWQoibbrop8t533nnH6/WGnnuOL8EXrWRabPji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bNy48YMPPrjzzjtlD+R7Z5xxxk9/+lPj7b17965evXrAgAESx6POhh1Kte9SkGpblJr7nWrHqMhDupqbfZNclGGvN8o/trGxMfSMS7NmzQLy/uTUpk2bfvCDH5x++unZ2dn/93//d/ToUVkjCdq1a9eqVas6depUWVlZVlb24osvrlu3Tu6Q/vGPf5SUlMycOVPuMGKprq6++eabJ06c2LFjR4nDUGrDjqTId8mg4Bal4H5nUOoYFXlIV3yzj8XJGX7ssce6du3atWvX3r17x3pMZmam3+8PvtvY2NisWTNbRifEySN89913P/roo7KyslGjRs2bN08IMX/+fNtGEmtU7dq1O/PMM4uKioQQ+fn5AwYMWLlypdwhPfnkk+eff/7nn3++du3aQ4cObdu2TdYvvJEbWGVl5ZAhQ0aPHj1x4kQpQwqSu2HHp853yaDOFhWkyH4XRp1jVCwqb/ZxqHKNohVGjhzZv39/IUScn8SPfvSjrVu3Bt+tq6uz8xxM6Ai/+OKL/Pz84FDbtWu3f/9+20YSa1R1dXWhd8napkOH9Le//e3rr78uLS0VQhw4cGDt2rWnnnpqfn6+3FEJId5///277rpr2rRpV111lf2DCSN3w45Dqe+SITc3V5EtKujf//3fQ99VpCV1dXWKHKNiUXazb4LkS8Rst2bNmtArpRsbG3v16rVmzZpAILBz584LL7zw66+/ljKwTz/99MILL/zss88CgcDf//73a665ZtmyZVJGEsrn83Xv3n316tWBQOCbb77p3bt3RUWF7EF975ZbblHhutZAIPD5559ffPHFq1ev9v1LQ0ODxPGos2GHUu27FEmRLUrN/U7NY1ToIV3Nzb5JTp4NJ8Lr9T711FP33HNP+/btt27dOn36dFnPSe/YseNDDz00fPjwTp06bd26ddiwYUOHDpUyklD/9m//9txzz913330vvvjirl27xo0bp8fz8GxXWlr67bffTpgwIXjLqFGjHn74YVnjUWfDDqXad0lZau53ah6jQqm52TfJE9DhDLYNjh492qJFi6iXcdnJ7/cfO3asefPmiixDBf3zn//MzMxUbVRokiIbNlKj4H6n7DEqlF6bPRkGAEAaPX5ZAADAkcgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQBoyDACANGQYAABpyDAAANKQYQAApCHDAABIQ4YBAJCGDAMAIA0ZBgBAGjIMAIA0ZBgAAGnIMAAA0pBhAACkIcMAAEhDhgEAkIYMAwAgDRkGAEAaMgwAgDRkGAAAacgwAADSkGEAAKQhwwAASEOGAQCQhgwDACANGQYAQJr/B75uYHjxSKAyAAAAAElFTkSuQmCC\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"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\"}]}"}],"term":"tag:\"atan2\"","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:\"atan2\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"atan2\"","","\"","atan2","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f24a28d87b8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f24a28d8718\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f24a28d7e58\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f24a28d8a38\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f24a28d8998\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f24a28d88f8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f24a28d8858\u003e":"tag:\"atan2\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f24a28d8858\u003e":"tag:\"atan2\""},"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:\"atan2\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"atan2\"","","\"","atan2","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f24a28d87b8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f24a28d8718\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f24a28d7e58\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f24a28d8a38\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f24a28d8998\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f24a28d88f8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f24a28d8858\u003e":"tag:\"atan2\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f24a28d8858\u003e":"tag:\"atan2\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":940,"difficulty_rating":"easy"},{"id":243,"difficulty_rating":"easy-medium"},{"id":58872,"difficulty_rating":"medium"},{"id":58852,"difficulty_rating":"medium"},{"id":58862,"difficulty_rating":"medium"}]}}