{"id":2617,"date":"2010-11-12T12:59:26","date_gmt":"2010-11-12T12:59:26","guid":{"rendered":"https:\/\/blogs.mathworks.com\/pick\/2010\/11\/12\/moving-3d-objects-interactively\/"},"modified":"2010-11-12T12:59:26","modified_gmt":"2010-11-12T12:59:26","slug":"moving-3d-objects-interactively","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/pick\/2010\/11\/12\/moving-3d-objects-interactively\/","title":{"rendered":"Moving 3D Objects Interactively"},"content":{"rendered":"<div xmlns:mwsh=\"https:\/\/www.mathworks.com\/namespace\/mcode\/v1\/syntaxhighlight.dtd\" class=\"content\">\r\n   <p><a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/15007\">Jiro<\/a>'s pick this week is <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/29140-move-a-3d-object-with-mouse-in-a-traditional-4-view-window\">\"Moving 3D Objects with Mouse\"<\/a> by <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/68608\">Gang Wang<\/a>.\r\n   <\/p>\r\n   <p>I like this demo entry, because it shows you how you can interactively manipulate graphics object in MATLAB. Visualization\r\n      is one of MATLAB's strengths, but not many people know that you can create interactive visualizations as well. The key is\r\n      to make use of some of the <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/techdoc\/creating_plots\/f7-55518.html\">callback<\/a> functionalities, such as <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/techdoc\/ref\/figure_props.html#WindowButtonMotionFcn\">WindowButtonMotionFcn<\/a> for a figure. Take a look at the subfunction \"movit\" in Gang's code. That's where all the magic happens.\r\n   <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/pick\/jiro\/potw_3DManipulation\/potw_3DManipulation.gif\"> <\/p>\r\n   <p>I would also like to give mention to the <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/23304-moveit2-move-a-graphical-object-with-the-mouse\">2D version<\/a> (by <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/31267\">Anders<\/a>) that Gang was inspired by.\r\n   <\/p>\r\n   <p><b>Comments<\/b><\/p>\r\n   <p>Let us know what you think <a href=\"https:\/\/blogs.mathworks.com\/pick\/?p=2617#respond\">here<\/a> or leave a <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/29140-move-a-3d-object-with-mouse-in-a-traditional-4-view-window#comment\">comment<\/a> for Gang.\r\n   <\/p><script language=\"JavaScript\">\r\n<!--\r\n\r\n    function grabCode_72f57cc5bfb3410492b0cca28b3328a2() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='72f57cc5bfb3410492b0cca28b3328a2 ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' 72f57cc5bfb3410492b0cca28b3328a2';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        author = 'Jiro Doke';\r\n        copyright = 'Copyright 2010 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add author and copyright lines at the bottom if specified.\r\n        if ((author.length > 0) || (copyright.length > 0)) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (author.length > 0) {\r\n                d.writeln('% _' + author + '_');\r\n            }\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\\n');\r\n      \r\n      d.title = title + ' (MATLAB code)';\r\n      d.close();\r\n      }   \r\n      \r\n-->\r\n<\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_72f57cc5bfb3410492b0cca28b3328a2()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n            the MATLAB code \r\n            <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; 7.11<br><\/p>\r\n<\/div>\r\n<!--\r\n72f57cc5bfb3410492b0cca28b3328a2 ##### SOURCE BEGIN #####\r\n%%\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/15007\r\n% Jiro>'s pick this week is\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/29140-move-a-3d-object-with-mouse-in-a-traditional-4-view-window\r\n% \"Moving 3D Objects with Mouse\"> by\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/68608 Gang\r\n% Wang>.\r\n%\r\n% I like this demo entry, because it shows you how you can interactively\r\n% manipulate graphics object in MATLAB. Visualization is one of MATLAB's\r\n% strengths, but not many people know that you can create interactive\r\n% visualizations as well. The key is to make use of some of the\r\n% <https:\/\/www.mathworks.com\/help\/releases\/R2010b\/techdoc\/creating_plots\/f7-55518.html\r\n% callback> functionalities, such as\r\n% <https:\/\/www.mathworks.com\/help\/releases\/R2010b\/techdoc\/ref\/figure_props.html#WindowButtonMotionFcn\r\n% WindowButtonMotionFcn> for a figure. Take a look at the subfunction\r\n% \"movit\" in Gang's code. That's where all the magic happens.\r\n%\r\n% <<potw_3DManipulation.gif>>\r\n%\r\n% I would also like to give mention to the\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/23304-moveit2-move-a-graphical-object-with-the-mouse\r\n% 2D version> (by\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/31267\r\n% Anders>) that Gang was inspired by.\r\n%\r\n% *Comments*\r\n%\r\n% Let us know what you think\r\n% <https:\/\/blogs.mathworks.com\/pick\/?p=2617#respond here> or leave a\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/29140-move-a-3d-object-with-mouse-in-a-traditional-4-view-window#comment\r\n% comment> for Gang.\r\n\r\n##### SOURCE END ##### 72f57cc5bfb3410492b0cca28b3328a2\r\n-->","protected":false},"excerpt":{"rendered":"<p>\r\n   Jiro's pick this week is \"Moving 3D Objects with Mouse\" by Gang Wang.\r\n   \r\n   I like this demo entry, because it shows you how you can interactively manipulate graphics object in MATLAB.... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/pick\/2010\/11\/12\/moving-3d-objects-interactively\/\">read more >><\/a><\/p>","protected":false},"author":35,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[12,16],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/2617"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/comments?post=2617"}],"version-history":[{"count":0,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/2617\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/media?parent=2617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/categories?post=2617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/tags?post=2617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}