{"action":"opened","number":364,"pull_request":{"url":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/364","id":229239671,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI5MjM5Njcx","html_url":"https://github.com/recastnavigation/recastnavigation/pull/364","diff_url":"https://github.com/recastnavigation/recastnavigation/pull/364.diff","patch_url":"https://github.com/recastnavigation/recastnavigation/pull/364.patch","issue_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/364","number":364,"state":"open","locked":false,"title":"optimize dtClosestHeightPointTriangle","user":{"login":"cloudwu","id":729648,"node_id":"MDQ6VXNlcjcyOTY0OA==","avatar_url":"https://avatars2.githubusercontent.com/u/729648?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudwu","html_url":"https://github.com/cloudwu","followers_url":"https://api.github.com/users/cloudwu/followers","following_url":"https://api.github.com/users/cloudwu/following{/other_user}","gists_url":"https://api.github.com/users/cloudwu/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudwu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudwu/subscriptions","organizations_url":"https://api.github.com/users/cloudwu/orgs","repos_url":"https://api.github.com/users/cloudwu/repos","events_url":"https://api.github.com/users/cloudwu/events{/privacy}","received_events_url":"https://api.github.com/users/cloudwu/received_events","type":"User","site_admin":false},"body":"dot00 == v0[0] * v0[0] + v0[2] * v0[2]\r\n...\r\nDenom  = dot00 * dot11 - dot01 * dot01\r\n= (v0[0] * v0[0] + v0[2] * v0[2]) * (v1[0] * v1[0] + v1[2] * v1[2]) - (v0[0] * v1[0] + v0[2] * v1[2]) * (v0[0] * v1[0] + v0[2] * v1[2])\r\n= (v0[0] * v1[2] - v0[2] * v1[0]) * (v0[0] * v1[2] - v1[0] * v0[2])\r\n...\r\n\r\nBoth u and v have (v0[0] * v1[2] - v1[0] * v0[2]), so we can simplify them.\r\n\r\nThis optimization can also keep more precision by reduce multiplication.","created_at":"2018-11-08T03:30:53Z","updated_at":"2018-11-08T03:30:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/364/commits","review_comments_url":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/364/comments","review_comment_url":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/364/comments","statuses_url":"https://api.github.com/repos/recastnavigation/recastnavigation/statuses/6b0daaef53f9526b391c997199656a84533b4a66","head":{"label":"cloudwu:optimize","ref":"optimize","sha":"6b0daaef53f9526b391c997199656a84533b4a66","user":{"login":"cloudwu","id":729648,"node_id":"MDQ6VXNlcjcyOTY0OA==","avatar_url":"https://avatars2.githubusercontent.com/u/729648?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudwu","html_url":"https://github.com/cloudwu","followers_url":"https://api.github.com/users/cloudwu/followers","following_url":"https://api.github.com/users/cloudwu/following{/other_user}","gists_url":"https://api.github.com/users/cloudwu/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudwu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudwu/subscriptions","organizations_url":"https://api.github.com/users/cloudwu/orgs","repos_url":"https://api.github.com/users/cloudwu/repos","events_url":"https://api.github.com/users/cloudwu/events{/privacy}","received_events_url":"https://api.github.com/users/cloudwu/received_events","type":"User","site_admin":false},"repo":{"id":156643055,"node_id":"MDEwOlJlcG9zaXRvcnkxNTY2NDMwNTU=","name":"recastnavigation","full_name":"cloudwu/recastnavigation","private":false,"owner":{"login":"cloudwu","id":729648,"node_id":"MDQ6VXNlcjcyOTY0OA==","avatar_url":"https://avatars2.githubusercontent.com/u/729648?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudwu","html_url":"https://github.com/cloudwu","followers_url":"https://api.github.com/users/cloudwu/followers","following_url":"https://api.github.com/users/cloudwu/following{/other_user}","gists_url":"https://api.github.com/users/cloudwu/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudwu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudwu/subscriptions","organizations_url":"https://api.github.com/users/cloudwu/orgs","repos_url":"https://api.github.com/users/cloudwu/repos","events_url":"https://api.github.com/users/cloudwu/events{/privacy}","received_events_url":"https://api.github.com/users/cloudwu/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cloudwu/recastnavigation","description":"Navigation-mesh Toolset for Games","fork":true,"url":"https://api.github.com/repos/cloudwu/recastnavigation","forks_url":"https://api.github.com/repos/cloudwu/recastnavigation/forks","keys_url":"https://api.github.com/repos/cloudwu/recastnavigation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cloudwu/recastnavigation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cloudwu/recastnavigation/teams","hooks_url":"https://api.github.com/repos/cloudwu/recastnavigation/hooks","issue_events_url":"https://api.github.com/repos/cloudwu/recastnavigation/issues/events{/number}","events_url":"https://api.github.com/repos/cloudwu/recastnavigation/events","assignees_url":"https://api.github.com/repos/cloudwu/recastnavigation/assignees{/user}","branches_url":"https://api.github.com/repos/cloudwu/recastnavigation/branches{/branch}","tags_url":"https://api.github.com/repos/cloudwu/recastnavigation/tags","blobs_url":"https://api.github.com/repos/cloudwu/recastnavigation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cloudwu/recastnavigation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cloudwu/recastnavigation/git/refs{/sha}","trees_url":"https://api.github.com/repos/cloudwu/recastnavigation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cloudwu/recastnavigation/statuses/{sha}","languages_url":"https://api.github.com/repos/cloudwu/recastnavigation/languages","stargazers_url":"https://api.github.com/repos/cloudwu/recastnavigation/stargazers","contributors_url":"https://api.github.com/repos/cloudwu/recastnavigation/contributors","subscribers_url":"https://api.github.com/repos/cloudwu/recastnavigation/subscribers","subscription_url":"https://api.github.com/repos/cloudwu/recastnavigation/subscription","commits_url":"https://api.github.com/repos/cloudwu/recastnavigation/commits{/sha}","git_commits_url":"https://api.github.com/repos/cloudwu/recastnavigation/git/commits{/sha}","comments_url":"https://api.github.com/repos/cloudwu/recastnavigation/comments{/number}","issue_comment_url":"https://api.github.com/repos/cloudwu/recastnavigation/issues/comments{/number}","contents_url":"https://api.github.com/repos/cloudwu/recastnavigation/contents/{+path}","compare_url":"https://api.github.com/repos/cloudwu/recastnavigation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cloudwu/recastnavigation/merges","archive_url":"https://api.github.com/repos/cloudwu/recastnavigation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cloudwu/recastnavigation/downloads","issues_url":"https://api.github.com/repos/cloudwu/recastnavigation/issues{/number}","pulls_url":"https://api.github.com/repos/cloudwu/recastnavigation/pulls{/number}","milestones_url":"https://api.github.com/repos/cloudwu/recastnavigation/milestones{/number}","notifications_url":"https://api.github.com/repos/cloudwu/recastnavigation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cloudwu/recastnavigation/labels{/name}","releases_url":"https://api.github.com/repos/cloudwu/recastnavigation/releases{/id}","deployments_url":"https://api.github.com/repos/cloudwu/recastnavigation/deployments","created_at":"2018-11-08T03:09:51Z","updated_at":"2018-11-08T03:09:54Z","pushed_at":"2018-11-08T03:22:45Z","git_url":"git://github.com/cloudwu/recastnavigation.git","ssh_url":"git@github.com:cloudwu/recastnavigation.git","clone_url":"https://github.com/cloudwu/recastnavigation.git","svn_url":"https://github.com/cloudwu/recastnavigation","homepage":null,"size":20300,"stargazers_count":0,"watchers_count":0,"language":"C++","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,"license":{"key":"zlib","name":"zlib License","spdx_id":"Zlib","url":"https://api.github.com/licenses/zlib","node_id":"MDc6TGljZW5zZTI3"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"recastnavigation:master","ref":"master","sha":"3087e805b02d5eb8fff7851234fa2b3f71290eba","user":{"login":"recastnavigation","id":16167685,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE2MTY3Njg1","avatar_url":"https://avatars2.githubusercontent.com/u/16167685?v=4","gravatar_id":"","url":"https://api.github.com/users/recastnavigation","html_url":"https://github.com/recastnavigation","followers_url":"https://api.github.com/users/recastnavigation/followers","following_url":"https://api.github.com/users/recastnavigation/following{/other_user}","gists_url":"https://api.github.com/users/recastnavigation/gists{/gist_id}","starred_url":"https://api.github.com/users/recastnavigation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/recastnavigation/subscriptions","organizations_url":"https://api.github.com/users/recastnavigation/orgs","repos_url":"https://api.github.com/users/recastnavigation/repos","events_url":"https://api.github.com/users/recastnavigation/events{/privacy}","received_events_url":"https://api.github.com/users/recastnavigation/received_events","type":"Organization","site_admin":false},"repo":{"id":12849977,"node_id":"MDEwOlJlcG9zaXRvcnkxMjg0OTk3Nw==","name":"recastnavigation","full_name":"recastnavigation/recastnavigation","private":false,"owner":{"login":"recastnavigation","id":16167685,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE2MTY3Njg1","avatar_url":"https://avatars2.githubusercontent.com/u/16167685?v=4","gravatar_id":"","url":"https://api.github.com/users/recastnavigation","html_url":"https://github.com/recastnavigation","followers_url":"https://api.github.com/users/recastnavigation/followers","following_url":"https://api.github.com/users/recastnavigation/following{/other_user}","gists_url":"https://api.github.com/users/recastnavigation/gists{/gist_id}","starred_url":"https://api.github.com/users/recastnavigation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/recastnavigation/subscriptions","organizations_url":"https://api.github.com/users/recastnavigation/orgs","repos_url":"https://api.github.com/users/recastnavigation/repos","events_url":"https://api.github.com/users/recastnavigation/events{/privacy}","received_events_url":"https://api.github.com/users/recastnavigation/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/recastnavigation/recastnavigation","description":"Navigation-mesh Toolset for Games","fork":false,"url":"https://api.github.com/repos/recastnavigation/recastnavigation","forks_url":"https://api.github.com/repos/recastnavigation/recastnavigation/forks","keys_url":"https://api.github.com/repos/recastnavigation/recastnavigation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/recastnavigation/recastnavigation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/recastnavigation/recastnavigation/teams","hooks_url":"https://api.github.com/repos/recastnavigation/recastnavigation/hooks","issue_events_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/events{/number}","events_url":"https://api.github.com/repos/recastnavigation/recastnavigation/events","assignees_url":"https://api.github.com/repos/recastnavigation/recastnavigation/assignees{/user}","branches_url":"https://api.github.com/repos/recastnavigation/recastnavigation/branches{/branch}","tags_url":"https://api.github.com/repos/recastnavigation/recastnavigation/tags","blobs_url":"https://api.github.com/repos/recastnavigation/recastnavigation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/recastnavigation/recastnavigation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/recastnavigation/recastnavigation/git/refs{/sha}","trees_url":"https://api.github.com/repos/recastnavigation/recastnavigation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/recastnavigation/recastnavigation/statuses/{sha}","languages_url":"https://api.github.com/repos/recastnavigation/recastnavigation/languages","stargazers_url":"https://api.github.com/repos/recastnavigation/recastnavigation/stargazers","contributors_url":"https://api.github.com/repos/recastnavigation/recastnavigation/contributors","subscribers_url":"https://api.github.com/repos/recastnavigation/recastnavigation/subscribers","subscription_url":"https://api.github.com/repos/recastnavigation/recastnavigation/subscription","commits_url":"https://api.github.com/repos/recastnavigation/recastnavigation/commits{/sha}","git_commits_url":"https://api.github.com/repos/recastnavigation/recastnavigation/git/commits{/sha}","comments_url":"https://api.github.com/repos/recastnavigation/recastnavigation/comments{/number}","issue_comment_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/comments{/number}","contents_url":"https://api.github.com/repos/recastnavigation/recastnavigation/contents/{+path}","compare_url":"https://api.github.com/repos/recastnavigation/recastnavigation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/recastnavigation/recastnavigation/merges","archive_url":"https://api.github.com/repos/recastnavigation/recastnavigation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/recastnavigation/recastnavigation/downloads","issues_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues{/number}","pulls_url":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls{/number}","milestones_url":"https://api.github.com/repos/recastnavigation/recastnavigation/milestones{/number}","notifications_url":"https://api.github.com/repos/recastnavigation/recastnavigation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/recastnavigation/recastnavigation/labels{/name}","releases_url":"https://api.github.com/repos/recastnavigation/recastnavigation/releases{/id}","deployments_url":"https://api.github.com/repos/recastnavigation/recastnavigation/deployments","created_at":"2013-09-15T18:12:45Z","updated_at":"2018-11-08T03:22:03Z","pushed_at":"2018-11-05T13:26:10Z","git_url":"git://github.com/recastnavigation/recastnavigation.git","ssh_url":"git@github.com:recastnavigation/recastnavigation.git","clone_url":"https://github.com/recastnavigation/recastnavigation.git","svn_url":"https://github.com/recastnavigation/recastnavigation","homepage":null,"size":20300,"stargazers_count":2253,"watchers_count":2253,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":682,"mirror_url":null,"archived":false,"open_issues_count":55,"license":{"key":"zlib","name":"zlib License","spdx_id":"Zlib","url":"https://api.github.com/licenses/zlib","node_id":"MDc6TGljZW5zZTI3"},"forks":682,"open_issues":55,"watchers":2253,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/364"},"html":{"href":"https://github.com/recastnavigation/recastnavigation/pull/364"},"issue":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/364"},"comments":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/364/comments"},"review_comments":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/364/comments"},"review_comment":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/364/commits"},"statuses":{"href":"https://api.github.com/repos/recastnavigation/recastnavigation/statuses/6b0daaef53f9526b391c997199656a84533b4a66"}},"author_association":"NONE","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":13,"deletions":17,"changed_files":1}}
{"actor":{"display_login":"cloudwu"}}