3DVeniceBridges: Difference between revisions

From FDHwiki
Jump to navigation Jump to search
m (Paul.guhennec moved page 3DVeniceBirdges to 3DVeniceBridges)
 
(51 intermediate revisions by 2 users not shown)
Line 31: Line 31:
{| class="wikitable" style="margin: 1em auto 1em auto;"
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Types of arc.png|none|thumb|350px| Different types of arcs]]
| [[File:Types of arc.png|none|thumb|350px| Different types of arcs]]
| [[File:3_pionts_circle.png|none|thumb|450px| 3_pionts_circle]]
| [[File:3_pionts_circle.png|none|thumb|450px|policentrico ]]
|}
|}
We found that most of the bridges from the materials are type c and type d, and very few bridges of type e and f. Thus, we can draw the arc using “3 points” ways to build the 3D model for most bridges.
We found that most of the bridges from the materials are type c and type d, and very few bridges of type e and f. Thus, we can draw the arc using “3 points” ways to build the 3D model for most bridges.
Line 180: Line 180:
|}
|}


Using the data above, we can calculate other data like the width of stairs (bridge width - 2 * railing width).




Line 205: Line 204:


=== 2. Build 3D Model ===
=== 2. Build 3D Model ===
==== 2.1 Build A General Bridge Model ====
==== 2.1 Analyze the structure of bridges ====
We first build a simple and general bridge model to better understand the whole structure of the bridge and the relationship between the components.
We first build a simple and general bridge model to better understand the whole structure of the bridge and the relationship between the components. We found that the bridge model can be built in three main parts, which are "Bridge Body", "Railing" and "stair".


==== 2.2 Build general models ====
We create 3D models of the three components separately according to the previous classification.


==== 2.2 Build Models of Different Components ====
We create 3D models of the four components separately according to the previous classification.


'''2.2.1 Bridge Body Model'''


'''2.2.1 Arc Model'''
By counting the types of bridges that appear in the material, we found that most of the bridges are “type c” and “type d”, and we can build one model which is applicable for these two types of arches. We use the "3 point Arc" provided in Grasshopprt to generate "type c" and "type d", and we implemented "type f"("polycentric") according to the drawing method introduced in the “classification" part.
Based on the arc we build the bridge body. The difference between different types of bridge body is the material, and there is no difference in their shape. We use different colors to distinguish the type of material during the preview.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:3 point arc.jpg|none|thumb|300px| 3_point_arc model]]
| [[File:3 point arc gh.jpg|none|thumb|500px| 3_point_arc grasshopper]]
|}


Since most of the bridges are type c and type d, we use the way that creates a circle depending on 3 points to build the arc model. We have one arc model and one flat model.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Polycentric.jpg|none|thumb|300px| polycentric model]]
| [[File:Polycentric gh.jpg|none|thumb|500px| policentric grasshopper]]
|}
 
'''2.2.2 Stairs Model'''
 
Staircases are generally the straight flight of stairs, and the shape of the step is mainly a normal rectangle. We construct the outline of one step, and then use "series" to generate multiple successive steps. By adjusting the number of steps, height, and depth of the input steps we can generate different stairs. We control the position of the stair by passing in the coordinates of the starting point at the bottom of the stair.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Simple stair model.jpg|none|thumb|300px| general stair model]]
| [[File:Simple stair gh.jpg|none|thumb|500px| general stair grasshopper]]
|}


'''2.2.2 Bridge Body Model'''


The difference between different types of bridge body is the material. So we make three types of texture mapping on the bridge body according to the bridge’s material.
'''2.2.3 Railing Model'''


'''2.2.3 Stairs Model'''
We build two types of railing models, one is the solid railing and the other is the railing with balustrades. And then we make texture mapping according to their railing materials. We control the position of the railing by passing in the coordinates of the starting point at the bottom of the railing.


Staircases are generally the straight flight of stairs, and the shape of the step is mainly a normal rectangle. So we create one type of stair and modify it according to the parameters. There could be multiple staircases on the bridge, and we can adjust the parameters and create multiple staircases according to the specific bridge.
{| class="wikitable" style="margin: 1em auto 1em auto;"
[[File:Multiple stairs.jpg|none|thumb|350px| Multiple stairs]]
| [[File:Wall railing.jpg|none|thumb|300px| wall railing model]]
As for the special shape of the step which is a rectangle with an arc in the corner, since there are not many of them, we will treat them as special cases to be improved at a later stage.
| [[File:Wall railing gh.jpg|none|thumb|500px| wall railng grasshopper]]
|}


