Renaissance technology is the set of European artifacts and customs which span the Renaissance period, roughly the 14th through the 16th century. The era is marked by profound technical advancements such as the printing press, linear perspective in drawing, patent law, doubl and Bastion fortresses. Sketchbooks from artisans of the period (Taccola and Leonardo da Vinci, example) give a deep insight into the mechanical technology then known and applied.
Renaissance science spawned the Scientific Revolution; science and technology began a cycle of mutual advancement.
Contents
-
Basic technology 1
-
Late 14th century 1.1
-
15th century 1.2
-
16th century 1.3
-
Early 17th century 1.4
-
Tools, devices, work processes 2
-
15th century 2.1
-
16th century 2.2
-
Technical drawings of artist-engineers 3
-
See also 4
-
Notes 5
-
Footnotes 6
-
References 7
-
External links 8
Basic technology
Some important Renaissance technologies, including both innovations and improvements on existing techniques:
Late 14th century
The arquebus and the musket.
15th century
The technologies that arose or developed in Europe during the second half of the 15th century were commonly associated by authorities of the time with a key theme in Renaissance thought: the rivalry of the Moderns and the Ancients. Three inventions in particular — the
Crank and connecting rod
Water-raising pump powered by crank and connecting rod mechanism (Georg Andreas Böckler, 1661)
The
External links
References
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ a b {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ a b {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ See People of the Millenium for an overview of the wide acclaim. In 1999, the A&E Network ranked Gutenberg no. 1 on their "People of the Millennium" countdown. In 1997, Time–Life magazine picked Gutenberg's invention as the most important of the second millennium; the same did four prominent US journalists in their 1998 resume 1,000 Years, 1,000 People: Ranking The Men and Women Who Shaped The Millennium. The Johann Gutenberg entry of the Catholic Encyclopedia describes his invention as having made a practically unparalled cultural impact in the Christian era.
-
^ a b Febvre, Lucien; Martin, Henri-Jean (1976): "The Coming of the Book: The Impact of Printing 1450-1800", London: New Left Books, quoted in: Anderson, Benedict: "Comunidades Imaginadas. Reflexiones sobre el origen y la difusión del nacionalismo", Fondo de cultura económica, Mexico 1993, ISBN 978-968-16-3867-2, pp. 58f
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format
|list4 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format
|list4 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format
|list4 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ British Museum Add. MSS 34,113, fol. 200v
-
^ a b {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ a b {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ John Wilkins (1614 - 1672): Mathematical Magic of the Wonders that may be Performed by Mechanical Geometry, part I: Concerning Mechanical Powers Motion, part II, Dead-loss or Mechanical Motions, published in London in 1648
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ a b {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ World Association of Newspapers: "Newspapers: 400 Years Young!"; {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ a b c {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ a b {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format
|list4 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ {{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT
-
^ Bayerisches Nationalmuseum, München, Inv. nos. W 1450, W 1451
-
^ a b c Ladislao Reti, "Francesco di Giorgio Martini's Treatise on Engineering and Its Plagiarists", Technology and Culture, Vol. 4, No. 3. (Summer, 1963), pp. 287-298 (290)
-
^ Ladislao Reti, "Francesco di Giorgio Martini's Treatise on Engineering and Its Plagiarists", Technology and Culture, Vol. 4, No. 3. (Summer, 1963), pp. 287-298 (297f)
return p
end
', table.concat(classes, ' '), s )
%s
function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end
-- Hatnote -- -- Produces standard hatnote text. Implements the template.
function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end
function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end
-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.
function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end
function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end
function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end
function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end
local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end
local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end
-- Helper functions
local p = {}
local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno
return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --
end
', table.concat(classes, ' '), s )
%s
function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end
-- Hatnote -- -- Produces standard hatnote text. Implements the template.
function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end
function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end
-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.
function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end
function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end
function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end
function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end
local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end
local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end
-- Helper functions
local p = {}
local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno
-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --
-
^ 53.3 t at Trajan's Column ({{Navbox |name = Television drama series |title = Television drama series |state = autocollapse |listclass = hlist |group1 = By location
|list1 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format
|list4 =
|group2 = Genres
|list2 =
|group3 = List by country
|list3 =
|group4 = Format |list4 =
-
Serial
-
[[Procedural drama|P#REDIRECT).
return p
end
', table.concat(classes, ' '), s )
%s
function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end
-- Hatnote -- -- Produces standard hatnote text. Implements the template.
function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end
function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end
-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.
function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end
function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end
function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end
function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end
local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end
local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end
-- Helper functions
local p = {}
local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno
return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --
end
', table.concat(classes, ' '), s )
%s
function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end
-- Hatnote -- -- Produces standard hatnote text. Implements the template.
function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end
function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end
-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.
function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end
function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end
function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end
function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end
local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end
local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end
-- Helper functions
local p = {}
local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno
-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --
Notes
See also
Technology
|
Date
|
Author
|
Treatise
|
Comment
|
Pile driver
|
1475 [30]
|
Francesco di Giorgio Martini
|
Trattato di Architectura
|
Drawing of such a device whose principle must be according to the Brazilian historian of technology Ladislao Reti "considered original with Franceso".[31]
|
Centrifugal pump
|
1475 [30]
|
Francesco di Giorgio Martini
|
Trattato di Architectura
|
Water or mud-lifting machine "that must be characterized as the prototype of the centrifugal pump".[30]
|
However, these designs were not always intended to be put into practice, and often practical limitations impeded the application of the revolutionary designs. For example, da Vinci's ideas on the conical parachute or the winged flying machine were only applied much later. While earlier scholars showed a tendency to attribute inventions based on their first pictorial appearance to individual Renaissance engineers, modern scholarship is more prone to view the devices as products of a technical evolution which often went back to the Middle Ages.
The revived scientific spirit of the age can perhaps be best exemplified by the voluminous corpus of Leonardo da Vinci, a powerful instrument to depict mechanical devices for the first time in a realistic manner. The extant sketch books give modern historians of science invaluable insights into the standards of technology of the time. Renaissance engineers showed a strong proclivity to experimental study, drawing a variety of technical devices, many of which appeared for the first time in history on paper.
Technical drawings of artist-engineers
Two 16th-century German grenade muskets working with a wheellock mechanism are on display in the Bayerisches Nationalmuseum, Munich.[29]
Grenade musket
German grenade
muskets from the 16th century (the two upper ones)
16th century
The geared hand-mill, operated either with one or two cranks, appears in the 15th century.[23]
Geared hand-mill
Evidence for rotary grindstones operated by a crank handle goes back to the Carolingian Utrecht Psalter.[27] Around 1480, the crank mechanism is further mechanized by adding a treadle.[28]
Rotary grindstone with treadle
[26]
While paddle wheel boats powered by manually turned
Paddle wheel boat powered by crank and connecting rod mechanism
The earliest evidence for the fitting of a well-hoist with cranks is found in a miniature of c. 1425 in the German Hausbuch of the Mendel Foundation.[24]
Cranked well-hoist
The earliest carpenter's braces equipped with a U-shaped grip, that is with a compound crank, appears between 1420 and 1430 in Flanders.[2]
Brace
In the textile industry, cranked reels for winding skeins of yarn were introduced in the early 15th century.[23]
Cranked reel
The German engineer Konrad Kyeser equips in his Bellifortis (1405) the Archimedes' screw with a crank mechanism which soon replaces the ancient practice of working the pipe by treading.[22]
Cranked Archimedes' screw
15th century
Tools, devices, work processes
-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(
local t1 = false -- whether traditional Chinese characters go first
local j1 = false -- whether Cantonese Romanisations go first
local testChar
if (args["first"]) then
for testChar in mw.ustring.gmatch(args["first"], "%a+") do
if (testChar == "t") then
t1 = true
end
if (testChar == "j") then
j1 = true
end
end
end
if (t1 == false) then
local title = mw.title.getCurrentTitle()
t1 = t1st[title.text] == true
end
function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil
local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }
-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }
-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }
-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }
-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }
local p = {}
In 1607 Bartolomeo Crescentio described an air-gun equipped with a powerful spiral spring, a device so complex that it must have had predecessors. In 1610 Mersenne spoke in detail of "sclopeti pneumatici constructio", and four years later Wilkins wrote enthusiastically of "that late ingenious invention the wind-gun" as being "almost equall to our powder-guns". In the 1650s Otto von Guericke, famed for his experiments with vacua and pressures, built the Madeburger Windbuchse, one of the technical wonders of its time.require('Module:No globals')
Air-gun
The newspaper is an offspring of the printing press from which the press derives its name.[19] The 16th century sees a rising demand for up-to-date information which can not be covered effectively by the circulating hand-written newssheets. For "gaining time" from the slow copying process, Johann Carolus of Strassburg is the first to publish his German-language Relation by using a printing press (1605).[20] In rapid succession, further German newspapers are established in Wolfenbüttel (Avisa Relation oder Zeitung), Basel, Frankfurt and Berlin.[20] From 1618 onwards, enterprising Dutch printers take up the practice and begin to provide the English and French market with translated news.[20] By the mid-17th century it is estimated that political newspapers which enjoyed the widest popularity reach up to 250,000 readers in the Holy Roman Empire, around one quarter of the literate population.[21]
Title page of the
Relation (1609), the earliest newspaper
[18]
Newspaper
Early 17th century
A lifting tower was used to great effect by Domenico Fontana to relocate the monolithic Vatican obelisk in Rome.[17] Its weight of 361 t was far greater than any of the blocks the Romans are known to have lifted by cranes.[17][A 1]
Lifting tower
The earliest known description of a floating dock comes from a small Italian book printed in Venice in 1560, titled Descrittione dell'artifitiosa machina. In the booklet, an unknown author asks for the privilege of using a new method for the salvaging of a grounded ship and then proceeds to describe and illustrate his approach. The included woodcut shows a ship flanked by two large floating trestles, forming a roof above the vessel. The ship is pulled in an upright position by a number of ropes attached to the superstructure.[16]
Floating dock at Venice (1560)
Floating dock
16th century
While dry docks were already known in Hellenistic shipbuilding,[14] these facilities were reintroduced in 1495/96, when Henry VII of England ordered one to be built at the Portsmouth navy base.[15]
Dry dock
The earliest recorded uses of the astrolabe for navigational purposes are by the Portuguese explorers Diogo de Azambuja (1481), Bartholomew Diaz (1487/88) and Vasco da Gama (1497/98) during their sea voyages around Africa.[13]
Mariner's astrolabe
The earliest known parachute design appears in an anonymous manuscript from 1470s Renaissance Italy;[9] it depicts a free-hanging man clutching a crossbar frame attached to a conical canopy.[10] As a safety measure, four straps run from the ends of the rods to a waist belt. Around 1485, a more advanced parachute was sketched by the polymath Leonardo da Vinci in his Codex Atlanticus (fol. 381v), which he scales in a more favorable proportion to the weight of the jumper.[10] Leonardo's canopy was held open by a square wooden frame, altering the shape of the parachute from conical to pyramidal.[11] The Venetian inventor Fausto Veranzio (1551–1617) modifies da Vinci's parachute sketch by keeping the square frame, but replacing the canopy with a bulging sail-like piece of cloth. This he realized decelerates the fall more effectively.[11] Claims[12] that Veranzio successfully tested his parachute design in 1617 by jumping from a tower in Venice cannot be substantiated; since he was around 65 years old at the time, it seems unlikely.
Veranzio's 1595 parachute design titled "Flying Man"
Parachute
The relatively free flow of information transcends borders and induced a sharp rise in Renaissance literacy, learning and education; the circulation of (revolutionary) ideas among the rising middle classes, but also the peasants, threatens the traditional power monopoly of the ruling nobility and is a key factor in the rapid spread of the Protestant Reformation. The dawn of the Gutenberg Galaxy, the era of mass communication, is instrumental in fostering the gradual democratization of knowledge which sees for the first time modern media phenomena such as the press or bestsellers emerging.[8] The prized incunables, which are testimony to the aesthetic taste and high proficient competence of Renaissance book printers, are one lasting legacy of the 15th century.
The mechanical device consists of a screw press modified for printing purposes which can produce 3,600 pages per workday,[5] allowing the mass production of printed books on a proto-industrial scale. By the start of the 16th century, printing presses are operating in over 200 cities in a dozen European countries, producing more than twenty million volumes.[7] By 1600, their output had risen tenfold to an estimated 150 to 200 million copies, while Gutenberg book printing spread from Europe further afield.[7]
The invention of the printing press by the German goldsmith Johannes Gutenberg (1398–1468) is widely regarded as the single most important event of the second millennium,[6] and is one of the defining moments of the Renaissance. The Printing Revolution which it sparks throughout Europe works as a modern "agent of change" in the transformation of medieval society.
Two printers operating a Gutenberg-style
printing press (1568). Such presses could make around 3,600 impressions per workday.
[5]
Printing press
[4]
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.