3DVeniceWellheads: Difference between revisions

From FDHwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 250: Line 250:
| [[File:slabs-types-02.jpg|none|thumb|500px| Side view]]
| [[File:slabs-types-02.jpg|none|thumb|500px| Side view]]
|}
|}


'''Arcs on slabs '''
'''Arcs on slabs '''
The arcs are obtained through the boolean operation ''difference''. Spheres, cylinders of solids extruded from arc curves are places at the corners and/or sides of a slab in order to remove its volume from the slab. This is an array of shapes repeated along the corners or in the middle of the sides of a polygon that has the same number of sides of the slab to cut.
The arcs are obtained through the boolean operation ''difference''. Spheres, cylinders of solids extruded from arc curves are places at the corners and/or sides of a slab in order to remove its volume from the slab. This is an array of shapes repeated along the corners or in the middle of the sides of a polygon that has the same number of sides of the slab to cut.
The parameters that can be customed in the Grasshopper tool are:  
The parameters that can be customed in the Grasshopper tool are:  
Line 258: Line 260:
* The diameter and height of the rail;
* The diameter and height of the rail;
* The dimension of the array element: the diameter when it is a sphere, the width and the depth of the cut when it is a cylinder or and extruded arc.
* The dimension of the array element: the diameter when it is a sphere, the width and the depth of the cut when it is a cylinder or and extruded arc.


'''Bi-polygonal slabs'''
'''Bi-polygonal slabs'''
We refers to Bi-polygonal slab when the polygonal shape or the radius of a slab basis is different from the top one. In this case the slab profile is approximate by a planar surface that connects the two different shapes. When both are the same instead we have mouldings.
We refers to Bi-polygonal slab when the polygonal shape or the radius of a slab basis is different from the top one. In this case the slab profile is approximate by a planar surface that connects the two different shapes. When both are the same instead we have mouldings.


Line 267: Line 271:
| [[File:slabs-types-04.jpg|none|thumb|600px| Bi-polygonal slabs profiles]]
| [[File:slabs-types-04.jpg|none|thumb|600px| Bi-polygonal slabs profiles]]
|}
|}
'''Mouldings'''
'''Mouldings'''
A moulding is a shaped strip with a defined profile with a decorative function. Mouldings help in highlighting the subdivision in parts of an architectural element but also to avoid harsh transitions. In classical architecture they are well defined and formalized, and we notice common trends also in wells profiles. If we consider wells as a stack of slabs indeed we can associate each slab with a specific moulding.
A moulding is a shaped strip with a defined profile with a decorative function. Mouldings help in highlighting the subdivision in parts of an architectural element but also to avoid harsh transitions. In classical architecture they are well defined and formalized, and we notice common trends also in wells profiles. If we consider wells as a stack of slabs indeed we can associate each slab with a specific moulding.
The basis of moulding modelling is the profile. It can be described as a Bezier curve and in this case in particular as two joint segments of a Bezier curve. In this way we can model the most common types of profiles by defining:
The basis of moulding modelling is the profile. It can be described as a Bezier curve and in this case in particular as two joint segments of a Bezier curve. In this way we can model the most common types of profiles by defining:
** 3 points part of the curve (the starting, middle and ending point)
* 3 points part of the curve (the starting, middle and ending point)
** 3 control points (displayed as vectors in the figure below)
* 3 control points (displayed as vectors in the figure below)
The resulting curve then is extruded along the perimeter of the slab to get a slab with a moulded contour.
The resulting curve then is extruded along the perimeter of the slab to get a slab with a moulded contour.