'''2.2.4 Railing Model'''
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Railing with balustrades.jpg|none|thumb|300px| Railing with balustrades model]]
| [[File:Railing with balustrades gh.jpg|none|thumb|500px| Railing with balustrades grasshopper]]
|}


We build two types of railing models, one is solid railing and the other is railing with balustrade. And then we make texture mapping according to their railing materials.
==== 2.3 Build models for complicate components ====
Many regular bridges can be generated using the general model components, but to build more complex bridges, we need to add some more complex components.


'''2.3.1 Round Stair Model'''


==== 2.3 Input Parameters into  3D Model====
Unlike the normal linear steps, some steps have a quarter circle in the corner. We first create the top step curve and the bottom step curve, use the "Tween Curve" to generate the middle curve according to the number of steps, and then connect them together to create the whole round stair.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Round stair.jpg|none|thumb|300px| round stair model]]
| [[File:Round stair gh.jpg|none|thumb|500px| round stair grasshopper]]
|}
 
'''2.3.2 Stair in different directions'''
 
Most of the bridges have stairs in only one direction, i.e. perpendicular to the direction of the river. However, due to the complex topography of Venice, some houses have doors that face the river, so a staircase parallel to the river is built to connect to the bridge. When we build a normal staircase, it goes in the direction of the x-axis. Now to build a staircase parallel to the lake we need to modify the previous drawing logic to extend in the y-axis direction.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Stair different angle.jpg|none|thumb|300px| stair different angle model]]
| [[File:Stair different angle dh.jpg|none|thumb|500px| stair different angle grasshopper]]
|}
 
'''2.3.3 Railings in different directions'''
 
The same as the steps, the handrail also has the direction parallel to the river. These railings are mostly found in places where there are round steps. We take the boundary of the round steps and build railings along the boundary of the round steps.
 
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Round wall railing.jpg|none|thumb|300px| wall railings in different angles model]]
| [[File:Round stair wall railings.jpg|none|thumb|500px| wall railings in different angles grasshopper]]
|}
 
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Round railing.jpg|none|thumb|300px| railings with balustrades in different angles model]]
| [[File:Round railing in different angle gh.jpg|none|thumb|500px| railings with balustrades in different angles grasshopper]]
|}
 
'''2.3.4 Stairs with platforms in between '''
 
The overall lengths of some bridges are very long, and the climbing height is too high if they are all stairs. So some bridges will insert the platform between the stairs.
To build this type of bridge, we first build a stair and then splice a block that has the same length as the platform to move the whole of the stairs outward a platform distance. Build multiple sections of the platform with stairs in this manner and finally fit them to the bridge body.We divide the bridge into a stair section and a platform section, each section with a separate railing.
 
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Muti stairs.png|none|thumb|300px| Stairs with platforms in between model]]
| [[File:Muti stair gh.png|none|thumb|500px| wall railings in different angles grasshopper]]
|}
 
==== 2.4 Input Parameters into  3D Model====
We import the plane into Rhino, measure the length of the bridge, and store the data in the component in the grasshopper. Then we connect these components with the model, i.e. the parameters are passed into the model. So we can generate the 3D model of bridges semi-automatically.
We import the plane into Rhino, measure the length of the bridge, and store the data in the component in the grasshopper. Then we connect these components with the model, i.e. the parameters are passed into the model. So we can generate the 3D model of bridges semi-automatically.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:Measure rhino.jpg|none|thumb|500px| Measure in rhino]]
| [[File:Measurement.jpg|none|thumb|300px| measure length grasshopper]]
|}
==== 2.5 Fine Tuning ====
'''2.5.1 Start position of the railings '''
The starting position of the railing is not necessarily the same as the starting position of the stair. By passing in different starting and ending positions of the handrail we can control the position of the railings.
'''2.5.2 Missing part of the bridge '''
Some bridges are not always complete because they are close to the wall, and they miss a part due to the wall embedding. We need to use "difference" in Rhino to delete these parts.
'''2.5.3 Pulling the bridge diagonally '''
The bridge body is not always perpendicular to the river surface, we need to use "shear" to make some diagonal adjustments to the bridge so that its shape is more closely matched to its original shape.


