{"id":4097,"date":"2025-12-23T09:43:52","date_gmt":"2025-12-23T14:43:52","guid":{"rendered":"https:\/\/blogs.mathworks.com\/matlab\/?p=4097"},"modified":"2025-12-24T13:50:20","modified_gmt":"2025-12-24T18:50:20","slug":"christmas-trees-from-matlab-and-simulink-2025-edition","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/matlab\/2025\/12\/23\/christmas-trees-from-matlab-and-simulink-2025-edition\/","title":{"rendered":"Christmas trees from MATLAB and Simulink: 2025 edition"},"content":{"rendered":"<div class = rtcContent><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Over at the MathWorks discussion forums this month, some of us have been <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/discussions\/ai\/885765-let-s-vibe-code-christmas-trees\"><span>vibe coding MATLAB Christmas trees<\/span><\/a><span> using various AI models. One of my favorites came from <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/profile\/authors\/13754969\"><span>Vasilis Bellos<\/span><\/a><span> who worked with Claude Opus 4.5 to enhance his <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/discussions\/tips\/878025-christmas-tree-for-matlaber-rotating-with-falling-snowflakes\/2617632#reply_2617632\"><span style=' text-decoration: underline;'>code from last year<\/span><\/a><span> which was based on the original Rotating Christmas Tree code from <\/span><a href = \"https:\/\/www.mathworks.com\/matlabcentral\/profile\/authors\/18192500\"><span style=' text-decoration: underline;'>@Zhaoxu Liu \/ slandarer<\/span><\/a><span>). The <\/span><a href = \"https:\/\/www.mathworks.com\/matlabcentral\/discussions\/ai\/885765-let-s-vibe-code-christmas-trees\/2623200#reply_2623200\"><span>code is available on the forum post<\/span><\/a><span> and the result is shown below. A great collaboration between human and AI programmers.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2025\/12\/xmasTree_1-1.gif\" width = \"1016\" height = \"1143\" alt = \"\" style = \"vertical-align: baseline; width: 1016px; height: 1143px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>MathWorks' own Hans Scharler took this in a different direction by vibe coding an entire application that allows you to design a Christmas tree and then generate the MATLAB code to reproduce it! While taking the screenshot for this post, I noticed a little glitch with one of the sliders on my Mac. I am sure that Hans (or his AI agent) will soon update the <\/span><a href=\"https:\/\/github.com\/nothans\/holiday_tree_maker_matlab\" target=\"_blank\" rel=\"noopener\"><span>application's GitHub repo to fix this<\/span><\/a><span>. Download it and have a play or just open it in MATLAB Online by clicking on the badge: <\/span><a href = \"https:\/\/matlab.mathworks.com\/open\/github\/v1?repo=nothans\/holiday_tree_maker_matlab\"><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2025\/12\/xmasTree_2-1.png\" width = \"136\" height = \"20\" alt = \"\" style = \"vertical-align: baseline; width: 136px; height: 20px;\"><\/img><\/a><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><a href = \"https:\/\/matlab.mathworks.com\/open\/github\/v1?repo=nothans\/holiday_tree_maker_matlab\"><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2025\/12\/xmasTree_3-1.png\" width = \"856\" height = \"609\" alt = \"\" style = \"vertical-align: baseline; width: 856px; height: 609px;\"><\/img><\/a><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>There are a bunch of other examples in <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/discussions\/ai\/885765-let-s-vibe-code-christmas-trees\"><span>the forum post <\/span><\/a><span>from various members of the community and I encourage you to go take a look. It will be interesting to see what we can do with AI next year!<\/span><\/div><h2  style = 'margin: 3px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>A MATLAB tree from Christmas past<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>The work shown in the forum post is a continuation of a long tradition where members of the MathWorks community have been using MATLAB and Simulink to produce holiday-related artwork. 20 years ago, Michelle Hirsch highlighted this example on the <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/fileexchange\/9337-xmas-tree?s_tid=srchtitle\"><span>Pick Of The Week<\/span><\/a><span> blog.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2025\/12\/xmasTree_4-1.png\" width = \"790\" height = \"1040\" alt = \"\" style = \"vertical-align: baseline; width: 790px; height: 1040px;\"><\/img><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>Written by community member, <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/profile\/authors\/870316\"><span>Marc L\u00e4tzel<\/span><\/a><span>, the 20 year old <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/fileexchange\/9337-xmas-tree\"><span>code is available on File Exchange<\/span><\/a><span> and still runs flawlessly today<\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span>An unreal Christmas tree in Simulink 3D Animation<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span>One of the more recent Christmas tree related submissions is this <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/fileexchange\/177784-christmas-tree-in-unreal-engine-generated-by-matlab?s_tid=srchtitle\"><span>Christmas tree in unreal engine<\/span><\/a><span> by community member, <\/span><a href = \"https:\/\/uk.mathworks.com\/matlabcentral\/profile\/authors\/3208458\"><span>halleyhit<\/span><\/a><span>. This makes use of <\/span><a href = \"https:\/\/uk.mathworks.com\/products\/3d-animation.html\"><span>Simulink 3D Animation<\/span><\/a><span> to render a Christmas tree in 3D using Unreal Engine from Epic Games.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/matlab\/files\/2025\/12\/xmasTree_5-1.png\" width = \"366\" height = \"612\" alt = \"\" style = \"vertical-align: baseline; width: 366px; height: 612px;\"><\/img><\/div>\r\n<\/div><script type=\"text\/javascript\">var css = ''; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script>","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/matlab\/files\/2025\/12\/xmasTree_1-1.gif\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><p>Over at the MathWorks discussion forums this month, some of us have been vibe coding MATLAB Christmas trees using various AI models. One of my favorites came from Vasilis Bellos who worked with... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/matlab\/2025\/12\/23\/christmas-trees-from-matlab-and-simulink-2025-edition\/\">read more >><\/a><\/p>","protected":false},"author":176,"featured_media":4091,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[78,63,39],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4097"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/users\/176"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/comments?post=4097"}],"version-history":[{"count":2,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4097\/revisions"}],"predecessor-version":[{"id":4101,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/posts\/4097\/revisions\/4101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/media\/4091"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/media?parent=4097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/categories?post=4097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/matlab\/wp-json\/wp\/v2\/tags?post=4097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}