{| class="wikitable" style="margin: 1em auto 1em auto;"
{| class="wikitable" style="margin: 1em auto 1em auto;"

Revision as of 09:26, 21 December 2021

Motivation

The Well-Heads of Venice – Alberto Rizzi

Venice is one of the cities in Europe with the richest and largest number of well-heads, locally known as Vere da Pozzo. This term refers to the stone structure surrounding the pipe of a well with a protective function. Across history, the role of wells for Venice has always been crucial, in first place to assure drinking water for citizens. Although on water, the city needed wells to store unsalted water. They were placed most of the time in the middle of a square or a private courtyard to collect rainwater and filter it in the ground. In times of drought, they were filled with fresh water from the nearby Brenta river.

Over time, the need and societal use of wells evolve along society. Once more than 6000 across all Venice, it is today estimated that more than 2300 well-heads are spread across the city. To better understand these changes, the goal of this digital humanities project is to digitize well-heads and thus provide additional material to upgrade the Venice 1808 digital Cadastre in development at the EPFL DH lab.

The project uses the book Vere da Pozzo by Alberto Rizzi with circa 250 references of well-heads in the wider Venice islands. It lists photos, description of conservation, periods of construction, material, and overall dimensions. It is complemented with the GPS locations of well-heads in Venice available here.

The material available limits the level of detail one can extract through digitization. Some wells are badly preserved and most of the time, only one photograph is provided. Pictures of well-heads are similar to a profile point of view but vary case by case. However, the material is good enough to give clear indications of the overall shape and the style adopted. The architectural styles of well-heads are thus the key elements to be successfully digitized in this project. It takes the form of 3D models semi-automatically generated out-of-the-book pictures. The reader could expect to recognize arches, geometrical symmetries, overall size, and moulding styles as differentiating elements of Venetian well-heads. Detailed sculptures won't be reproduced.

Outcome and deliverables

The deliverables are available on GitHub. Here are the main elements:

The tools:

  • Rhino Grasshopper script to model well-heads with arches, mouldings, and varying polygonal slabs.
  • Rhino Grasshopper script to extract the dimensions and store them into a JSON file.
  • Localization tool to match all the known GPS location of well heads with the ones of the book.
  • A Jupyter Notebook with python code to create the json catalogue file already filled with the available information (index, IDs and coordinates).

The results:

  • Scanned images of Vere da Pozzo by Alberto Ricci.
  • Digitized well-heads in 3D model as .fbx files.
  • Related rendered images of the 3D models.
  • Associated JSON files with the dimensions of each well-head.
  • A comprehensive catalogue with reference to each well-heads with information like location, district, date, material, dimensions and links to 3D models and pictures.

Project Plan

The project is separated in three main goals: identify the historical document to use, develop the digitization methods and finally perform the digitization. The following table provides the project plan.

Date Task Completion
By Week 3
  • Brainstorm project ideas, come up with at least one feasible innovative idea.
  • Prepare slides for initial project idea presentation.
By Week 4
  • Definition of the content and outcome of the project
By Week 5
  • Definition of the content and outcome of the project
  • Rhino and Grasshopper tutorial
By Week 6
  • Identification of well-heads typologies with the book Vere da Pozzo
  • Use the typologies to define the model structure and parameters
By Week 7
  • Design a grasshopper diagram for slabs and mouldings. Use input points as csv file.
By Week 8
  • Work on the 3D model
  • Improve the Grasshopper model for slabs and mouldings. Eliminate issues and finalize the set of parameters used to describe the typologies of a well-head.
  • Prepare slides for the midterm project presentation.
By Week 9
  • Improve the Grasshopper model. Use of JSON file for the well-heads parameters.
  • Identify how to extract the parameters out of the well-heads picture of the book.
  • Rehearse the midterm presentation
By Week 10
  • Midterm presentation
  • Design a Grasshopper model to extract parameters from pictures and output a JSON file.
  • Scan the book Vere Da Pozzo
By Week 11
  • Definitive 3D model on Grasshopper.
  • Generate semi-automatically the 3D models of well-heads.
By Week 12
  • Create a JSON file with well-head ID, location coordinates, link to the 3D model, the square name, the construction time, the material and the height.
  • Provide either the images of the well-heads through a unique PDF or as a set of individual files.
  • Finish to generate semi-automatically the 3D models of well-heads.
By Week 13
  • Preparation for the final presentation
  • Complete the wiki on motivation, methods, quality assessment, and limitations.
  • Time slot dedicated to diverse problem-solving cases.
By Week 14
  • Final presentation

Methodology

The Venetian wells are magnificent, feature beautiful sculptures and pose a great challenge to digitize in 3D. Some project model buildings with photogrammetric technics. The availability of aerial videos provides multiple viewing angles and offer thus the possibility to use computer intensive algorithms and a mostly automated approach. This is not the case with well-heads, and it, therefore, asks us to adopt a different strategy.

Few documents provide a comprehensive and systematic approach to the reproduction of well-heads. One of them is Raccolta delle vere da pozzo by Ferd. Ongania published in 1889. It is the oldest and first one to reproduce well-heads with photography. It looks like a great photo album: quality photographs with names and places. The photo are adequate for modelling, however, they lack detailed metadata such as height to calibrate the 3d models. That's why the project selected a more recent catalogue, Alberto Rizzi's book. It features a smaller number of well heads but with the metadata required. Below, two images of Ongania and Rizzi's books.

Raccolta delle vere da pozzo, Ferd. Ongania, 1889
Vere Da Pozzo Di Venezia, Alberto Rizzi, La Stamperia Di Venezia Editrice, 1981

Typologies and procedural modelling

To model a well-head, one ideally needs to get a perspective of all viewing angles. In this case, only one picture from the side is given. The modelization then takes into consideration additional information and compensates for this information asymmetry. The well-head is symmetric and features specific architectural styles. The goal is to identify the most basic typologies of wells with basic geometric shapes and use them to model a simple shape of each well with Rhino Grasshopper.

Common typologies of wells in Venice:

  • Base with circular, square, hexagonal, octagonal, decagonal (10), dodecagonal (12) shapes.
  • Top with circular, square, hexagonal, octagonal, decagonal (10), dodecagonal (12) shapes.
  • Edges are either sharp or embedding a sculpture that cut them.
  • Well-heads rest on a slab with one, two or three steps.
  • Top 15-30cm of the well either have flanges with square or circular profiles or arcades

Additionally, one notes that architectural styles and typologies also refer to the historical periods. This approach is thus relevant from a historical point of view, and the later digital historian will be able to use 3D models such as the ones developed in this project. Below is a table with the classification by stylistic appearance and historical period of well-heads:

Type Period Features
Archeological Greek and Roman Rough, made from column shafts, altars, memorial stones, cinerary urns and other pieces.
Carolingian VIII-X centuries Cubic, decorated with symbols of Christian art
Venetian-Byzantine XI-XIII centuries Free-standing cylinder decorated with pillars or columns
Gothic XIV-XV centuries Like capitals of columns or pillars, with square frame
Traditional from 1300 Cylindrical shaft with small arches in the corners
Lombardesque late XV-early XVI centuries Modelled like columns capitals
Renaissance mid XV-mid XVI centuries Polygonal shape with figures in the lateral boxes
Baroques XVI-XVIII centuries Double swelling in the middle
Neoclassical XVIII-XIX centuries Very simple cylindrical structure


The following illustrations come from the book Vere Da Pozzo Di Venezia, Alberto Rizzi, La Stamperia Di Venezia Editrice, 1981. Rizzi already identified typologies and this project focuses on the first three, discarding the one with sculptures. These typologies can now be modelled semi-automatically by using Rhino Grasshopper and implementing a dimension extraction script and a procedural modelling script.

Approach to modelling well-heads

The idea behind a procedural model is to provide some basic geometrical properties and use them to reconstruct a 3D model. In our case, each well-head is split into slabs with different profiles. When stacked together, this looks like a well-head. The challenge is thus to use the photographs to extract the height, radius, and profile of each slab. Then create a script to model the same slabs in 3D and stack them back together. The model includes the possibility to model the three typologies and in this case, it involves modeling three slabs.

Extract well-heads dimensions

The dimension extraction goes as follows. The image below serves as a guiding example.

  1. Input the height of the well-head found in the book
  2. Trace a line along the well-head diameter, this set the centre.
  3. Place points between each slab
  4. Export a JSON file
  5. Fine-tune the JSON file. It is ready to be used as input for the script model.

The JSON file describes the polygonal shape and its dimension for both base and top of each slab, however the same value for both is gathered through the placement of points. This is make on purpose, to fasten the process. Any additional change can be done in the fine-tuning of the JSON file when it has been imported into the modelling script. In the modelling script, the operator compares its model with the photograph and adjusts it for the best matching.

Procedure to extract the dimension and export then as JSON

Procedural modelling of well-heads

The modelling procedure goes as follows. The images below serve as illustrative examples.

  1. Read a JSON file with dimensions for each slab. Each slab contains the moulding type, the base radius, the top radius, the base polygon, the top polygon, the base height, the top height, and an horizontal scaling factor (=1).
  2. Generate each slab according to the JSON file. Stack them together
  3. Fine tune the parameters for the arch slab: the diameter of arches on the sides and in the corners are setup manually by comparison between the photo and the model. This manual approach provide better accuracy.
  4. Optionally adjust the parameters for cutting arcs out of the slabs
  5. Export the 3D model and a rendered picture.

Slabs modelling

The grasshopper script handles three types of slabs: moulding, arch and bi-polygonal, and provides a wide range of tuning parameters. The following images give an overall idea of the possibilities.

JSON file representing the slabs of the imaginary well-head
Imaginary well-head with all slab's typologies
Side view


Arcs on slabs

The arcs are obtained through the boolean operation difference. Spheres, cylinders of solids extruded from arc curves are places at the corners and/or sides of a slab in order to remove its volume from the slab. This is an array of shapes repeated along the corners or in the middle of the sides of a polygon that has the same number of sides of the slab to cut. The parameters that can be customed in the Grasshopper tool are:

  • Whether to cut from the corners, the sides or both;
  • The shape of the polygon rail, usually the same of the slab;
  • The diameter and height of the rail;
  • The dimension of the array element: the diameter when it is a sphere, the width and the depth of the cut when it is a cylinder or and extruded arc.


Bi-polygonal slabs

We refers to Bi-polygonal slab when the polygonal shape or the radius of a slab basis is different from the top one. In this case the slab profile is approximate by a planar surface that connects the two different shapes. When both are the same instead we have mouldings.


Arch slabs profiles
Bi-polygonal slabs profiles


Mouldings

A moulding is a shaped strip with a defined profile with a decorative function. Mouldings help in highlighting the subdivision in parts of an architectural element but also to avoid harsh transitions. In classical architecture they are well defined and formalized, and we notice common trends also in wells profiles. If we consider wells as a stack of slabs indeed we can associate each slab with a specific moulding. The basis of moulding modelling is the profile. It can be described as a Bezier curve and in this case in particular as two joint segments of a Bezier curve. In this way we can model the most common types of profiles by defining:

  • 3 points part of the curve (the starting, middle and ending point)
  • 3 control points (displayed as vectors in the figure below)

The resulting curve then is extruded along the perimeter of the slab to get a slab with a moulded contour.


Examples of mouldings defined by a Bezier curve
Moulding slabs profiles

Localize well-heads

Identified well with IDs

We gathered information about the position of the well-heads both in the book and in this source.

  • In the book there are some sketchy maps with approximative wells location, as well as their sestriere or district, the parrocchia or parish and the specific square or courtyard of belongings.
  • In the other resource instead we can download a GEOjson file with the coordinates of all well-heads recorded in 1857-1858. Most of them are no more there, they don't exist anymore or have been moved somewhere else. We extracted only the ones present in the book thanks to a simple HTML page embedding the Google Maps API and JavaScript code to retrieve the ID of the clicked well in the map.

By comparing these data with the ones from the book we where able to find their actual location.

JSON catalogue

Indexes, IDs and location coordinates have been used to create an already-filled catalogue to reference all the available material in one common place. We took advantage Jupyter Notebook and Python to manage json data. For each well-head we stored its index, ID, coordinates, district, parish, square name, century built, materials, height, diameter and/or side length, 3D model, model rendering, preservation status and pictures page number in the book.

Results

  • 210 scanned images from the Vere da Pozzo book.
  • Digitized well-heads in 3D model as .fbx files.
  • Related rendered images of the 3D models.
  • Associated JSON files with the dimensions of each well-head.
  • A comprehensive catalogue with reference to each well-heads.

Future work

  • scan a sample of representative wells, perspectives : 1h
  • design a grasshopper code to generate json out of the images: 5h
  • scan the book as PDF or as a set of JPG: 5h
  • generate the JSONs: 16h
  • classify the well-heads of the book ?h