[{"data":1,"prerenderedAt":804},["ShallowReactive",2],{"blog-post-entangled-body":3,"sibling-dives-entangled-body":802,"learn-track-entangled-body":803},{"id":4,"title":5,"authors":6,"body":8,"breadcrumb":725,"builders":729,"byline":751,"challenge":756,"courseAuthor":756,"courseLead":756,"dek":757,"description":758,"draft":759,"extension":760,"eyebrow":761,"finish":756,"fork":762,"hero":764,"heroAlt":756,"heroCta":756,"heroImage":756,"kind":766,"lessonCount":756,"meta":767,"navigation":138,"newsItems":756,"next":756,"ogImage":756,"order":756,"outcomes":756,"path":768,"publishDate":769,"readingTime":770,"related":771,"relatedProjects":772,"seo":793,"stem":796,"tags":797,"track":756,"trackName":756,"__hash__":801},"blog\u002Fblog\u002Fentangled-body.md","Project Showcase: Entangled Body",[7],"lukeshim",{"type":9,"value":10,"toc":718},"minimark",[11,15,18,21,30,35,38,45,48,52,55,60,69,74,78,81,88,91,664,669,672,676,679,684,692,697,701,704,714],[12,13,14],"p",{},"Entangled Body is a point-cloud human figure whose parts respond to each other across distance. Touch one region and somewhere else reacts; move your viewpoint and the body reveals itself differently.",[12,16,17],{},"It is a quantum-inspired artwork, not a science diagram. Body regions are mapped to qubits, and the outputs of quantum circuits, measured bits, count distributions, correlations, drive how the body activates, how strongly regions connect, and how it resolves from scattered particles into a more stable form.",[12,19,20],{},"It is a project from Qollab's Creative Challenge, built by Chanhyuk Park and Luke Shim, who came to quantum from the art and computer-science sides rather than physics.",[22,23,27],"pull-quote",{"avatar":24,"name":25,"role":26,"username":7},"","Luke Shim","Developer, Entangled Body",[12,28,29],{},"Once I built my own BB84 simulator and could see how measurement, basis choice, and eavesdropping affected outcomes, quantum mechanics stopped feeling like abstract physics and started feeling like a new computational medium.",[31,32,34],"h2",{"id":33},"an-unseen-connection","An unseen connection",[12,36,37],{},"For Chanhyuk, the way in wasn't an equation. It was a memory of a traditional Chinese medicine clinic, and the strange logic of treating one part of the body by touching another.",[22,39,42],{"avatar":24,"name":40,"role":41,"username":24},"Chanhyuk Park","Project lead, Entangled Body",[12,43,44],{},"I went because my wrist hurt, but the practitioner placed an acupuncture needle around my ankle. I am not making a medical claim from that experience, but it stayed with me as a metaphor for unseen connections inside the body.",[12,46,47],{},"Entanglement gave that intuition a name: a way to think about invisible relationships between separate things. The project grew out of that pairing, a felt idea about the body, and a quantum phenomenon that made it concrete.",[31,49,51],{"id":50},"a-body-made-of-relations","A body made of relations",[12,53,54],{},"The figure they chose is a point-cloud astronaut on the moon, rendered as drifting particles rather than a solid form.",[22,56,57],{"avatar":24,"name":40,"role":41,"username":24},[12,58,59],{},"An astronaut cannot exist alone in space; the body depends on the suit, life-support systems, communication signals, and the surrounding environment. Rendered as a point cloud, the astronaut becomes a temporary body made of data and particles, present but constantly dissolving and re-forming.",[12,61,62,63,68],{},"The visual language borrows from the artist ",[64,65,67],"a",{"href":66},"https:\u002F\u002Farchive.bridgesmathart.org\u002F2010\u002Fbridges2010-3.pdf","Julian Voss-Andreae",", whose sculptures appear or disappear depending on where you stand. That idea, that observation changes what becomes visible, is the heart of the piece.",[22,70,71],{"avatar":24,"name":40,"role":41,"username":24},[12,72,73],{},"Entangled Body also explores how observation changes what becomes visible. We did not want it to feel like a science diagram; we wanted it to feel like an artwork first.",[31,75,77],{"id":76},"how-the-quantum-drives-the-body","How the quantum drives the body",[12,79,80],{},"Under the hood, body regions map to qubits, and the circuit's outputs, measured bits, count distributions, and correlations, drive region activation, connection strength, and the way the body resolves from scattered particles into a stabler form. The quantum layer isn't only a theme; it shapes what you see. And they ran it on real hardware rather than a clean simulator.",[82,83],"blog-figure",{"caption":84,"no":85,"poster":86,"video":87},"A touch on the point cloud rippling through the body graph as the circuit re-runs on real hardware. Press play, sound on.","Fig. 1","\u002F_content\u002Fimages\u002Fentangled-body\u002Fhero.webp","https:\u002F\u002Fapi.cms.qollab.xyz\u002Fassets\u002F960a7fe3-a278-4e61-8478-cc142d11f9a9",[12,89,90],{},"The function that turns a touch into a circuit is compact enough to read in one sitting:",[92,93,97],"code-block",{"name":94,"run-href":95,"tag":96},"entangled_body_demo.py","\u002Fu\u002Flukeshim\u002Fentangled-body","Python · excerpt",[98,99,104],"pre",{"className":100,"code":101,"language":102,"meta":103,"style":24},"language-python shiki shiki-themes one-dark-pro","# How a touch becomes a circuit. Excerpt from entangled_body_demo.py.\nfrom qiskit import QuantumCircuit\n\ndef build_ops(region, intensity, interaction):\n    \"\"\"Ops for the graph-collapse circuit anchored on the touched region.\"\"\"\n    observed = region if region in QUBIT_OF else \"torso\"\n    distances = spatial_graph_distances(observed)   # Dijkstra through the body graph\n    max_distance = max(d for d in distances.values() if d != float(\"inf\"))\n    ops = []\n    for rid, qubit, _ in REGIONS:\n        prob = _target_probability(observed, rid, distances[rid], max_distance, intensity, interaction)\n        ops.append((\"ry\", qubit, _prob_to_ry(prob)))\n    for src, tgt, strength in _ranked_links(distances, interaction):\n        s = max(0.05, min(1.0, strength))\n        ops.append((\"rzz\", QUBIT_OF[src], QUBIT_OF[tgt], _edge_angle(s, interaction)))\n    return ops\n\ndef build_circuit(ops, measure=True):\n    qc = QuantumCircuit(QUBIT_COUNT, QUBIT_COUNT)\n    for op in ops:\n        if op[0] == \"ry\":\n            qc.ry(op[2], op[1])\n        elif op[0] == \"rzz\":\n            qc.rzz(op[3], op[1], op[2])\n    if measure:\n        qc.measure(range(QUBIT_COUNT), range(QUBIT_COUNT))\n    return qc\n","python","· excerpt",[105,106,107,116,133,140,171,178,209,226,275,286,303,317,355,371,399,438,447,452,477,508,521,544,568,587,610,619,656],"code",{"__ignoreMap":24},[108,109,112],"span",{"class":110,"line":111},"line",1,[108,113,115],{"class":114},"sV9Aq","# How a touch becomes a circuit. Excerpt from entangled_body_demo.py.\n",[108,117,119,123,127,130],{"class":110,"line":118},2,[108,120,122],{"class":121},"seHd6","from",[108,124,126],{"class":125},"sn6KH"," qiskit ",[108,128,129],{"class":121},"import",[108,131,132],{"class":125}," QuantumCircuit\n",[108,134,136],{"class":110,"line":135},3,[108,137,139],{"emptyLinePlaceholder":138},true,"\n",[108,141,143,146,150,153,157,160,163,165,168],{"class":110,"line":142},4,[108,144,145],{"class":121},"def",[108,147,149],{"class":148},"sVbv2"," build_ops",[108,151,152],{"class":125},"(",[108,154,156],{"class":155},"sb9H8","region",[108,158,159],{"class":125},", ",[108,161,162],{"class":155},"intensity",[108,164,159],{"class":125},[108,166,167],{"class":155},"interaction",[108,169,170],{"class":125},"):\n",[108,172,174],{"class":110,"line":173},5,[108,175,177],{"class":176},"subq3","    \"\"\"Ops for the graph-collapse circuit anchored on the touched region.\"\"\"\n",[108,179,181,184,188,191,194,196,199,203,206],{"class":110,"line":180},6,[108,182,183],{"class":125},"    observed ",[108,185,187],{"class":186},"sjrmR","=",[108,189,190],{"class":125}," region ",[108,192,193],{"class":121},"if",[108,195,190],{"class":125},[108,197,198],{"class":121},"in",[108,200,202],{"class":201},"sVC51"," QUBIT_OF",[108,204,205],{"class":121}," else",[108,207,208],{"class":176}," \"torso\"\n",[108,210,212,215,217,220,223],{"class":110,"line":211},7,[108,213,214],{"class":125},"    distances ",[108,216,187],{"class":186},[108,218,219],{"class":148}," spatial_graph_distances",[108,221,222],{"class":125},"(observed)   ",[108,224,225],{"class":114},"# Dijkstra through the body graph\n",[108,227,229,232,234,237,240,243,246,248,251,254,257,259,261,264,267,269,272],{"class":110,"line":228},8,[108,230,231],{"class":125},"    max_distance ",[108,233,187],{"class":186},[108,235,236],{"class":186}," max",[108,238,239],{"class":125},"(d ",[108,241,242],{"class":121},"for",[108,244,245],{"class":125}," d ",[108,247,198],{"class":121},[108,249,250],{"class":125}," distances.",[108,252,253],{"class":148},"values",[108,255,256],{"class":125},"() ",[108,258,193],{"class":121},[108,260,245],{"class":125},[108,262,263],{"class":186},"!=",[108,265,266],{"class":186}," float",[108,268,152],{"class":125},[108,270,271],{"class":176},"\"inf\"",[108,273,274],{"class":125},"))\n",[108,276,278,281,283],{"class":110,"line":277},9,[108,279,280],{"class":125},"    ops ",[108,282,187],{"class":186},[108,284,285],{"class":125}," []\n",[108,287,289,292,295,297,300],{"class":110,"line":288},10,[108,290,291],{"class":121},"    for",[108,293,294],{"class":125}," rid, qubit, _ ",[108,296,198],{"class":121},[108,298,299],{"class":201}," REGIONS",[108,301,302],{"class":125},":\n",[108,304,306,309,311,314],{"class":110,"line":305},11,[108,307,308],{"class":125},"        prob ",[108,310,187],{"class":186},[108,312,313],{"class":148}," _target_probability",[108,315,316],{"class":125},"(observed, rid, distances[rid], max_distance, intensity, interaction)\n",[108,318,320,323,326,329,332,335,338,341],{"class":110,"line":319},12,[108,321,322],{"class":125},"        ops.",[108,324,325],{"class":148},"append",[108,327,328],{"class":125},"((",[108,330,331],{"class":176},"\"ry\"",[108,333,334],{"class":125},", qubit, ",[108,336,337],{"class":148},"_prob_to_ry",[108,339,340],{"class":125},"(prob)))",[108,342,345,346],{"class":343,"tabindex":344},"qg-help",0,"?",[108,347,350,354],{"class":348,"role":349},"qg-help__tip","tooltip",[351,352,353],"strong",{},"One qubit per region."," The Ry angle sets how \"on\" that region should be: near-certain at the touched point, less certain the further it sits in the anatomical graph.",[108,356,358,360,363,365,368],{"class":110,"line":357},13,[108,359,291],{"class":121},[108,361,362],{"class":125}," src, tgt, strength ",[108,364,198],{"class":121},[108,366,367],{"class":148}," _ranked_links",[108,369,370],{"class":125},"(distances, interaction):\n",[108,372,374,377,379,381,383,386,388,391,393,396],{"class":110,"line":373},14,[108,375,376],{"class":125},"        s ",[108,378,187],{"class":186},[108,380,236],{"class":186},[108,382,152],{"class":125},[108,384,385],{"class":201},"0.05",[108,387,159],{"class":125},[108,389,390],{"class":186},"min",[108,392,152],{"class":125},[108,394,395],{"class":201},"1.0",[108,397,398],{"class":125},", strength))\n",[108,400,402,404,406,408,411,413,416,419,421,424,427,430],{"class":110,"line":401},15,[108,403,322],{"class":125},[108,405,325],{"class":148},[108,407,328],{"class":125},[108,409,410],{"class":176},"\"rzz\"",[108,412,159],{"class":125},[108,414,415],{"class":201},"QUBIT_OF",[108,417,418],{"class":125},"[src], ",[108,420,415],{"class":201},[108,422,423],{"class":125},"[tgt], ",[108,425,426],{"class":148},"_edge_angle",[108,428,429],{"class":125},"(s, interaction)))",[108,431,345,432],{"class":343,"tabindex":344},[108,433,434,437],{"class":348,"role":349},[351,435,436],{},"Anatomical entanglement."," Rzz couples two qubits with a strength taken from the real body graph: head-to-chest is a strong link, torso-to-left-foot has no direct edge at all.",[108,439,441,444],{"class":110,"line":440},16,[108,442,443],{"class":121},"    return",[108,445,446],{"class":125}," ops\n",[108,448,450],{"class":110,"line":449},17,[108,451,139],{"emptyLinePlaceholder":138},[108,453,455,457,460,462,465,467,470,472,475],{"class":110,"line":454},18,[108,456,145],{"class":121},[108,458,459],{"class":148}," build_circuit",[108,461,152],{"class":125},[108,463,464],{"class":155},"ops",[108,466,159],{"class":125},[108,468,469],{"class":155},"measure",[108,471,187],{"class":125},[108,473,474],{"class":201},"True",[108,476,170],{"class":125},[108,478,480,483,485,488,490,493,495,497,500],{"class":110,"line":479},19,[108,481,482],{"class":125},"    qc ",[108,484,187],{"class":186},[108,486,487],{"class":148}," QuantumCircuit",[108,489,152],{"class":125},[108,491,492],{"class":201},"QUBIT_COUNT",[108,494,159],{"class":125},[108,496,492],{"class":201},[108,498,499],{"class":125},")",[108,501,345,502],{"class":343,"tabindex":344},[108,503,504,507],{"class":348,"role":349},[351,505,506],{},"14 qubits, 14 regions."," Head to left foot, every body part the installation tracks lives in one entangled circuit, not 14 separate ones.",[108,509,511,513,516,518],{"class":110,"line":510},20,[108,512,291],{"class":121},[108,514,515],{"class":125}," op ",[108,517,198],{"class":121},[108,519,520],{"class":125}," ops:\n",[108,522,524,527,530,533,536,539,542],{"class":110,"line":523},21,[108,525,526],{"class":121},"        if",[108,528,529],{"class":125}," op[",[108,531,532],{"class":201},"0",[108,534,535],{"class":125},"] ",[108,537,538],{"class":186},"==",[108,540,541],{"class":176}," \"ry\"",[108,543,302],{"class":125},[108,545,547,550,553,556,559,562,565],{"class":110,"line":546},22,[108,548,549],{"class":125},"            qc.",[108,551,552],{"class":148},"ry",[108,554,555],{"class":125},"(op[",[108,557,558],{"class":201},"2",[108,560,561],{"class":125},"], op[",[108,563,564],{"class":201},"1",[108,566,567],{"class":125},"])\n",[108,569,571,574,576,578,580,582,585],{"class":110,"line":570},23,[108,572,573],{"class":121},"        elif",[108,575,529],{"class":125},[108,577,532],{"class":201},[108,579,535],{"class":125},[108,581,538],{"class":186},[108,583,584],{"class":176}," \"rzz\"",[108,586,302],{"class":125},[108,588,590,592,595,597,600,602,604,606,608],{"class":110,"line":589},24,[108,591,549],{"class":125},[108,593,594],{"class":148},"rzz",[108,596,555],{"class":125},[108,598,599],{"class":201},"3",[108,601,561],{"class":125},[108,603,564],{"class":201},[108,605,561],{"class":125},[108,607,558],{"class":201},[108,609,567],{"class":125},[108,611,613,616],{"class":110,"line":612},25,[108,614,615],{"class":121},"    if",[108,617,618],{"class":125}," measure:\n",[108,620,622,625,627,629,632,634,636,639,641,643,645,648],{"class":110,"line":621},26,[108,623,624],{"class":125},"        qc.",[108,626,469],{"class":148},[108,628,152],{"class":125},[108,630,631],{"class":186},"range",[108,633,152],{"class":125},[108,635,492],{"class":201},[108,637,638],{"class":125},"), ",[108,640,631],{"class":186},[108,642,152],{"class":125},[108,644,492],{"class":201},[108,646,647],{"class":125},"))",[108,649,345,650],{"class":343,"tabindex":344},[108,651,652,655],{"class":348,"role":349},[351,653,654],{},"The noise stays in."," Run on real IonQ hardware, this measurement carries genuine hardware noise. Luke and Chanhyuk kept it rather than smoothing it away, since the body is meant to always be becoming, not fixed.",[108,657,659,661],{"class":110,"line":658},27,[108,660,443],{"class":121},[108,662,663],{"class":125}," qc\n",[22,665,666],{"avatar":24,"name":25,"role":26,"username":7},[12,667,668],{},"For Entangled Body, that unpredictability was actually valuable. The project explores the idea that a digital body is constantly becoming rather than remaining fixed. Hardware noise and probabilistic measurement outcomes contributed to that feeling. Instead of treating quantum uncertainty as a problem, we treated it as part of the artistic and interactive experience.",[12,670,671],{},"That is the move that makes the piece more than a fancy random-number generator: the noise isn't hidden or normalized away. The body is always becoming, dissolving and re-forming, precisely because the measurements vary from run to run.",[31,673,675],{"id":674},"where-it-could-go","Where it could go",[12,677,678],{},"Entangled Body is open for forking, and both builders want to push the connection between quantum behavior and the body further. For Luke, the direction is structural.",[22,680,681],{"avatar":24,"name":25,"role":26,"username":7},[12,682,683],{},"The core idea is treating quantum mechanics as part of the engine itself rather than simply a theme. I'd love to see multi-user entangled bodies that influence each other through shared quantum states, or artwork that continuously responds to live quantum measurements.",[12,685,686,687,691],{},"Chanhyuk wants it to leave the screen entirely, with gesture input, motion tracking, or spatial sound, the audience's own body could begin to affect the point-cloud body and become part of the work, turning it into an interactive installation or performance. For developers coming from outside quantum, his advice is to start visual and small: tools like ",[64,688,690],{"href":689},"https:\u002F\u002Fthreejs.org","Three.js",", p5.js, and shaders for intuition about systems and state, paired with IonQ's docs, IBM Quantum Learning, Qiskit, and PennyLane, and to pick one idea, like measurement or entanglement, and build a small visual experiment around it.",[22,693,694],{"avatar":24,"name":40,"role":41,"username":24},[12,695,696],{},"You do not always have to enter a field through its most technical door. Quantum became less intimidating when I stopped thinking of it only as equations and started seeing it as a way to think about invisible relationships, how separate parts of a body, or even separate people, can still affect one another.",[31,698,700],{"id":699},"make-it-yours","Make it yours",[12,702,703],{},"If you want to see entanglement as something a body does rather than something an equation describes, Entangled Body is a good place to start. It is open for forking on Qollab and GitHub, with a live experience you can move through right now.",[699,705,708],{"fork-href":95,"live-href":706,"title":707},"https:\u002F\u002Fentangledbody.com","See the body that only exists in relation.",[12,709,710,711],{},"Fork Entangled Body, map your own regions to qubits, and let real measurements shape the figure. ",[351,712,713],{},"Everything here is open and yours to build on.",[715,716,717],"style",{},"html pre.shiki code .sV9Aq, html code.shiki .sV9Aq{--shiki-default:#7F848E;--shiki-default-font-style:italic}html pre.shiki code .seHd6, html code.shiki .seHd6{--shiki-default:#C678DD}html pre.shiki code .sn6KH, html code.shiki .sn6KH{--shiki-default:#ABB2BF}html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .sb9H8, html code.shiki .sb9H8{--shiki-default:#D19A66;--shiki-default-font-style:italic}html pre.shiki code .subq3, html code.shiki .subq3{--shiki-default:#98C379}html pre.shiki code .sjrmR, html code.shiki .sjrmR{--shiki-default:#56B6C2}html pre.shiki code .sVC51, html code.shiki .sVC51{--shiki-default:#D19A66}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":24,"searchDepth":118,"depth":118,"links":719},[720,721,722,723,724],{"id":33,"depth":118,"text":34},{"id":50,"depth":118,"text":51},{"id":76,"depth":118,"text":77},{"id":674,"depth":118,"text":675},{"id":699,"depth":118,"text":700},[726,727,728],"Qollab","Blog","Entangled Body",[730,740],{"name":40,"role":731,"avatar":24,"bio":732,"links":733},"Project lead · University of Hong Kong","A computer-engineering student at the University of Hong Kong working in frontend systems, real-time rendering, and cloud infrastructure. On Entangled Body he led the interactive layer, the point-cloud visualization, the interaction design, and how the body behaves. He came to quantum through a collaboration and a personal memory, not a physics course.",[734,737],{"label":735,"href":736},"LinkedIn ↗","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fchanhyuk-park77177",{"label":738,"href":739},"GitHub ↗","https:\u002F\u002Fgithub.com\u002FStree0408",{"username":7,"name":25,"role":741,"avatar":24,"bio":742,"links":743},"Developer · National University of Singapore","A computer-science student at the National University of Singapore focused on quantum computing and algorithm design, with QKD prototypes (BB84, E91) on GitHub. On Entangled Body he built the system architecture and the generative logic that shapes the body's structure, relationships, and state transitions. He likes turning abstract physics into interactive systems.",[744,747,749],{"label":745,"href":746},"Qollab ↗","https:\u002F\u002Fqollab.xyz\u002Fu\u002Flukeshim",{"label":735,"href":748},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Flukeshim030408\u002F",{"label":738,"href":750},"https:\u002F\u002Fgithub.com\u002Flukeshim03",{"username":752,"name":753,"role":754,"avatar":755},"nico","Nicolaas Spijker","Community manager, Qollab","\u002F_content\u002Fimages\u002Fbuilders\u002Fnicolaas-spijker.webp",null,"Chanhyuk Park and Luke Shim built a point-cloud body whose parts respond to each other across distance, entanglement you can see.","Chanhyuk Park and Luke Shim built a point-cloud human figure whose parts respond across distance: entanglement you can see. A Qollab Creative Challenge project.",false,"md","Quantum Creative Challenge · Spring 2026",{"href":95,"label":763},"Fork Entangled Body",{"image":86,"alt":765,"liveUrl":706},"Entangled Body: a point-cloud astronaut on the moon, its right arm node mapped to a 14-qubit RY→RZZ→measure circuit running on the IonQ simulator","news",{},"\u002Fblog\u002Fentangled-body","2026-07-05","6 min read",[],[773,780,787],{"username":774,"project":775,"title":776,"category":777,"thumb":778,"to":779},"xinyi","quantum-butterfly-field","Quantum Butterfly Field","Art","\u002F_content\u002Fimages\u002Fquantum-butterfly-field\u002Fthumbnail.webp","\u002Fexplore\u002Fquantum-butterfly-field",{"username":781,"project":782,"title":783,"category":784,"thumb":785,"to":786},"incomputable","francisco","Superposition Sequencer","Music","\u002F_content\u002Fimages\u002Fsuperposition-sequencer\u002Fthumbnail.webp","\u002Fexplore\u002Ffrancisco",{"username":788,"project":789,"title":790,"category":784,"thumb":791,"to":792},"doraking","musiq","Musiq","\u002F_content\u002Fimages\u002Fmusiq\u002Fthumbnail.webp","\u002Fexplore\u002Fmusiq",{"title":794,"description":795},"Quantum Creative Project Showcase: Entangled Body","A point-cloud body whose parts respond to each other across distance. Built by Chanhyuk Park and Luke Shim for Qollab's Creative Challenge.","blog\u002Fentangled-body",[798,799,800],"art","quantum","generative","MpswT--5mqPtg8ztSuX1CBmHixX6LUztiQZCJQKzG2A",[],[],1785631554810]