{"id":3011,"date":"2020-05-07T20:52:25","date_gmt":"2020-05-07T18:52:25","guid":{"rendered":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/?post_type=portfolio&#038;p=3011"},"modified":"2020-11-27T20:46:47","modified_gmt":"2020-11-27T18:46:47","slug":"magic-ivy","status":"publish","type":"portfolio","link":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/projects\/magic-ivy\/","title":{"rendered":"Magic Ivy"},"content":{"rendered":"<p>[vc_row][vc_column][vc_video link=&#8221;https:\/\/vimeo.com\/418605884&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h1>Magic Ivy<\/h1>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column width=&#8221;2\/3&#8243;][vc_column_text]<span data-contrast=\"auto\">Magic Ivy is a generative and interactive 3D simulation of a non-existing spherical plant.<\/span><span data-contrast=\"auto\"> This work was created in one week\u2019s time as a final project <\/span><span data-contrast=\"auto\">in Nuno Correia<\/span><span data-contrast=\"auto\">\u2019s <\/span><span data-contrast=\"auto\">Generative Media Coding course.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The plant is fully generated with code (JavaScript, three.<\/span><span data-contrast=\"auto\">js<\/span><span data-contrast=\"auto\">), no pre-built 3D models were used.\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Generative growth is based on Dijkstra&#8217;s shortest path finding algorithm in a graph with <\/span><span data-contrast=\"auto\">rotated <\/span><span data-contrast=\"auto\">spherical connectivity <\/span><span data-contrast=\"auto\">built <\/span><span data-contrast=\"auto\">upon<\/span><span data-contrast=\"auto\"> point clouds generated with simplex <\/span><span data-contrast=\"auto\">noise. Smooth organic look is <\/span><span data-contrast=\"auto\">achieved<\/span><span data-contrast=\"auto\"> by using curves (Bezier and <\/span><span data-contrast=\"auto\">Catmull\u2013Rom).<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This plant simulation has <\/span><span data-contrast=\"auto\">two<\/span><span data-contrast=\"auto\"> possible <\/span><span data-contrast=\"auto\">interactions: 1. camera orbit controls to <\/span><span data-contrast=\"auto\">explore<\/span><span data-contrast=\"auto\"> the plant (pan, zoom, rotate). 2. adding flowers by clicking on the <\/span><span data-contrast=\"auto\">plant (<\/span><span data-contrast=\"auto\">flower<\/span><span data-contrast=\"auto\">s are oriented <\/span><span data-contrast=\"auto\">normal to the surface<\/span><span data-contrast=\"auto\"> using ray<\/span> <span data-contrast=\"auto\">casting technique<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">colors<\/span> <span data-contrast=\"auto\">are <\/span><span data-contrast=\"auto\">randomly generated within a<\/span><span data-contrast=\"auto\">n allowed<\/span> <span data-contrast=\"auto\">range).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3>More Information<\/h3>\n<ul>\n<li><a href=\"https:\/\/github.com\/aalto-mediacode\/MagicIvy\">https:\/\/github.com\/aalto-mediacode\/MagicIvy<\/a><\/li>\n<\/ul>\n<p>[\/vc_column_text][\/vc_column][vc_column width=&#8221;1\/3&#8243;][vc_column_text]<strong>Alexey Nikolaev <\/strong><em>New Media Design and Production<br \/>\n<\/em>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alexey Nikolaev<\/p>\n","protected":false},"author":2,"featured_media":3309,"menu_order":14,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_vp_format_video_url":"","_vp_image_focal_point":[],"_vp_format_audio_url":"","_vp_custom_thumbnail":0,"_vp_hover_thumbnail":0,"_vp_hover_thumbnail_focal_point":[]},"portfolio_category":[27,24],"portfolio_tag":[],"_links":{"self":[{"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/portfolio\/3011"}],"collection":[{"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/types\/portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/comments?post=3011"}],"version-history":[{"count":11,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/portfolio\/3011\/revisions"}],"predecessor-version":[{"id":3310,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/portfolio\/3011\/revisions\/3310"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/media\/3309"}],"wp:attachment":[{"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/media?parent=3011"}],"wp:term":[{"taxonomy":"portfolio_category","embeddable":true,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/portfolio_category?post=3011"},{"taxonomy":"portfolio_tag","embeddable":true,"href":"https:\/\/sites2.org.aalto.fi\/medialabdemodays_old\/wp-json\/wp\/v2\/portfolio_tag?post=3011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}