{"action":"created","comment":{"url":"https://api.github.com/repos/sympy/sympy/pulls/comments/150909292","pull_request_review_id":76531368,"id":150909292,"diff_hunk":"@@ -694,6 +694,11 @@ def is_tangent(self, o):\n         >>> l1 = Line(p1, p2)\n         >>> e1.is_tangent(l1)\n         True\n+        \n+        References\n+        ==========\n+\n+        [1] http://jwilson.coe.uga.edu/emt669/student.folders/banker.teresa/unitstdy/unitstdy.html","path":"sympy/geometry/ellipse.py","position":8,"original_position":8,"commit_id":"a65bac71a437e0ed185b7ade60ea0de387795f49","original_commit_id":"a65bac71a437e0ed185b7ade60ea0de387795f49","user":{"login":"Amit-Modi","id":25955291,"avatar_url":"https://avatars1.githubusercontent.com/u/25955291?v=4","gravatar_id":"","url":"https://api.github.com/users/Amit-Modi","html_url":"https://github.com/Amit-Modi","followers_url":"https://api.github.com/users/Amit-Modi/followers","following_url":"https://api.github.com/users/Amit-Modi/following{/other_user}","gists_url":"https://api.github.com/users/Amit-Modi/gists{/gist_id}","starred_url":"https://api.github.com/users/Amit-Modi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amit-Modi/subscriptions","organizations_url":"https://api.github.com/users/Amit-Modi/orgs","repos_url":"https://api.github.com/users/Amit-Modi/repos","events_url":"https://api.github.com/users/Amit-Modi/events{/privacy}","received_events_url":"https://api.github.com/users/Amit-Modi/received_events","type":"User","site_admin":false},"body":"@ylemkimon, I tried to find a more stable reference.<br> I mentioned earlier, I did not find a definition for tangent ray/segment (other than this ). <br>In most of the places tangent is defined as a tangent line, but I found following definition at (https://en.wikipedia.org/wiki/Tangent_(disambiguation))[https://en.wikipedia.org/wiki/Tangent_(disambiguation)]<br><br>More generally, in geometry, two curves are said to be tangent when they intersect at a given point and have the same direction at that point","created_at":"2017-11-14T17:44:51Z","updated_at":"2017-11-14T17:44:51Z","html_url":"https://github.com/sympy/sympy/pull/13496#discussion_r150909292","pull_request_url":"https://api.github.com/repos/sympy/sympy/pulls/13496","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/sympy/sympy/pulls/comments/150909292"},"html":{"href":"https://github.com/sympy/sympy/pull/13496#discussion_r150909292"},"pull_request":{"href":"https://api.github.com/repos/sympy/sympy/pulls/13496"}},"in_reply_to_id":150411944},"pull_request":{"url":"https://api.github.com/repos/sympy/sympy/pulls/13496","id":147741100,"html_url":"https://github.com/sympy/sympy/pull/13496","diff_url":"https://github.com/sympy/sympy/pull/13496.diff","patch_url":"https://github.com/sympy/sympy/pull/13496.patch","issue_url":"https://api.github.com/repos/sympy/sympy/issues/13496","number":13496,"state":"open","locked":false,"title":"Corrected is_tangent in ellipse.py","user":{"login":"Amit-Modi","id":25955291,"avatar_url":"https://avatars1.githubusercontent.com/u/25955291?v=4","gravatar_id":"","url":"https://api.github.com/users/Amit-Modi","html_url":"https://github.com/Amit-Modi","followers_url":"https://api.github.com/users/Amit-Modi/followers","following_url":"https://api.github.com/users/Amit-Modi/following{/other_user}","gists_url":"https://api.github.com/users/Amit-Modi/gists{/gist_id}","starred_url":"https://api.github.com/users/Amit-Modi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amit-Modi/subscriptions","organizations_url":"https://api.github.com/users/Amit-Modi/orgs","repos_url":"https://api.github.com/users/Amit-Modi/repos","events_url":"https://api.github.com/users/Amit-Modi/events{/privacy}","received_events_url":"https://api.github.com/users/Amit-Modi/received_events","type":"User","site_admin":false},"body":"What's Wrong:\r\n```python\r\n>>> from sympy import *\r\n>>> c = Circle(Point(0,0),2)\r\n>>> poly1 = Polygon((-2,-2),(-2,2),(2,2),(3,0),(2,-2))\r\n>>> c.is_tangent(poly1)\r\nTrue\r\n>>> poly2 = Polygon((2,2),(3,0),(2,-2),(-2,-2),(-2,2))\r\n>>> c.is_tangent(poly2)\r\nFalse\r\n>>> r = Ray(Point(0,2),Point(2,2))\r\n>>> c.is_tangent(r)\r\nFalse\r\n```\r\n\r\nnotice that poly1 and poly2 are giving different results,\r\nbut are same polygon except there starting points are different.\r\nFurther, in my opinion( I found very less on this topic on internet but by definition in google),  tangent is a straight line or plane that touches a curve or curved surface at a point, but if EXTENDED does not cross it at that point.\r\nthe ray,r touches the circle,c at r.source but when extended does not cross circle,c at any point. by this definition r is a tangent to circle c.\r\n\r\nChanges I made:\r\nchange 1-\r\nLine Number:720-730\r\n       if one or more sides of polygon are tangent to ellipse and other does not touch it, polygon is a tangent\r\n      \r\n\r\nchange 2-\r\nLine Number: 714\r\n       original content : \r\n                return intersect[0] != o.source and not self.encloses_point(o.source)\r\n       my change:\r\n                return o in self.tangent_lines(intersect[0])[0]\r\n","created_at":"2017-10-20T08:08:49Z","updated_at":"2017-11-14T17:44:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c0ff19daa97422e257a58251516bf3124dbeb61e","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/sympy/sympy/pulls/13496/commits","review_comments_url":"https://api.github.com/repos/sympy/sympy/pulls/13496/comments","review_comment_url":"https://api.github.com/repos/sympy/sympy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sympy/sympy/issues/13496/comments","statuses_url":"https://api.github.com/repos/sympy/sympy/statuses/a65bac71a437e0ed185b7ade60ea0de387795f49","head":{"label":"Amit-Modi:master","ref":"master","sha":"a65bac71a437e0ed185b7ade60ea0de387795f49","user":{"login":"Amit-Modi","id":25955291,"avatar_url":"https://avatars1.githubusercontent.com/u/25955291?v=4","gravatar_id":"","url":"https://api.github.com/users/Amit-Modi","html_url":"https://github.com/Amit-Modi","followers_url":"https://api.github.com/users/Amit-Modi/followers","following_url":"https://api.github.com/users/Amit-Modi/following{/other_user}","gists_url":"https://api.github.com/users/Amit-Modi/gists{/gist_id}","starred_url":"https://api.github.com/users/Amit-Modi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amit-Modi/subscriptions","organizations_url":"https://api.github.com/users/Amit-Modi/orgs","repos_url":"https://api.github.com/users/Amit-Modi/repos","events_url":"https://api.github.com/users/Amit-Modi/events{/privacy}","received_events_url":"https://api.github.com/users/Amit-Modi/received_events","type":"User","site_admin":false},"repo":{"id":107642014,"name":"sympy","full_name":"Amit-Modi/sympy","owner":{"login":"Amit-Modi","id":25955291,"avatar_url":"https://avatars1.githubusercontent.com/u/25955291?v=4","gravatar_id":"","url":"https://api.github.com/users/Amit-Modi","html_url":"https://github.com/Amit-Modi","followers_url":"https://api.github.com/users/Amit-Modi/followers","following_url":"https://api.github.com/users/Amit-Modi/following{/other_user}","gists_url":"https://api.github.com/users/Amit-Modi/gists{/gist_id}","starred_url":"https://api.github.com/users/Amit-Modi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amit-Modi/subscriptions","organizations_url":"https://api.github.com/users/Amit-Modi/orgs","repos_url":"https://api.github.com/users/Amit-Modi/repos","events_url":"https://api.github.com/users/Amit-Modi/events{/privacy}","received_events_url":"https://api.github.com/users/Amit-Modi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Amit-Modi/sympy","description":"A computer algebra system written in pure Python","fork":true,"url":"https://api.github.com/repos/Amit-Modi/sympy","forks_url":"https://api.github.com/repos/Amit-Modi/sympy/forks","keys_url":"https://api.github.com/repos/Amit-Modi/sympy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Amit-Modi/sympy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Amit-Modi/sympy/teams","hooks_url":"https://api.github.com/repos/Amit-Modi/sympy/hooks","issue_events_url":"https://api.github.com/repos/Amit-Modi/sympy/issues/events{/number}","events_url":"https://api.github.com/repos/Amit-Modi/sympy/events","assignees_url":"https://api.github.com/repos/Amit-Modi/sympy/assignees{/user}","branches_url":"https://api.github.com/repos/Amit-Modi/sympy/branches{/branch}","tags_url":"https://api.github.com/repos/Amit-Modi/sympy/tags","blobs_url":"https://api.github.com/repos/Amit-Modi/sympy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Amit-Modi/sympy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Amit-Modi/sympy/git/refs{/sha}","trees_url":"https://api.github.com/repos/Amit-Modi/sympy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Amit-Modi/sympy/statuses/{sha}","languages_url":"https://api.github.com/repos/Amit-Modi/sympy/languages","stargazers_url":"https://api.github.com/repos/Amit-Modi/sympy/stargazers","contributors_url":"https://api.github.com/repos/Amit-Modi/sympy/contributors","subscribers_url":"https://api.github.com/repos/Amit-Modi/sympy/subscribers","subscription_url":"https://api.github.com/repos/Amit-Modi/sympy/subscription","commits_url":"https://api.github.com/repos/Amit-Modi/sympy/commits{/sha}","git_commits_url":"https://api.github.com/repos/Amit-Modi/sympy/git/commits{/sha}","comments_url":"https://api.github.com/repos/Amit-Modi/sympy/comments{/number}","issue_comment_url":"https://api.github.com/repos/Amit-Modi/sympy/issues/comments{/number}","contents_url":"https://api.github.com/repos/Amit-Modi/sympy/contents/{+path}","compare_url":"https://api.github.com/repos/Amit-Modi/sympy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Amit-Modi/sympy/merges","archive_url":"https://api.github.com/repos/Amit-Modi/sympy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Amit-Modi/sympy/downloads","issues_url":"https://api.github.com/repos/Amit-Modi/sympy/issues{/number}","pulls_url":"https://api.github.com/repos/Amit-Modi/sympy/pulls{/number}","milestones_url":"https://api.github.com/repos/Amit-Modi/sympy/milestones{/number}","notifications_url":"https://api.github.com/repos/Amit-Modi/sympy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Amit-Modi/sympy/labels{/name}","releases_url":"https://api.github.com/repos/Amit-Modi/sympy/releases{/id}","deployments_url":"https://api.github.com/repos/Amit-Modi/sympy/deployments","created_at":"2017-10-20T06:46:03Z","updated_at":"2017-10-20T06:46:11Z","pushed_at":"2017-11-12T13:55:45Z","git_url":"git://github.com/Amit-Modi/sympy.git","ssh_url":"git@github.com:Amit-Modi/sympy.git","clone_url":"https://github.com/Amit-Modi/sympy.git","svn_url":"https://github.com/Amit-Modi/sympy","homepage":"http://sympy.org/","size":86460,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"sympy:master","ref":"master","sha":"f658f9dd2036028e48b4355896e18da9450ab351","user":{"login":"sympy","id":260832,"avatar_url":"https://avatars1.githubusercontent.com/u/260832?v=4","gravatar_id":"","url":"https://api.github.com/users/sympy","html_url":"https://github.com/sympy","followers_url":"https://api.github.com/users/sympy/followers","following_url":"https://api.github.com/users/sympy/following{/other_user}","gists_url":"https://api.github.com/users/sympy/gists{/gist_id}","starred_url":"https://api.github.com/users/sympy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sympy/subscriptions","organizations_url":"https://api.github.com/users/sympy/orgs","repos_url":"https://api.github.com/users/sympy/repos","events_url":"https://api.github.com/users/sympy/events{/privacy}","received_events_url":"https://api.github.com/users/sympy/received_events","type":"Organization","site_admin":false},"repo":{"id":640534,"name":"sympy","full_name":"sympy/sympy","owner":{"login":"sympy","id":260832,"avatar_url":"https://avatars1.githubusercontent.com/u/260832?v=4","gravatar_id":"","url":"https://api.github.com/users/sympy","html_url":"https://github.com/sympy","followers_url":"https://api.github.com/users/sympy/followers","following_url":"https://api.github.com/users/sympy/following{/other_user}","gists_url":"https://api.github.com/users/sympy/gists{/gist_id}","starred_url":"https://api.github.com/users/sympy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sympy/subscriptions","organizations_url":"https://api.github.com/users/sympy/orgs","repos_url":"https://api.github.com/users/sympy/repos","events_url":"https://api.github.com/users/sympy/events{/privacy}","received_events_url":"https://api.github.com/users/sympy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sympy/sympy","description":"A computer algebra system written in pure Python","fork":false,"url":"https://api.github.com/repos/sympy/sympy","forks_url":"https://api.github.com/repos/sympy/sympy/forks","keys_url":"https://api.github.com/repos/sympy/sympy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sympy/sympy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sympy/sympy/teams","hooks_url":"https://api.github.com/repos/sympy/sympy/hooks","issue_events_url":"https://api.github.com/repos/sympy/sympy/issues/events{/number}","events_url":"https://api.github.com/repos/sympy/sympy/events","assignees_url":"https://api.github.com/repos/sympy/sympy/assignees{/user}","branches_url":"https://api.github.com/repos/sympy/sympy/branches{/branch}","tags_url":"https://api.github.com/repos/sympy/sympy/tags","blobs_url":"https://api.github.com/repos/sympy/sympy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sympy/sympy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sympy/sympy/git/refs{/sha}","trees_url":"https://api.github.com/repos/sympy/sympy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sympy/sympy/statuses/{sha}","languages_url":"https://api.github.com/repos/sympy/sympy/languages","stargazers_url":"https://api.github.com/repos/sympy/sympy/stargazers","contributors_url":"https://api.github.com/repos/sympy/sympy/contributors","subscribers_url":"https://api.github.com/repos/sympy/sympy/subscribers","subscription_url":"https://api.github.com/repos/sympy/sympy/subscription","commits_url":"https://api.github.com/repos/sympy/sympy/commits{/sha}","git_commits_url":"https://api.github.com/repos/sympy/sympy/git/commits{/sha}","comments_url":"https://api.github.com/repos/sympy/sympy/comments{/number}","issue_comment_url":"https://api.github.com/repos/sympy/sympy/issues/comments{/number}","contents_url":"https://api.github.com/repos/sympy/sympy/contents/{+path}","compare_url":"https://api.github.com/repos/sympy/sympy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sympy/sympy/merges","archive_url":"https://api.github.com/repos/sympy/sympy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sympy/sympy/downloads","issues_url":"https://api.github.com/repos/sympy/sympy/issues{/number}","pulls_url":"https://api.github.com/repos/sympy/sympy/pulls{/number}","milestones_url":"https://api.github.com/repos/sympy/sympy/milestones{/number}","notifications_url":"https://api.github.com/repos/sympy/sympy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sympy/sympy/labels{/name}","releases_url":"https://api.github.com/repos/sympy/sympy/releases{/id}","deployments_url":"https://api.github.com/repos/sympy/sympy/deployments","created_at":"2010-04-30T20:37:14Z","updated_at":"2017-11-14T06:50:15Z","pushed_at":"2017-11-14T16:52:04Z","git_url":"git://github.com/sympy/sympy.git","ssh_url":"git@github.com:sympy/sympy.git","clone_url":"https://github.com/sympy/sympy.git","svn_url":"https://github.com/sympy/sympy","homepage":"http://sympy.org/","size":86437,"stargazers_count":4336,"watchers_count":4336,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2066,"mirror_url":null,"archived":false,"open_issues_count":3024,"forks":2066,"open_issues":3024,"watchers":4336,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sympy/sympy/pulls/13496"},"html":{"href":"https://github.com/sympy/sympy/pull/13496"},"issue":{"href":"https://api.github.com/repos/sympy/sympy/issues/13496"},"comments":{"href":"https://api.github.com/repos/sympy/sympy/issues/13496/comments"},"review_comments":{"href":"https://api.github.com/repos/sympy/sympy/pulls/13496/comments"},"review_comment":{"href":"https://api.github.com/repos/sympy/sympy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sympy/sympy/pulls/13496/commits"},"statuses":{"href":"https://api.github.com/repos/sympy/sympy/statuses/a65bac71a437e0ed185b7ade60ea0de387795f49"}},"author_association":"NONE"}}
{"actor":{"display_login":"Amit-Modi"}}