{"id":4,"date":"2021-01-21T14:13:23","date_gmt":"2021-01-21T14:13:23","guid":{"rendered":"https:\/\/intra.projects.unibz.it\/?page_id=4"},"modified":"2025-02-28T11:35:12","modified_gmt":"2025-02-28T11:35:12","slug":"home","status":"publish","type":"page","link":"https:\/\/intra.projects.unibz.it\/","title":{"rendered":"About"},"content":{"rendered":"<div class=\"wp-block-cgb-block-p5js\"><iframe srcdoc=\"&lt;script src=&quot;https:\/\/intra.projects.unibz.it\/wp-content\/plugins\/wp-p5js-block\/assets\/js\/p5.min.js&quot;&gt;&lt;\/script&gt;&lt;script&gt;let numParticles = 800;\nlet particles = [];\nlet n = 3;\nlet totalLength = 5;\nlet x_variation = 3;\nlet thick = 2;\nlet isPaused = false;\nlet pushDistance = 50; \/\/ Distance threshold for mouse repulsion\nlet pushStrength = 1.5; \/\/ Strength of repulsion\nlet maxSpeed = 1; \/\/ Maximum speed limit for particles\n\nfunction setup() {\n    createCanvas(windowWidth, 300);\n    for (let i = 0; i &lt; numParticles; i++) {\n        particles.push(new Particle(random(width), random(height)));\n    }\n    frameRate(24);\n    noFill();\n}\n\nfunction draw() {\n    if (!isPaused) {\n        background(255);\n        for (let p of particles) {\n            p.applyMouseRepulsion(); \/\/ Apply repulsion from mouse\n            p.limitSpeed(); \/\/ Limit the speed of the particles\n            p.update();\n            p.display();\n        }\n    }\n\n\n\/*\n    textSize(16);\n    text(`Number of vertices (n): ${n}`, 20, 20);\n    text(`Total length (len): ${totalLength}`, 20, 40);\n    text(`\u00b1 x variation: ${x_variation}`, 20, 60);\n    text(`Number of particles: ${numParticles}`, 20, 80);\n    text(`Thickness of particles: ${thick}`, 20, 100);\n    *\/\n}\n\nfunction updateAllVertices(newNumVertices) {\n    n = constrain(newNumVertices, 2, 300);\n    for (let p of particles) {\n        p.updateVertices(n);\n    }\n    updateAllSegmentLengths();\n}\n\nfunction updateAllSegmentLengths() {\n    for (let p of particles) {\n        p.updateSegmentLengths();\n    }\n}\n\nfunction changeNumParticles(newNumParticles) {\n    newNumParticles = constrain(newNumParticles, 1, 100000);\n    if (newNumParticles &gt; numParticles) {\n        for (let i = numParticles; i &lt; newNumParticles; i++) {\n            particles.push(new Particle(random(width), random(height)));\n        }\n    } else {\n        particles.splice(newNumParticles);\n    }\n    numParticles = newNumParticles;\n}\n\nclass Particle {\n    constructor(x, y) {\n        this.position = createVector(x, y);\n        this.velocity = p5.Vector.random2D().mult(0.5);\n        this.particleColor = color(random(255), random(255), random(255));\n        this.randomAngles = Array.from({ length: n }, () =&gt; random(-PI \/ 4, PI \/ 4));\n        this.baseSegmentLengths = Array(n).fill(totalLength \/ n);\n        this.currentSegmentLengths = [...this.baseSegmentLengths];\n        this.rotation = random(TWO_PI);\n        this.rotationSpeed = random(-0.01, 0.01);\n        this.applyXVariation();\n    }\n\n    applyMouseRepulsion() {\n        let mousePos = createVector(mouseX, mouseY);\n        let distance = dist(this.position.x, this.position.y, mouseX, mouseY);\n        if (distance &lt; pushDistance) {\n            let repelForce = p5.Vector.sub(this.position, mousePos);\n            repelForce.setMag(pushStrength * (1 - distance \/ pushDistance));\n            this.velocity.add(repelForce);\n        }\n    }\n\n    limitSpeed() {\n        if (this.velocity.mag() &gt; maxSpeed) {\n            this.velocity.setMag(maxSpeed);\n        }\n    }\n\n    applyXVariation() {\n        let cumulativeLength = 0;\n        for (let i = 0; i &lt; this.baseSegmentLengths.length; i++) {\n            let smoothVariation = random(-x_variation \/ 2, x_variation \/ 2);\n            let newLength = max(this.baseSegmentLengths[i] + smoothVariation, this.baseSegmentLengths[i] * 0.5);\n            this.currentSegmentLengths[i] = newLength;\n            cumulativeLength += newLength;\n            if (cumulativeLength &gt; totalLength) {\n                this.currentSegmentLengths[i] = totalLength - (cumulativeLength - newLength);\n                break;\n            }\n        }\n    }\n\n    update() {\n        this.position.add(this.velocity);\n        this.position.x = (this.position.x + width) % width;\n        this.position.y = (this.position.y + height) % height;\n        this.rotation += this.rotationSpeed;\n    }\n\n    display() {\n        stroke(0);\n        strokeWeight(thick);\n        push();\n        translate(this.position.x, this.position.y);\n        rotate(this.rotation);\n        beginShape();\n        let angle = 0;\n        let currentPosition = createVector(0, 0);\n        for (let i = 0; i &lt; this.randomAngles.length; i++) {\n            angle += this.randomAngles[i];\n            let segmentLength = this.currentSegmentLengths[i];\n            let x = currentPosition.x + cos(angle) * segmentLength;\n            let y = currentPosition.y + sin(angle) * segmentLength;\n            vertex(x, y);\n            currentPosition.set(x, y);\n        }\n        endShape();\n        pop();\n    }\n}\n&lt;\/script&gt;&lt;style&gt;body{margin: 0; padding: 0;}&lt;\/style&gt;\"><\/iframe><\/div>\n\n\n<h2 class=\"wp-block-heading\">INTRA \u2013 Designing Embodied Human-Data&nbsp;<em>Intra<\/em>Actions<\/h2>\n\n\n\n<p><strong>Intra project explores how embodied experience of data can occur on, within and through the body.<\/strong><\/p>\n\n\n\n<p>Intra project aims at going beyond the visual and tangible data representations and explores embodied experience of data which occurs on, within and through the body. Drawing on the latest theories in post-humanist and new materialism, the project uses the term \u201cintra-action\u201d &#8211; coined by Barad (2007)- instead of interaction, representing a dynamic system of things participating in action with each other. Barad\u2019s concept of intra-action moves the agency from being an individual and dependent thing towards being co-created in a relation of interdependent entities. Starting from the intra-action concept, this project investigates new forms of designing relationalities within the world that is continuously altered, enhanced and augmented with digital technologies. The project follows a research-through design methodology becoming a basis to debate, critique and stimulate new visions for human-data intraActions.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Project Leader <\/strong><\/p>\n\n\n\n<p>Secil Ugur Yavuz<br><em>Free University of Bolzano-Bozen, Faculty of Design and Art, Design Friction Lab<\/em><\/p>\n\n\n\n<p><strong>Team Members<\/strong><\/p>\n\n\n\n<p>Maria Menendez-Blanco<em> <\/em><br><em>unibz, Computer Science Faculty, RTDa<\/em><\/p>\n\n\n\n<p>Rocco Lorenzo Modugno<br><em>unibz, Faculty of Design and Art, RA<\/em><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>External Collaborator<\/strong><\/p>\n\n\n\n<p>Alexandra Fruhstorfer<br><em>University of Applied Arts, Wien, Artistic Researcher<\/em><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>INTRA \u2013 Designing Embodied Human-Data&nbsp;IntraActions Intra project explores how embodied experience of data can occur on, within and through the body. Intra project aims at going beyond the visual and tangible data representations and explores embodied experience of data which occurs on, within and through the body. Drawing on the latest theories in post-humanist and new materialism, the project uses the term \u201cintra-action\u201d &#8211; coined by Barad (2007)- instead of interaction, representing a dynamic system of things participating in action with each other. Barad\u2019s concept of intra-action moves the agency from being an individual and dependent thing towards being co-created [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=\/wp\/v2\/pages\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4"}],"version-history":[{"count":21,"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=\/wp\/v2\/pages\/4\/revisions"}],"predecessor-version":[{"id":460,"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=\/wp\/v2\/pages\/4\/revisions\/460"}],"wp:attachment":[{"href":"https:\/\/intra.projects.unibz.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}