3DVeniceBridges: Difference between revisions
m (Paul.guhennec moved page 3DVeniceBirdges to 3DVeniceBridges) |
|||
(109 intermediate revisions by 2 users not shown) | |||
Line 13: | Line 13: | ||
== Methodology == | == Methodology == | ||
=== 1. | === 1. Build Database === | ||
==== 1.1 | ==== 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. | 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''' | |||
(b) Curved, when the curve of the arch is greater than a semi-circumference (fig. 2):'''''sesto rialato''''' | There are two main types of bridges in Venice, arch bridges and girder bridges: | ||
#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. | |||
#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'''''. | |||
( | {| class="wikitable" style="margin: 1em auto 1em auto;" | ||
| [[File:Types of arc.png|none|thumb|350px| Different types of arcs]] | |||
| [[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. | |||
'''1.1.2 Bridge Body''' | |||
According to the books “''I ponti di Venezia''” there are three types of bridges material: | |||
#Wooden bridges ('''''Struttura in legno''''' ). | |||
#Stone bridges ('''''struttura in pietra d'Istria / struttura in pietra'''''). | |||
#Iron bridges ('''''struttura in ferro'''''). | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
| [[File:Wooden bridge.jpg|none|thumb|300px| Wooden bridge]] | |||
| [[File:Stone bridge.jpg|none|thumb|300px| Stone bridge]] | |||
| [[File:Iron bridge.jpg|none|thumb|300px| 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: | |||
#Normal Rectangle. | |||
#Normal Rectangle with an arc in the corner. | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
| [[File:normal stair.jpg|none|thumb|350px| normal stair]] | |||
| [[File:Circle stair.jpg|none|thumb|350px| circle stair]] | |||
|} | |||
Also, there are three different types of stair‘s structures: | |||
# Simple stairs | |||
# Stairs with platforms in between | |||
# Stairs in different angles | |||
There are also some bridges have mixed types. | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
| [[File:Stair s1.jpeg|none|thumb|350px| Simple steps]] | |||
| [[File:Stair s2.jpeg|none|thumb|350px| Steps with platforms]] | |||
| [[File:Stair s3.jpeg|none|thumb|350px| Stairs in different angles]] | |||
|} | |||
'''1.1.4 Railing''' | |||
According to the book “''I Ponti di Venezia''” there are two types of railing material: | |||
#Iron railings ('''''spallette in ferro'''''). | |||
#: All metal handrails are composed of balusters, which differ in their shape. | |||
#Stone railings ('''''spallette in pietra'''''). | |||
#: There are two types of railings made of stone; one is composed of balustrade, the other is solid railings. | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
| [[File:Iron railing.jpg|none|thumb|250px| Iron railing]] | |||
| [[File:Stone railing 1.jpg|none|thumb|350px| Stone railing with balustrade]] | |||
| [[File:Stone railing 2.jpg|none|thumb|350px| 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. | |||
{|class="wikitable" | |||
!scope="col" width="150"|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: | |||
{|class="wikitable" | |||
!scope="col" width="150"|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. | |||
{|class="wikitable" | |||
!scope="col" width="150"|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. | |||
{| 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]] | |||
|} | |||
{| 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.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. | |||
== | {| class="wikitable" style="margin: 1em auto 1em auto;" | ||
| [[File:Wall railing.jpg|none|thumb|300px| wall railing model]] | |||
| [[File:Wall railing gh.jpg|none|thumb|500px| wall railng grasshopper]] | |||
|} | |||
== Project Plan== | {| 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]] | |||
|} | |||
==== 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. | |||
{| 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. | |||
{| 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== | |||
=== 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 === | |||
Line 52: | Line 351: | ||
|By Week 4 - 5 | |By Week 4 - 5 | ||
| | | | ||
* Discuss the implementation of 3D bridges | * 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 about classification and the basic structure of Venice bridges. | ||
* Learn to use Rhino and Grasshopper | * Learn to use Rhino and Grasshopper | ||
Line 68: | Line 367: | ||
|By Week 7 | |By Week 7 | ||
| | | | ||
* | * Build a simple and standard bridge model | ||
| align="center" | ✓ | | align="center" | ✓ | ||
|- | |- | ||
Line 74: | Line 373: | ||
|By Week 8 | |By Week 8 | ||
| | | | ||
* | * Build the arc and bridge body model | ||
* | * Find out a method to measure the length of bridges on the materials | ||
| align="center" | ✓ | | align="center" | ✓ | ||
Line 82: | Line 381: | ||
|By Week 9 | |By Week 9 | ||
| | | | ||
* | * Get the information from the material using OCR | ||
* | * Build the stair model | ||
* | * Get the length data from the plan using Rhino | ||
| align="center" | ✓ | | align="center" | ✓ | ||
Line 91: | Line 390: | ||
|By Week 10 | |By Week 10 | ||
| | | | ||
* | * Build the railing model | ||
* | * Write the introduction, motivation, and project plan on wiki | ||
* Prepare slides for midterm presentation. | * Prepare slides for midterm presentation. | ||
| align="center" | | | align="center" |✓ | ||
|- | |- | ||
|By Week 11 | |By Week 11 | ||
| | | | ||
* | * Complete different railing model | ||
| align="center" | | * Add texture representation | ||
* model for complicated components | |||
| align="center" |✓ | |||
|- | |- | ||
|By Week 12 | |By Week 12 | ||
| | | | ||
* | * Input the data and types of bridges to the 3D bridge model, and generate the 3D models of bridges. | ||
| align="center" | | | align="center" |✓ | ||
|- | |- | ||
Line 118: | Line 419: | ||
* Build and refine some special bridge models | * Build and refine some special bridge models | ||
| align="center" | | | align="center" |✓ | ||
|- | |- | ||
|By Week 14 | |By Week 14 | ||
| | | | ||
* | * Final presentation | ||
| align="center" | | | align="center" |✓ | ||
|- | |- | ||
|} | |} | ||
== Results == | == Results and Assessment== | ||
All result can be seen in our [https://github.com/RuiaRui/Venetian-Bridges/ 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 [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 == | ||
==== 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 ==== | |||
== Future work == | 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 == | |||
[https://github.com/RuiaRui/Venetian-Bridges Venetian Bridges] | |||
== References == | == References == | ||
=== Literatures === | |||
* [https://studiosaor.com/product/catalogo-veneziano-collection/ STUDIO SAÒR. (2018). Catalogo veneziano.] | |||
* RIZZO, T. (1983). I Ponti di Venezia. Roma, Newton Compton. | |||
* [http://www.iuav.it/Ricerca1/ATTIVITA-/aree-temat/costruttiv/arte-del-c/materiali/iabse/iabse-scalzi.pdf/ de miranda, Mario & Pogacnik, Marco & Skansi, Luka. (2010). Bridges in Venice - Architectural and Structural Engineering Aspects. IABSE Symposium Report. 97. 88-95.10.2749/222137810796063841.] | |||
=== 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.
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:
- 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.
- 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.
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:
- Wooden bridges (Struttura in legno ).
- Stone bridges (struttura in pietra d'Istria / struttura in pietra).
- Iron bridges (struttura in ferro).
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:
- Normal Rectangle.
- Normal Rectangle with an arc in the corner.
Also, there are three different types of stair‘s structures:
- Simple stairs
- Stairs with platforms in between
- Stairs in different angles
There are also some bridges have mixed types.
1.1.4 Railing
According to the book “I Ponti di Venezia” there are two types of railing material:
- Iron railings (spallette in ferro).
- All metal handrails are composed of balusters, which differ in their shape.
- Stone railings (spallette in pietra).
- There are two types of railings made of stone; one is composed of balustrade, the other is solid railings.
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.
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.
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.
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.
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.
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.
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.
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.
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 |
|
✓ |
By Week 4 - 5 |
|
✓ |
By Week 6 |
|
✓ |
By Week 7 |
|
✓ |
By Week 8 |
|
✓ |
By Week 9 |
|
✓ |
By Week 10 |
|
✓ |
By Week 11 |
|
✓ |
By Week 12 |
|
✓ |
By Week 13 |
|
✓ |
By Week 14 |
|
✓ |
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:
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.
5.2.2 Bridge Model for Round Stairs
PONTE DE LE BURCHIELE O DEI TABACCHI:
5.2.3 Bridge Model for Muti Stairs
PONTE RUGA VECHIA:
5.2.4 Bridge Model for Railing with different directions
PONTE CANAL:
5.2.5 Bridge Model for Stairs with different directions
PONTE DE CA' GIOVANELLI:
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
References
Literatures
- STUDIO SAÒR. (2018). Catalogo veneziano.
- RIZZO, T. (1983). I Ponti di Venezia. Roma, Newton Compton.
- de miranda, Mario & Pogacnik, Marco & Skansi, Luka. (2010). Bridges in Venice - Architectural and Structural Engineering Aspects. IABSE Symposium Report. 97. 88-95.10.2749/222137810796063841.