{"id":3929,"date":"2016-10-09T23:57:38","date_gmt":"2016-10-09T22:57:38","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=3929"},"modified":"2016-10-10T00:31:59","modified_gmt":"2016-10-09T23:31:59","slug":"p-152-virtual-world-concept-update-172-milestone-2-5","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-172-milestone-2-5\/","title":{"rendered":"P-152: Virtual World Concept Update 172: Milestone 2.5"},"content":{"rendered":"<p>With the aid of the Gamedev forums, I believe I have finally solved this issue.<\/p>\n<p>I knew that I needed to translate the nodes to the planet&#8217;s origin, perform the rotation there, and then translate back, but my vector math to do that was wrong.<\/p>\n<p>Once I got that corrected, I was able to rotate the nodes around the planet&#8217;s radius, as shown by the below graphs.<\/p>\n<p>This seems to solve the problem.<\/p>\n<p>What I now need to do is to find the exact angle to rotate from code, instead of using hardcoded values, and then properly test this solution in the simulation, to make sure it works in all cases.<\/p>\n<p>There is probably quite a bit of work to be done here yet, but hopefully the main problems are all solved. I should have the rest of MS 2.5 done fairly soon, and I can then look at porting it to Unity.<\/p>\n<figure id=\"attachment_3921\" aria-describedby=\"caption-attachment-3921\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_53_43-PM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3921\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_53_43-PM-300x262.jpg\" alt=\"wgnuplot 09\/10\/2016 , 06:53:43 PM Gnuplot (window id : 0)\" width=\"300\" height=\"262\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_53_43-PM-300x262.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_53_43-PM-768x670.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_53_43-PM-1024x894.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_53_43-PM.jpg 1109w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3921\" class=\"wp-caption-text\">wgnuplot<br \/>09\/10\/2016 , 06:53:43 PM<br \/>Gnuplot (window id : 0)<\/figcaption><\/figure>\n<figure id=\"attachment_3920\" aria-describedby=\"caption-attachment-3920\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_24-PM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3920\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_24-PM-300x262.jpg\" alt=\"wgnuplot 09\/10\/2016 , 06:27:24 PM Gnuplot (window id : 0)\" width=\"300\" height=\"262\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_24-PM-300x262.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_24-PM-768x670.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_24-PM-1024x894.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_24-PM.jpg 1109w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3920\" class=\"wp-caption-text\">wgnuplot<br \/>09\/10\/2016 , 06:27:24 PM<br \/>Gnuplot (window id : 0)<\/figcaption><\/figure>\n<figure id=\"attachment_3919\" aria-describedby=\"caption-attachment-3919\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_59-PM.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3919\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_59-PM-300x262.jpg\" alt=\"wgnuplot 09\/10\/2016 , 06:27:59 PM Gnuplot (window id : 0)\" width=\"300\" height=\"262\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_59-PM-300x262.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_59-PM-768x670.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_59-PM-1024x894.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/10\/PhoenixGameDevelopment-09_10_2016-06_27_59-PM.jpg 1109w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-3919\" class=\"wp-caption-text\">wgnuplot<br \/>09\/10\/2016 , 06:27:59 PM<br \/>Gnuplot (window id : 0)<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>With the aid of the Gamedev forums, I believe I have finally solved this issue. I knew that I needed to translate the nodes to the planet&#8217;s origin, perform the rotation there, and then translate back, but my vector math to do that was wrong. Once I got that corrected, I was able to rotate [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,17,10,11],"tags":[],"class_list":["post-3929","post","type-post","status-publish","format-standard","hentry","category-art-and-designs","category-p-0","category-software-and-games","category-spiritus-astrum","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"aioseo_notices":[],"builder_content":"","_links":{"self":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3929"}],"collection":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/comments?post=3929"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3929\/revisions"}],"predecessor-version":[{"id":3937,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3929\/revisions\/3937"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=3929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=3929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=3929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}