== Project Plan and Milestones==
== Project Plan and Milestones==
Line 248: Line 326:
5. Preliminary model: simple bridge structure. ✓
5. Preliminary model: simple bridge structure. ✓


6. Modular design: implementation of different components of the bridges
6. Modular design: implementation of different components of the bridges
 
7. Modular for special complicate components ✓
 
8. Parameters input: create models for bridges ✓


7. Parameters input: create models for common bridges


8. Adjustment on special bridges


=== Project Plan ===
=== Project Plan ===
Line 314: Line 394:
* Prepare slides for midterm presentation.
* Prepare slides for midterm presentation.


| align="center" |
| align="center" |
|-
|-


Line 320: Line 400:
|
|
* Complete different railing model
* Complete different railing model
* Add texture mapping to the bridge according to its material
* Finish the 3D bridge model


| align="center" |
* Add texture representation
 
* model for complicated components
 
| align="center" |
|-
|-


Line 329: Line 411:
|
|
* Input the data and types of bridges to the 3D bridge model, and generate the 3D models of bridges.
* Input the data and types of bridges to the 3D bridge model, and generate the 3D models of bridges.
| align="center" |
| align="center" |
|-
|-


Line 337: Line 419:
* Build and refine some special bridge models
* Build and refine some special bridge models


| align="center" |
| align="center" |
|-
|-


Line 343: Line 425:
|
|
* Final presentation
* Final presentation
| align="center" |
| align="center" |
|-
|-
|}
|}


== Results and Assessment==
== Results and Assessment==
1. scripts展示
All result can be seen in our [https://github.com/RuiaRui/Venetian-Bridges/ GitHub Repository]
2. model展示 basic/advanced
=== 5.1 OCR Result and Texture Description Data ===
3. 解释没建的几个
By scanning the pdf file and OCR to get the text content of the book [https://studiosaor.com/product/catalogo-veneziano-ponti-santa-croce/ Catalogo Veneziano – Ponti Santa Croce] and [https://studiosaor.com/product/catalogo-veneziano-ponti-san-polo/ Catalogo Veneziano – Ponti San Polo], we got a total of 73 bridges (84 in total, 11 duplicates) of 2 books with the plan represents and related location information. At the same time, by manually querying the book  ''I Ponti di Venezia'', we also got the arch structure, bridge body and handrail material about these bridges. We stored this information in a JSON file, the format of which is given below.
 
{|class="wikitable"
!scope="col" width="150"|column
!|description
|-
|id
|The unique id of each bridge
|-
|id_book
|The id used in the book ''Catalogo Veneziano''
|-
|name
|The name of the bridge
|-
|river
|The river which the bridge crosses
|-
|street
|The street connected by this bridge
|-
|district
|The community where the bridge is located
|-
|structure
|The type of the arc.
‘0’ is the flat bridge, ‘1’ to ‘6’ are six types of arch bridges, and these six tags correspond to the categories in section 1.1.1
|-
|material
|The material of the bridge body
‘1’ is the wooden  bridge, ‘2’ is the stone bridge, ‘3’ is the iron bridge,
|-
|railing
|The type of the bridge railings
‘2’ is the stone railing, ‘3’ is the metal railing
|-
|Comment
|--
|}
 
=== 5.2 Model Result And Assessment ===
When building the model, we found that if we just measured the data on the plan, we would not be able to get many important parameters, such as the height of the bridge, the draft depth and the real length of the landing. In order to make our modelling results more accurate, we tried many ways to study how to get this part of data, but never got a good way to determine these data. The approach we finally took was to simplify or speculate for this part of the parameters, and then compare them with our model by referring to photos of real bridges if we can find one fine photo so that the general shape of the model matches the real bridge.
Therefore, when evaluating the results of the model, we will assess how well the model matches the plan, and if possible, how well the model matches the real bridge.
 
 
==== 5.2.1 Simple Bridge Model ====
There are 16 bridges in our dataset that can be called simple. We use one general script to generate all these bridges, and then manually adjust the details.  
 
PONTE DEI TOLENTINI:
 
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:SC004M.jpg|none|thumb| model]]
| [[File:SC004-com.jpg |none|thumb| model compared with plan represent]]
| [[File:SC004R.jpeg  |none|thumb| bridge images]]
|}
 
