AccessSpire along the unpaved Bay Area Ridge Trail. There is tree trunk bench seating at the sculpture. A parking space for those with mobility limitations can be found at the Presidio Golf Course lot next to the Bay Area Ridge Trail trailhead. Wheelchair-accessible restrooms are available at Presidio Golf Course.
Spire was made possible through the FOR-SITE Foundation, a non-profit organization dedicated to the idea that art can inspire fresh thinking and important dialogue about our natural and cultural environment. For more, visit the FOR-SITE website.
A spire is a tall, slender, pointed structure on top of a roof of a building or tower, especially at the summit of church steeples.[1] A spire may have a square, circular, or polygonal plan, with a roughly conical or pyramidal shape.[1] Spires are typically made of stonework or brickwork, or else of timber structures with metal cladding, ceramic tiling, roof shingles, or slates on the exterior.[1]
Since towers supporting spires are usually square, square-plan spires emerge directly from the tower's walls, but octagonal spires are either built for a pyramidal transition section called a broach at the spire's base, or else freed spaces around the tower's summit for decorative elements like pinnacles.[1] The former solution is known as a broach spire.[1] Small or short spires are known as spikes, spirelets, or flches.[1][2]
This sense of the word spire is attested in English since the 1590s, spir having been used in Middle Low German since the 14th century, a form related to the Old English word spir, meaning a sprout, shoot, or stalk of grass.[3]
The Gothic church spire originated in the 12th century as a simple, four-sided pyramidal structure on top of a church tower. The spire could be constructed of masonry, as at Salisbury Cathedral, or of wood covered with lead, as at Notre-Dame de Paris. Gradually, spires became taller, slimmer, and more complex in form. Triangular sections of masonry, called broaches were added to the sides, at an angle to the faces of the tower, as at St Columba, Cologne. In the 12th and 13th centuries, more ornament was added to the faces of the spires, particularly gabled dormers over the centres of the faces of the towers, as in the southwest tower of Chartres Cathedral. Additional vertical ornament, in the form of slender pinnacles in pyramid shapes, were often placed around the spires, to express the transition between the square base and the octagonal spire.[4]
The spires of the late 13th century achieved great height; one example was Fribourg Cathedral in Switzerland, where the gabled lantern and spire reached a height of 385 feet (117 meters). In England, a tall needle spire was sometimes constructed at the edge of tower, with pinnacles at the other corners. The western spires of Lichfield Cathedral are an example.[4]
Openwork spires were a notable architectural innovation, beginning with the spire at Freiburg Minster, in which the pierced stonework was held together by iron cramps. The openwork spire, represented a radical but logical extension of the Gothic tendency toward a skeletal structure.[6]
A needle-spire is a particularly tall and narrow spire emerging from a tower surrounded by a parapet. In general, the term applies to considerably larger and more refined spires than the name Hertfordshire spike.[1]
On the ridge of the roof on top of the crossing (the intersection of the nave and the transepts) of a church, flches were typically light, delicate, timber-framed constructions with a metallic sheath of lead or copper.[8] They are often richly decorated with architectural and sculptural embellishments: tracery, crockets, and miniature buttresses serve to adorn the flche.[8]
The most famous flche was the Neo-Gothic 19th-century design by Eugne Viollet-le-Duc for the Notre-Dame de Paris, 100 feet (30 meters) tall and richly decorated with sculpture. The original flche of Notre-Dame was built in the 13th century, and removed in 1786, shortly before the French Revolution. The famous replacement by Viollet-le-Duc with an abundance of sculpture was destroyed in the 2019 Notre-Dame de Paris fire. It will be rebuilt in the same form.
A pinnacle is a miniature spire that was used both as a decorative and functional element. In early Gothic, as at Notre-Dame de Paris, stone pinnacles were placed atop flying buttresses, to give them additional weight and stability, and to counterbalance the outward thrust from the rib vaults of the nave. As an ornament, they were used to break up the horizontal lines, such as parapets and the roofs of towers. In later Gothic, they were sometimes often clustered together into forests of vertical ornament.
In Gothic architecture, where the spire is most commonly used, and particularly in Gothic cathedrals and churches it symbolised the heavenly aspirations of churches' builders, as well as offering a visual spectacle of extreme height.[4] It also suggested, by its similarity to a spear point, the power and strength of religion.[10]
Using features such as specialization, macros, type classes, and implicits, Spire works hard to defy conventional wisdom around performance and precision trade-offs. A major goal is to allow developers to write efficient numeric code without having to "bake in" particular numeric representations. In most cases, generic implementations using Spire's specialized type classes perform identically to corresponding direct implementations.
In addition to the type classes themselves, spire.implicits defines many implicits which provide unary and infix operators for the type classes. The easiest way to use these is via a wildcard import of spire.implicits._.
The following is an outline in more detail of the type classes provided by Spire, as well as the operators that they use. While Spire avoids introducing novel operators when possible, in a few cases it was unavoidable.
The type classes provide type-safe equivalence and comparison functions. Orderings can be total (Order) or partial (PartialOrder); although undefined elements like NaN or null will cause problems in the default implementations (for floating-point numbers, alternate implementations that take NaN into account can be imported from spire.optional.totalfloat._).
These high-level type classes will pull in all of the relevant algebraic type classes. Users who aren't concerned with algebraic properties directly, or who wish for more permissiveness, should prefer these type classes.
The Numeric type class is unique in that it provides the same functionality as Fractional for all number types. Each type will attempt to "do the right thing" as far as possible, and throw errors otherwise. Users who are leery of this behavior are encouraged to use more precise type classes.
Spire also provides a loop macro called cfor (previously known as cfor) whose syntax bears a slight resemblance to a traditional for-loop from C or Java. This macro expands to a tail-recursive function, which will inline literal function arguments.
Since Spire provides a specialized ordering type class, it makes sense that it also provides its own methods for doing operations based on order. These methods are defined on arrays and occur in-place, mutating the array. Other collections can take advantage of sorting by converting to an array, sorting, and converting back (which is what the Scala collections framework already does in most cases). Thus, Spire supports both mutable arrays and immutable collections.
Selection methods can be found in an analogous spire.math.Selection object. Given an array and an index k these methods put the kth largest element at position k, ensuring that all preceding elements are less-than or equal-to, and all succeeding elements are greater-than or equal-to, the kth element.
Searching methods are located in the spire.math.Searching object. Given a sorted array (or indexed sequence), these methods will locate the index of the desired element (or return -1 if it is not found).
Spire comes with many different PRNG implementations, which extends the spire.random.Generator interface. Generators are mutable RNGs that support basic operations like nextInt. Unlike Java, generators are not threadsafe by default; synchronous instances can be attained by calling the .sync method.
Spire supports generating random instances of arbitrary types using the spire.random.Dist[A] type class. These instances represent a strategy for getting random values using a Generator instance. For instance:
Unlike generators, Dist[A] instances are immutable and composable, supporting operations like map, flatMap, and filter. Many default instances are provided, and it's easy to create custom instances for user-defined types.
In addition to unit tests, Spire comes with a relatively fleshed-out set of JMH micro-benchmarks. To run the benchmarks from within SBT, change to the benchmark subproject and then Jmh / run -l to see a list of benchmarks:
If you plan to contribute to Spire, please make sure to run the relevant benchmarks to be sure that your changes don't impact performance. Benchmarks usually include comparisons against equivalent Scala or Java classes to try to measure relative as well as absolute performance.
Good morning Rebecca, I love this post and your gorgeous photos. You always inspire me, as a painter. Would you mind if I ever use your photos for painting? I would of course reference your name.
A big hug from Bainbridge Island, WA.
SPIRE Hospitality leads the way in innovative, comprehensive, and hands-on hotel management. Combining 35+ years of proven industry experience with collaborative and transparent leadership, an engaged culture of high-performance, and a focus on people, passion, and purpose, SPIRE is known for maximizing asset value while curating uniquely personalized, unforgettable guest experiences.
about spire
3a8082e126