thomas jefferson university2022-2025
Dmitrii Malykhin is a fourth-year Bachelor of Architecture student at Thomas Jefferson University. His work explores the relationship between proportional systems, contextual response, and computational control. Across scales, his projects investigate how conceptual clarity and technical resolution can operate simultaneously within contemporary architectural practice.contactwww.linkedin.com/in/dmitrii-malykhin+45 43 17 18 69+1 (848) [email protected]
01 02north east C++ applicationphiladelphia médiathèque4th year, 1st semesterthomas jefferson university3rd year, 2nd semesterthomas jefferson university
03 04joey ramone film photographymemorial2023 - 2025Yashica FX-3 Super 20001st year, 1st semesterbrookdale community college
01north east philadelphia médiathèquereplacing the existing branch library, the north east philadelphia médiathèque reconfigures program to foreground collective, technologydriven space within a car-oriented fabric. a parametrically articulated façade, derived from modulor-based proportional systems, reflects shifts in interior public and private zones, translating program hierarchy into calibrated surface variation.0’ 125’ 250’ 500’Cottman aveBustleton aveOakland stHorrocks stHorrocks stEnglewood stEastwood stSaul stsite map
ground floor first floor0’ 10’ 20’ 40’RestroomsGame RoomStaffKitchenMain OfficeWork ShopBook StacksJanitor’s ClosetReading AreaReading AreaElevated CourtyardChildren’sRoomStaff OnlySecurityLobbyCoat RoomBook StacksStorageTrash RoomArchiveInterior CourtyardStorageLoading AreaRestroomsMain Office
west elevationfacade diagram
west section
White Oak PlankMounting BracketMounting RailPlywoodWater BarrierC Chanel FramingInsulationGypsum BoardHeaderFlashingGlassSillConcrete SlabCorrugated SteelWide Flange BeamWeld PlateWood Panelstechnical section
02C++ applicationthis project develops a geometry-driven c++ framework to generate 3d-printable forms from implicit curves. incorporating ai-assisted code generation within the workflow, the system emphasizes realtime parameter control, transforming design into live geometric manipulation and expanding authorship within computational practice.
z-viewer
void keyPress(unsigned char k, int xm, int ym){ switch (k) { // --- Radius control --- case ‘R’: case ‘r’: circle.R2 = std::max(0.1f, circle.R2 + ((k == ‘R’) ? +0.5f : -0.5f)); break; case ‘L’: case ‘l’: circle.R1 = std::max(0.1f, circle.R1 + ((k == ‘L’) ? +0.5f : -0.5f)); break; // --- Movement & Rotation --- case ‘w’: circle.moveAlongDiagonal(+moveStep); computeIsoLineTrail(); break; case ‘s’: circle.moveAlongDiagonal(-moveStep); computeIsoLineTrail(); break; case ‘d’: circle.rotate(-2.0f); computeIsoLineTrail(); break; case ‘a’: circle.rotate(+2.0f); computeIsoLineTrail(); break; // --- Baked Layer Handling --- case ‘W’: bakedTrails.push_back({ liveTrail, circle.C1, circle.C2, circle.R1, circle.R2, circle.offset }); std::cout << “Added layer. Total layers: “ << bakedTrails.size() << std::endl; break; case ‘S’: if (!bakedTrails.empty()) bakedTrails.pop_back(); if (!bakedTrails.empty()) circle.applyLayer(bakedTrails.back()); else liveTrail.clear(); std::cout << “Removed top layer. Remaining: “ << bakedTrails.size() << std::endl; break; case ‘m’: liveTrail = mirrorTrailX(liveTrail); std::cout << “Mirrored liveTrail across X (one-time).” << std::endl; break; case ‘M’: enableMirror = !enableMirror; std::cout << “Permanent mirror mode: “ << (enableMirror ? “ON” : “OFF”) << std::endl; computeIsoLineTrail(); break; case ‘x’: exportParcelsToRhino3dm(); break; case ‘c’: bakedTrails.clear(); std::cout << “Cleared all layers.” << std::endl; break; // --- DEFAULT: catch preset keys like ‘1’–’9’ and ‘!’–’)’ default: if (k >= ‘1’ && k <= ‘9’) { savedPresets[k] = { liveTrail, circle.C1, circle.C2, circle.R1, circle.R2, circle.offset }; std::cout << “Saved preset to key “ << k << std::endl; } else if (k >= ‘!’ && k <= ‘)’) { char originalKey = k - ‘!’ + ‘1’; // maps ‘!’ to ‘1’, ‘@’ to ‘2’, etc. if (savedPresets.count(originalKey)) { circle.applyLayer(savedPresets[originalKey]); std::cout << “Recalled preset “ << originalKey << std::endl; } else { std::cout << “No preset saved for key “ << originalKey << std::endl; } } break; }}these lines of the code directly assign different key presses to “commands“ such as rotate, resize and mirror.
objects made with 1-2 transformations
using C++, ChatGPT and zSpace’s API’s/geometry libraries to create 3D printable objects. my code revolved around hypermodifiability, meaning writing the code in a way that lets me manipulate the parametrics of the object in real time, rather than through predetermined parameters within the code.implicit curves that form both objects
final objects
03joey ramone memorialthis memorial to joey ramone inserts a stair connection between street level and central park within manhattan’s upper east side. circulation ascends and descends across an eightfoot grade change, layering figure and movement. the compressed vertical stacking abstracts the musician as form, staging visibility and estrangement within an unfamiliar context.concept sketches
0’ 125’ 250’ 500’neighborhood plan
0’ 125’ 250’ 500’site plan
north section
south elevation
north elevation
04film photographyJune 2023Boston, MAAugust 2023BiosphereMontreal, CanadaAugust 2023Love ParkToronto, CanadaJanuary 2024Sagrada de FamiliaBarcelona, Spain
August 2024Falling WaterMill Run, PA, USAMay 2025Senso-Ji TempleTokyo, JapanMay 2025Kyoto, JapanMay 2025Kyoto, Japan
June 2023Boston, MA, USAJanuary 2024AlhambraGranada, SpainJanuary 2024Madrid, SpainJanuary 2024Madrid, Spain
May 2025Imperial PalaceTokyo, JapanMay 2025Sumida Hokusai MuseumTokyo, JapanJune 2025Yasaka ShrineKyoto, JapanJune 2025Kyoto, Japan
© 2026 by Dmitrii Ilich Malykhin.