PONTE DEL TENTOR:
 
For this bridge, we use the script to build the bridge and then manually do the ``difference`` operation in Rhino to adjust the shape.
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:SC037.jpg|none|thumb| model]]
| [[File:SC037M.png|none|thumb| model compared with plan represent]]
|}
 
 
==== 5.2.2 Bridge Model for Round Stairs  ====
PONTE DE LE BURCHIELE O DEI TABACCHI:
 
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:SC007.png|none|thumb| model]]
| [[File:SC007C.jpg |none|thumb| model compared with plan represent]]
| [[File:SC007R.jpg|none|thumb| bridge images]]
|}
 
==== 5.2.3 Bridge Model for Muti Stairs  ====
PONTE RUGA VECHIA:
 
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:SC028.png|none|thumb| model]]
| [[File:Multiple stairs.jpg|none|thumb|building plan represent]]
|}
 
==== 5.2.4 Bridge Model for Railing with different directions  ====
 
PONTE CANAL:
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:SC020.png|none|thumb| model]]
| [[File:SC020C.jpg|none|thumb|model compared with plan represent]]
|}
 
==== 5.2.5 Bridge Model for Stairs with different directions  ====
 
PONTE DE CA' GIOVANELLI:
{| class="wikitable" style="margin: 1em auto 1em auto;"
| [[File:SC038.png|none|thumb| model]]
| [[File:SC038C.jpg|none|thumb|model compared with plan represent]]
|}


