{"id":175,"date":"2022-07-07T14:53:37","date_gmt":"2022-07-07T18:53:37","guid":{"rendered":"http:\/\/jialiangxiang.com\/wordpress\/?page_id=175"},"modified":"2024-01-12T00:26:32","modified_gmt":"2024-01-12T05:26:32","slug":"work","status":"publish","type":"page","link":"https:\/\/jialiangxiang.com\/wordpress\/","title":{"rendered":"Work"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Reinforcement Learning HVAC Control Testbed for EnergyPlus (Spring 2023) <\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/converging.png\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"347\" data-id=\"472\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/converging.png\" alt=\"\" class=\"wp-image-472\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/converging.png 973w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/converging-300x107.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/converging-768x274.png 768w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/a><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Loss function converging for a simple agent showing the testbed functioning as expected (training done by me and Trent Tepool) <\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide21.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"543\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide21-1024x576.jpg\" alt=\"\" class=\"wp-image-543\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide21-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide21-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide21-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide21.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide22.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"544\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide22-1024x576.jpg\" alt=\"\" class=\"wp-image-544\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide22-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide22-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide22-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2024\/01\/Slide22.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">My teammate, Trent Tepool, processed grid emission data and we trained an agent to minimize operational carbon with my testbed<\/figcaption><\/figure>\n\n\n\n<p>I developed a simple reinforcement learning testbed to both support the development of HVAC control agents and potentially allow such agents to be part of architectural design workflow. The test bed builds upon EnergyPlus\u2019s official Python API 2.0 to perform simulations for lightly-modified IDF files exported from Design Builder. Upon that, the Gymnasium API is created to support many popular reinforcement learning libraries. Finally, it utilizes StableBaseline3  library on top of the API to initialize and train the agents. <\/p>\n\n\n\n<p>A few testbeds have been developed for EnergyPlus, such as IBM\u2019s Reinforcement Learning Testbed for Power Consumption Optimization and SinerGym, but they tend to be structured around specific aspects of performance such as power consumption and agent effectiveness instead of being general-purposed. They also lack support for user-provided IDF files. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"674\" height=\"583\" data-id=\"477\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/Thread-Relationships-edited.png\" alt=\"\" class=\"wp-image-477\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/Thread-Relationships-edited.png 674w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/Thread-Relationships-edited-300x259.png 300w\" sizes=\"auto, (max-width: 674px) 100vw, 674px\" \/><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Coordination between the agent thread and EnergyPlus simulation thread<\/figcaption><\/figure>\n\n\n\n<p>This project, albeit much smaller in scale, is more light-weight and flexible: it\u2019s directly based on EnergyPlus\u2019 API so all actuators and sensors supported can be used; it simulates the IDF file directly with EnergyPlus without modifying it, instead relying on deep calling points within the simulation loops to overwrite actuator settings, so any valid IDF file (from DesignBuilder for example) should be compatible, making our testbed a potentially attractive option for design projects where the trained control agents become part of the energy simulation and thereby integral part of the design workflow.&nbsp;<\/p>\n\n\n\n<p>Source Code: <a href=\"https:\/\/github.com\/Jia053123\/CarbonControlRL\">https:\/\/github.com\/Jia053123\/CarbonControlRL<\/a> <\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Shape Grammar Diagram Designer (2021-2023) <\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Workflow Demo (optimizer not implemented yet)\" src=\"https:\/\/player.vimeo.com\/video\/743829074?dnt=1&amp;app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Grammar Technical Demo\" src=\"https:\/\/player.vimeo.com\/video\/743731849?dnt=1&amp;app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>This is an ambitious project that aims to run layout optimization algorithms on shape grammars to produce emergent architecture program diagrams that both follow the aesthetic rules and satisfy the program requirements. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"304\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_14.png\" alt=\"\" class=\"wp-image-304\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_14.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_14-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_14-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_15.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"305\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_15.png\" alt=\"\" class=\"wp-image-305\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_15.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_15-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_15-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_16.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"303\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_16.png\" alt=\"\" class=\"wp-image-303\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_16.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_16-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/08\/Portfolio1024_16-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>In spring 2023, a computer vision system is built to improve the generation of the right hand shape. A deep convolutional neural network is built from scratch and trained as the designer repeatedly sketches out his\/her idea, generating training samples along the way. Compared to symbolic methods, this enables rule applications on imprecise hand drawings and thereby enabling the integration of defining and sketching.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"318\" height=\"502\" data-id=\"459\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/LeadyRelu-1.png\" alt=\"\" class=\"wp-image-459\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/LeadyRelu-1.png 318w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/LeadyRelu-1-190x300.png 190w\" sizes=\"auto, (max-width: 318px) 100vw, 318px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"319\" height=\"507\" data-id=\"460\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/star1-1.png\" alt=\"\" class=\"wp-image-460\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/star1-1.png 319w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/09\/star1-1-189x300.png 189w\" sizes=\"auto, (max-width: 319px) 100vw, 319px\" \/><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">For each of the two grammars, the three columns show: <br>left hand shape, human-generated right hand shape, AI-generated right hand shape <\/figcaption><\/figure>\n\n\n\n<p>As a key inspiration for my future endeavors, this project aspires to make computational design more like sketching than math. By hinging the formal system on the looks of the drawing rather than the numerical values that encode the drawing through coordinate systems, this project illustrates a new paradigm of computational design where the structure of a drawing is embedded in the drawing process without explicit parameterization on the designer\u2019s part.<\/p>\n\n\n\n<p>Source Code: <a href=\"https:\/\/github.com\/Jia053123\/DiagramDesigner  \">https:\/\/github.com\/Jia053123\/DiagramDesigner<\/a><\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Foliage Shading (Fall 2022) <\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Foliage Shading\" src=\"https:\/\/player.vimeo.com\/video\/786823292?dnt=1&amp;app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>While most architecture shadings consist of large pieces of vertical or horizontal fins, I yearn for a shading system akin to wavering summer leaves. <\/p>\n\n\n\n<p>The algorithm is stochastic and agent based. For each iteration, each leaf turns, grows and survives to find the best configuration for itself. <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide6.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"429\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide6-1024x576.jpg\" alt=\"\" class=\"wp-image-429\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide6-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide6-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide6-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide6.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide7.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"430\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide7-1024x576.jpg\" alt=\"\" class=\"wp-image-430\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide7-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide7-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide7-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide7.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide11.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"434\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide11-1024x576.jpg\" alt=\"\" class=\"wp-image-434\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide11-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide11-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide11-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide11.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide8.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"432\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide8-1024x576.jpg\" alt=\"\" class=\"wp-image-432\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide8-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide8-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide8-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide8.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide9.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"431\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide9-1024x576.jpg\" alt=\"\" class=\"wp-image-431\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide9-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide9-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide9-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide9.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide10.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-id=\"433\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide10-1024x576.jpg\" alt=\"\" class=\"wp-image-433\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide10-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide10-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide10-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide10.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>The irregularity in the arrangement is caused by randomization in initialization and simultaneous adjustment of direction and size for each leaf. While better performance can be achieved by removing the noise in initialization and updating the directions for all leaves in specific order before updating their sizes, the result is visually bland for simple site conditions.<\/p>\n\n\n\n<p>In evaluation, the optimized result is compared with a baseline case where all parameters are chosen randomly given the identical total shading area. Simulations show the optimized case consistently outperforming the baseline case in glare reduction. <\/p>\n\n\n\n<p>Source Code for the Grasshopper plugin: <a href=\"https:\/\/github.com\/Jia053123\/FoliageShading\">https:\/\/github.com\/Jia053123\/FoliageShading<\/a> <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide20.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide20-1024x576.jpg\" alt=\"\" class=\"wp-image-437\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide20-1024x576.jpg 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide20-300x169.jpg 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide20-768x432.jpg 768w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2023\/01\/Slide20.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Moir\u00e9 Editor (2020-2021) <\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Editing Moire 2.0\" src=\"https:\/\/player.vimeo.com\/video\/637568586?dnt=1&amp;app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>This is an iPad and MacOS application for creating line moir\u00e9 art, designed and developed by myself. It aspires to efficiently explore emergent properties arising from simple orders through computational means as a model for a new generation of computational design tools. <\/p>\n\n\n\n<p>A moir\u00e9 pattern consists of overlapping layers of alternating black and white strips that move against each other. This application has two rows of panels: the upper row contains panels of sliders that specify and control each layer of strips, whereas the lower row specify and control global properties of the moir\u00e9 pattern that emerge from the layers chosen by the user.<\/p>\n\n\n\n<p>Source Code: <a href=\"https:\/\/github.com\/Jia053123\/MoireStudies-iOS-\">https:\/\/github.com\/Jia053123\/MoireStudies-iOS-<\/a> <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"222\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_3.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_3.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_3-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_3-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"223\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_4.png\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_4.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_4-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_4-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_5.png\" alt=\"\" class=\"wp-image-224\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_5.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_5-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_5-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Arch Studio Projects (pre-2020) <\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"218\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_10.png\" alt=\"\" class=\"wp-image-218\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_10.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_10-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_10-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-9 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_11.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"219\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_11.png\" alt=\"\" class=\"wp-image-219\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_11.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_11-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_11-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"220\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_12.png\" alt=\"\" class=\"wp-image-220\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_12.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_12-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_12-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_6.png\" alt=\"\" class=\"wp-image-214\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_6.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_6-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_6-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-10 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"215\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_7.png\" alt=\"\" class=\"wp-image-215\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_7.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_7-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_7-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"791\" data-id=\"216\" src=\"http:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_8.png\" alt=\"\" class=\"wp-image-216\" srcset=\"https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_8.png 1024w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_8-300x232.png 300w, https:\/\/jialiangxiang.com\/wordpress\/wp-content\/uploads\/2022\/07\/Portfolio1024_8-768x593.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Reinforcement Learning HVAC Control Testbed for EnergyPlus (Spring 2023) I developed a simple reinforcement learning testbed to both support the development of HVAC control agents and potentially allow such agents to be part of architectural design workflow. The test bed builds upon EnergyPlus\u2019s official Python API 2.0 to perform simulations for lightly-modified IDF files exported&hellip; <a class=\"more-link\" href=\"https:\/\/jialiangxiang.com\/wordpress\/\">Continue reading <span class=\"screen-reader-text\">Work<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-175","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/pages\/175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/comments?post=175"}],"version-history":[{"count":100,"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/pages\/175\/revisions"}],"predecessor-version":[{"id":546,"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/pages\/175\/revisions\/546"}],"wp:attachment":[{"href":"https:\/\/jialiangxiang.com\/wordpress\/wp-json\/wp\/v2\/media?parent=175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}