IV

09/2020 - 01/2021

COMPUTATIONAL FOREST

The Computational Forest, reforestaion of
a former quarry in Arboç, Spain
Personal Research
09/20 - 01/21

guillemhcamarasa

The quarry, located in Arboç within the Garraf National Park, has gained notoriety for its vast open-air lime extraction quarries. The prospect of reclaiming such a sizable tract of land presents a remarkable yet intricate challenge. To make this endeavour possible, it necessitated an indepth understanding of the intricacies of the natural world.

This undertaking demanded more than a mere reclamation effort; it required a profound comprehension of ecological dynamics and the delicate balance of ecosystems. Only through this comprehensive understanding was the proposal to rehabilitate this extensive landscape made feasible. The restoration of this land holds promise not only for environmental recovery but also as a testament to the symbiotic relationship between nature’s resilience and human stewardship. Fungal network 50 years after reforestation intervention

Introduction
Research
guillemhcamarasa

Existing Fungal Network

200 ha of an abandoned quarry
surronded by forest.

guillemhcamarasa

Fungal network 10 years after
reforestation intervention

guillemhcamarasa

Fungal network 50 years after
reforestation intervention

COMPUTATION OF THE FUNGAL NETWORK

The computational aspect of the project was done via a custom AUTOCAD LISP. This code explores the creation of connections between trees, defining connection ratios based on tree attributes like species, size, and distance. Through iterations, it compares trees, calculating distances and determining probabilities based on similarities in attributes. The code assesses conditions, including distance thresholds and random probabilities, to decide whether to draw connections between trees. Ultimately, it visually represents these connections as lines in the AutoCAD environment, evaluating and establishing relationships based on predefined criteria.
guillemhcamarasa

Mycellium growth lab tests



      

      (defun LM:rand ( / a c m )
        (setq m 4294967296.0
            a 1664525.0
            c 1013904223.0
            $xn (rem (+ c (* a (cond ($xn) ((getvar ‘date))))) m)
        )
        (/ $xn m)
      )
      
      (defun LM:randrange ( a b )
        (+ (min a b) (fix (* (LM:rand) (1+ (abs (- a b))))))
      )
      
      (defun c:arbrez ( / )
        ;; INITIAL VARIABLES
        ;; Out of every 10 possible connections, how many between parents and how many between aliens
        (setq PARENTS 9)
        (setq ALIENS 6)
        ;; Out of every 10 possible connections, how many between the same size and how many between different sizes
        (setq IGUALS 6)
        (setq DIFERENTS 9)
        ;; Ask for the base distance factor, the same for all
        (princ “\nEnter the distance factor: “)
        (setq MAXDIST (getreal))
        ;; Ask for trees to be evaluated against all others
        (princ “\nChoose base trees: “)
        (setq arbresBase (ssget (list (cons 0 “INSERT”) (cons 2 “arbre” ))))
        ;; Select all trees of the 3 types
        (setq totsArbres (ssget “_A” (list (cons 0 “INSERT”) (cons 2 “arbre” ))))
        ;; Main loop, iterates through the user selection
        (repeat (setq N (sslength arbresBase))
            ;; Fetch data of the tree to be evaluated and collect its details
            (setq ArbreQueToca (ssname arbresBase (setq N (- N 1))))
            (setq DadesArbreQueToca (entget ArbreQueToca))
            (setq puntBase (cdr (assoc 10 DadesArbreQueToca)))
            (setq escala (cdr (assoc 41 DadesArbreQueToca)))
            (setq especieQueToca (cdr (assoc 8 DadesArbreQueToca)))
            (setq distMaximAquestArbre (* MAXDIST escala))
            ;; Check the current tree against ALL other trees
            (repeat (setq Z (sslength totsArbres))
                (setq AltreArbre (ssname totsArbres (setq Z (- Z 1))))
                (setq DadesAltreArbre (entget AltreArbre))
                (setq punt (cdr (assoc 10 DadesAltreArbre)))
                (setq escala2 (cdr (assoc 41 DadesAltreArbre)))
                (setq especie2 (cdr (assoc 8 DadesAltreArbre)))
                (setq distanciaEntreArbres (distance punt puntBase))
                ;; Calculate probability
                ;; Check if they have the same scale
                (if (= escala escala2)
                    (setq factorMida IGUALS)
                    (setq factorMida DIFERENTS)
                )
                ;; Check if they are of the same species
                (if (= especieQueToca especie2)
                    (setq factorEspecie PARENTS)
                    (setq factorEspecie ALIENS)
                )
                ;; Calculate probability e.g., 9*9=81, 9*6=54, 6*6=36...
                (setq probabilitat (* factorMida factorEspecie))
                (if (> distanciaEntreArbres 0.1)
                    (if (< distanciaEntreArbres distMaximAquestArbre)
                        (progn
                            ;; Calculate a random number between 1 and 100, used to decide whether to draw the line or not
                            ;; If probability is 81, the line will only be drawn if the random number is <= 81 (81% of the time)
                            (setq aleatori (LM:randrange 1 100))
                            (if (<= aleatori probabilitat)
                                (entmakex (list
                                    (cons 0 “LINE”)
                                    (cons 8 (strcat especieQueToca “_con_” (rtos escala)))
                                    (cons 10 punt)
                                    (cons 11 puntBase)
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
      )  
    

  

AutoLisp code for the network calculation

Research
Result
guillemhcamarasa

This drawing reveals the full recovery of the fungal network after healing from the scar of the quarry. Distinguished by various colors representing different tree species, the visualization vividly illustrates the intricate connections woven among them.