== Limitation ==
== Limitation ==
Line 379: Line 557:
==== Optimization of Modeling Methods ====
==== Optimization of Modeling Methods ====
The 3d modeling method we are using now is Rhino software and grasshopper script. Although we have an overall generator for different bridges, we still need manual work to get input parameters, adjust details and generate models among different bridge models. If possible, we think we can try some neural network algorithms to automatically generate 3d models from different angles of photos and design drawings, and then combine them with specific parameters to optimize the models, which can make the whole modeling process more automatic.
The 3d modeling method we are using now is Rhino software and grasshopper script. Although we have an overall generator for different bridges, we still need manual work to get input parameters, adjust details and generate models among different bridge models. If possible, we think we can try some neural network algorithms to automatically generate 3d models from different angles of photos and design drawings, and then combine them with specific parameters to optimize the models, which can make the whole modeling process more automatic.
== Github Repository ==
[https://github.com/RuiaRui/Venetian-Bridges Venetian Bridges]


== References ==
== References ==
Line 387: Line 568:


=== Tutorials ===
=== Tutorials ===
* [https://www.rhino3d.com/6/new/grasshopper/ Rhino and Grasshopper Tutorials]
* [https://www.youtube.com/watch?v=kVA7RgisomQ&t=736s&ab_channel=DCOgraphicstudio/ Rhino 6 and Grasshopper Linear Stairs Fully Parametric Lesson]
* [https://www.youtube.com/watch?v=kVA7RgisomQ&t=736s&ab_channel=DCOgraphicstudio/ Parametric Bridge with Circle Pattern Structure Rhino and Grasshopper]

Latest revision as of 16:37, 10 January 2022

Introduction

Venice is built on a group of 118 small islands that are separated by canals and linked by over 400 bridges. Venice is built on a group of 118 small islands that are separated by canals and linked by over 400 bridges. The Bridge plays such an important part in Venice that studying the bridge can help us understand better the history and structure of Venice. Our project is mainly based on the book Catalogo Veneziano – Ponti Santa Croce and Catalogo Veneziano – Ponti San Polo, to build specific 3D models for these bridges and to create specific additional layers on the geographical information system.

The bridges of Venice

Motivation

With more than 400 bridges, Venice is known as the “city of bridges”. In fact, the evidence of the first stone bridges dates back to 1170, and before that time people only used boats to go from one of the 121 islands to another island. Because of technological progress, population growth, and the city’s increase in trade it became necessary to build routes that would connect the various areas. That is how the bridges of Venice were born.

Bridges are an integral part of Venice. The bridge connected Venice from a number of scattered islands into a whole, facilitating economic and cultural exchanges and development within the city, while the economic and cultural development also contributed to the construction of the bridges. The construction of bridges’ 3D models allows us to understand more about the structure and history of the city. What’s more, digitalizing this information allows the researchers to carry out further analyses.

Our project is based on the materials (Catalog Venezia), combined with today's bridge photo, to upgrade the Napoleonic cadaster with bridge information. Given the huge number of bridges in Venice, it would take a long time to build each bridge manually. We have found that the majority of the bridges mentioned in the materials are composed of 4 parts: arc, plane, stairs, and railings. And different parts have different types. So we want to create a bridge generator in which we can specify the type and data of each component based on the materials to build the 3D model for bridges of Venice.

Methodology

1. Build Database

1.1 Classify the Bridge

Before building the 3D model, we need to figure out the typologies of bridges. To facilitate 3D modeling, we treat the bridge as four parts: arc, bridge body, stairs, and railings. Different parts have different types, which form a wide variety of bridges.

1.1.1 Arc

There are two main types of bridges in Venice, arch bridges and girder bridges:

  1. Non-arched bridges are referred to as girder bridges, also called truss bridges. Truss bridges generally have a horizontal deck between two imposts and therefore require longer access ramps than arch bridges, whose ramps are inclined from the keystone to the abutments; in addition, generally speaking, girder bridges need to have higher structural depth than arch bridges. Against these disadvantages, truss bridges have the undoubted advantage of generating mainly vertical reactions on the foundations, making them highly suitable for the city’s soil characteristics.
  2. Arch bridges are much more prevalent, as they successfully integrate the need for a continuous pedestrian walkway with the need to leave sufficient space underneath for boats to pass. Arches are designed according to various formal types: semi-circular, horseshoe, segmental, equilateral pointed, elliptical.
    • (a) Round, when the curve of the arch is equal to a semi-circumference (fig. 1): tutto sesto.
    • (b) Curved, when the curve of the arch is greater than a semi-circumference (fig. 2):sesto rialato.
    • (c) Normal, when it is a low-slung arch, cod with the curve smaller than a semi-circumference (fig. 3): normale.
    • (d) Only if the curve is smaller than a semi-circumference is the arch called a low arch (fig. 4)sesto ribassato.
    • (e) Equilateral pointed(fig 5):acuto o gotico.
    • (f) Polycentric, when the curve results from the union of several (3 or 5) arcs of circles of different radii (fig. 6): policentrico.
Different types of arcs
policentrico

We found that most of the bridges from the materials are type c and type d, and very few bridges of type e and f. Thus, we can draw the arc using “3 points” ways to build the 3D model for most bridges.


1.1.2 Bridge Body

According to the books “I ponti di Venezia” there are three types of bridges material:

  1. Wooden bridges (Struttura in legno ).
  2. Stone bridges (struttura in pietra d'Istria / struttura in pietra).
  3. Iron bridges (struttura in ferro).
Wooden bridge
Stone bridge
Iron bridge


1.1.3 Stairs

Staircases are generally the straight flight of stairs, with some differences in shape the shape of the step. There are two different types of step’s shape:

  1. Normal Rectangle.
  2. Normal Rectangle with an arc in the corner.
normal stair
circle stair

Also, there are three different types of stair‘s structures:

  1. Simple stairs
  2. Stairs with platforms in between
  3. Stairs in different angles

There are also some bridges have mixed types.

Simple steps
Steps with platforms
Stairs in different angles

1.1.4 Railing

According to the book “I Ponti di Venezia” there are two types of railing material:

  1. Iron railings (spallette in ferro).
    All metal handrails are composed of balusters, which differ in their shape.
  2. Stone railings (spallette in pietra).
    There are two types of railings made of stone; one is composed of balustrade, the other is solid railings.
Iron railing
Stone railing with balustrade
Stone railing with solid railing

1.2 Digitalize and OCR the Materials

First, we digitalize the materials (Catalog Venezia) with printers to get the ‘.pdf’ file. Then, we use OCR to recognize the descriptive text information from the scanned pdf file. As for recognizing results, we first delete the messy code and then manually check and correct the results to get our final information.


1.3 Organize the Collected Data and Build Database

1.3.1 Description Data

The information that we got from OCR pdf file is descriptive text information, which tells us the information of name, location, and types of bridges.

Parameter Description Notes
id The unique id of each bridge --
name The name of the bridge --
river The river which the bridge crosses Update GIS information
street The street connected by this bridge Update GIS information
district The community where the bridge is located Update GIS information
structure The type of the arc.

‘0’ is the flat bridge, ‘1’ to ‘6’ are six types of arch bridges, and these six tags correspond to the categories in section 1.1.1

Build the arc model
material The material of the bridge body

‘1’ is the wooden bridge, ‘2’ is the stone bridge, ‘3’ is the iron bridge,

Do the texture mapping
railing The type of the bridge railings

‘2’ is the stone railing, ‘3’ is the metal railing

Build the railing model


1.3.2 Measurement Data

In order to build the 3D model based on the plan of the bridge provided in the material, we need to get some length parameters of the bridges in the plan. We import the plan into Rhino to take measurements and get the following data:

Parameter Description Notes
river width -- The width of the arc
bridge length -- Build the bridge body model
bridge width -- Build the bridge body model
stair number The number of steps (left and right) Build the stair model
stair tread The tread (length) of each step Build the stair model
left landing -- Distance from the left boundary of the bridge to the river
right landing -- Distance from the right boundary of the bridge to the river
railing width -- Build the railing model
elevation difference The height difference between left landing and right landing Build arc and bridge body model


1.3.3 Data to Be Speculated

There are still some data we cannot get from the materials, and we need to speculate these data with our common knowledge and the photographs of these bridges.

Parameter How to speculate
step riser According to the relation between riser and tread we can get an approximate value of the riser.
bridge height Calculate the height of the bridge based on the height and number of the step.
arc height The approximate range of the arc height can be obtained from the type of arc, while the height of the arc is less than the height of the bridge. Based on these 2 conditions, we can estimate a suitable value.
railing height Estimate height of railing based on real pictures

2. Build 3D Model

2.1 Analyze the structure of bridges

We first build a simple and general bridge model to better understand the whole structure of the bridge and the relationship between the components. We found that the bridge model can be built in three main parts, which are "Bridge Body", "Railing" and "stair".

2.2 Build general models

We create 3D models of the three components separately according to the previous classification.


2.2.1 Bridge Body Model

By counting the types of bridges that appear in the material, we found that most of the bridges are “type c” and “type d”, and we can build one model which is applicable for these two types of arches. We use the "3 point Arc" provided in Grasshopprt to generate "type c" and "type d", and we implemented "type f"("polycentric") according to the drawing method introduced in the “classification" part. Based on the arc we build the bridge body. The difference between different types of bridge body is the material, and there is no difference in their shape. We use different colors to distinguish the type of material during the preview.

3_point_arc model
3_point_arc grasshopper
polycentric model
policentric grasshopper

2.2.2 Stairs Model

Staircases are generally the straight flight of stairs, and the shape of the step is mainly a normal rectangle. We construct the outline of one step, and then use "series" to generate multiple successive steps. By adjusting the number of steps, height, and depth of the input steps we can generate different stairs. We control the position of the stair by passing in the coordinates of the starting point at the bottom of the stair.

general stair model
general stair grasshopper


2.2.3 Railing Model

We build two types of railing models, one is the solid railing and the other is the railing with balustrades. And then we make texture mapping according to their railing materials. We control the position of the railing by passing in the coordinates of the starting point at the bottom of the railing.

wall railing model
wall railng grasshopper
Railing with balustrades model
Railing with balustrades grasshopper

2.3 Build models for complicate components

Many regular bridges can be generated using the general model components, but to build more complex bridges, we need to add some more complex components.

2.3.1 Round Stair Model

Unlike the normal linear steps, some steps have a quarter circle in the corner. We first create the top step curve and the bottom step curve, use the "Tween Curve" to generate the middle curve according to the number of steps, and then connect them together to create the whole round stair.

round stair model
round stair grasshopper

2.3.2 Stair in different directions

Most of the bridges have stairs in only one direction, i.e. perpendicular to the direction of the river. However, due to the complex topography of Venice, some houses have doors that face the river, so a staircase parallel to the river is built to connect to the bridge. When we build a normal staircase, it goes in the direction of the x-axis. Now to build a staircase parallel to the lake we need to modify the previous drawing logic to extend in the y-axis direction.

stair different angle model
stair different angle grasshopper

2.3.3 Railings in different directions

The same as the steps, the handrail also has the direction parallel to the river. These railings are mostly found in places where there are round steps. We take the boundary of the round steps and build railings along the boundary of the round steps.

wall railings in different angles model
wall railings in different angles grasshopper
railings with balustrades in different angles model
railings with balustrades in different angles grasshopper

2.3.4 Stairs with platforms in between

The overall lengths of some bridges are very long, and the climbing height is too high if they are all stairs. So some bridges will insert the platform between the stairs. To build this type of bridge, we first build a stair and then splice a block that has the same length as the platform to move the whole of the stairs outward a platform distance. Build multiple sections of the platform with stairs in this manner and finally fit them to the bridge body.We divide the bridge into a stair section and a platform section, each section with a separate railing.

Stairs with platforms in between model
wall railings in different angles grasshopper

2.4 Input Parameters into 3D Model

We import the plane into Rhino, measure the length of the bridge, and store the data in the component in the grasshopper. Then we connect these components with the model, i.e. the parameters are passed into the model. So we can generate the 3D model of bridges semi-automatically.

Measure in rhino
measure length grasshopper

2.5 Fine Tuning

2.5.1 Start position of the railings

The starting position of the railing is not necessarily the same as the starting position of the stair. By passing in different starting and ending positions of the handrail we can control the position of the railings.

2.5.2 Missing part of the bridge

Some bridges are not always complete because they are close to the wall, and they miss a part due to the wall embedding. We need to use "difference" in Rhino to delete these parts.

2.5.3 Pulling the bridge diagonally

The bridge body is not always perpendicular to the river surface, we need to use "shear" to make some diagonal adjustments to the bridge so that its shape is more closely matched to its original shape.

Project Plan and Milestones

Milestones

1. Initial research on Venice Bridge: books and other materials, work on general methods. ✓

2. Classification of the Bridge: common and special features. ✓

3. Determination of relevant parameters: description, measurement and speculation. ✓

4. Digitalization of the books: formation of structured data. ✓

5. Preliminary model: simple bridge structure. ✓

6. Modular design: implementation of different components of the bridges ✓

7. Modular for special complicate components ✓

8. Parameters input: create models for bridges ✓


Project Plan

Date Task Completion
By Week 3
  • Brainstorm projects ideas
  • Prepare slides for initial project idea presentation.
By Week 4 - 5
  • Discuss the implementation of 3D bridges modelling with TA, and figure out specific steps to achieve
  • Learn about classification and the basic structure of Venice bridges.
  • Learn to use Rhino and Grasshopper
By Week 6
  • Learn to use Rhino and grasshopper
  • Digitalize the material "CATALOGO VENEZIANO-PONTI"
  • Find the parameters that are needed for modeling and build the framework of the database
By Week 7
  • Build a simple and standard bridge model
By Week 8
  • Build the arc and bridge body model
  • Find out a method to measure the length of bridges on the materials
By Week 9
  • Get the information from the material using OCR
  • Build the stair model
  • Get the length data from the plan using Rhino
By Week 10
  • Build the railing model
  • Write the introduction, motivation, and project plan on wiki
  • Prepare slides for midterm presentation.
By Week 11
  • Complete different railing model
  • Add texture representation
  • model for complicated components
By Week 12
  • Input the data and types of bridges to the 3D bridge model, and generate the 3D models of bridges.
By Week 13
  • Complete the wiki on motivation, methods, results, and limitations.
  • Build and refine some special bridge models
By Week 14
  • Final presentation

Results and Assessment

All result can be seen in our GitHub Repository

5.1 OCR Result and Texture Description Data

By scanning the pdf file and OCR to get the text content of the book Catalogo Veneziano – Ponti Santa Croce and Catalogo Veneziano – Ponti San Polo, we got a total of 73 bridges (84 in total, 11 duplicates) of 2 books with the plan represents and related location information. At the same time, by manually querying the book I Ponti di Venezia, we also got the arch structure, bridge body and handrail material about these bridges. We stored this information in a JSON file, the format of which is given below.

column description
id The unique id of each bridge
id_book The id used in the book Catalogo Veneziano
name The name of the bridge
river The river which the bridge crosses
street The street connected by this bridge
district The community where the bridge is located
structure The type of the arc.

‘0’ is the flat bridge, ‘1’ to ‘6’ are six types of arch bridges, and these six tags correspond to the categories in section 1.1.1

material The material of the bridge body

‘1’ is the wooden bridge, ‘2’ is the stone bridge, ‘3’ is the iron bridge,

railing The type of the bridge railings

‘2’ is the stone railing, ‘3’ is the metal railing

Comment

5.2 Model Result And Assessment

When building the model, we found that if we just measured the data on the plan, we would not be able to get many important parameters, such as the height of the bridge, the draft depth and the real length of the landing. In order to make our modelling results more accurate, we tried many ways to study how to get this part of data, but never got a good way to determine these data. The approach we finally took was to simplify or speculate for this part of the parameters, and then compare them with our model by referring to photos of real bridges if we can find one fine photo so that the general shape of the model matches the real bridge. Therefore, when evaluating the results of the model, we will assess how well the model matches the plan, and if possible, how well the model matches the real bridge.


5.2.1 Simple Bridge Model

There are 16 bridges in our dataset that can be called simple. We use one general script to generate all these bridges, and then manually adjust the details.

PONTE DEI TOLENTINI:

model
model compared with plan represent
bridge images

PONTE DEL TENTOR:

For this bridge, we use the script to build the bridge and then manually do the ``difference`` operation in Rhino to adjust the shape.

model
model compared with plan represent


5.2.2 Bridge Model for Round Stairs

PONTE DE LE BURCHIELE O DEI TABACCHI:

model
model compared with plan represent
bridge images

5.2.3 Bridge Model for Muti Stairs

PONTE RUGA VECHIA:

model
building plan represent

5.2.4 Bridge Model for Railing with different directions

PONTE CANAL:

model
model compared with plan represent

5.2.5 Bridge Model for Stairs with different directions

PONTE DE CA' GIOVANELLI:

model
model compared with plan represent

Limitation

Key Information Missing

Among the most difficult challenges we faced was the inability to gather critical information about the bridge from the building plan representations we possessed, such as the height of the bridge, the height of the arch, and the base extrusion. It was feasible to gather some of the data that was not available by analyzing or calculating other parameters, but it was not possible to obtain an accurate result, and the remainder could only be speculated upon. We attempted to get some photographs of the bridge to assist us in determining this portion of the data, but we were unable to locate the correct information.

Image Precision limitation

Due to the scale setting of the bridge plan, we encountered the problem of inaccurate measurement when measuring bridge construction details. For example, the handrail width of a part of the bridge is represented by only one line, and the river width is also blurred in the boundary due to pixel limitation. Therefore, although we can achieve the modeling to match the building plan in a general view, however, there may be inaccuracies in the details.

No precise tracing of the historical situation

During our research, we found that most Venetian bridges have undergone reconstruction, yet there is no specific dating data or representation in the plan representations and books that are the source of our data. Therefore, we are unable to determine whether our model corresponds to the real situation of Venetian bridges in 1808.

Detail Part Modeling Limitations

Time constraints, insufficient information, and other factors resulted in our model being more of a general overview of the structure and shape of the bridges, and it is lacking in some details, such as the details of some bridge steps, the style and pattern of the handrails, and the actual material rendering of the model itself. This will be the main direction of our future work.

Future Work

Optimization of Original Data

Getting specific details of the bridges will help a lot in the next modeling, such as getting more specific three-views of the building details or learning to see the details of the bridges in the field. Also, studying how the bridges have been rebuilt and changed over the years will be of great importance in reconstructing the city of Venice in 1808.

Optimization of the Model Details

The further optimization of the model is to optimize the details of the bridges. For example, the specific shape and pattern of the handrail columns, the specific details of the bridge, the rendering of different materials and textures.

Optimization of Modeling Methods

The 3d modeling method we are using now is Rhino software and grasshopper script. Although we have an overall generator for different bridges, we still need manual work to get input parameters, adjust details and generate models among different bridge models. If possible, we think we can try some neural network algorithms to automatically generate 3d models from different angles of photos and design drawings, and then combine them with specific parameters to optimize the models, which can make the whole modeling process more automatic.

Github Repository

Venetian Bridges

References

Literatures

Tutorials