Showing posts with label sea. Show all posts
Showing posts with label sea. Show all posts

Friday, 23 November 2018

age of technical reproducibility

/* * "Seascape" by Alexander Alekseev aka TDM - 2014 * License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. * Contact: tdmaav@gmail.com */ const int NUM_STEPS = 8; const float PI = 3.141592; const float EPSILON = 1e-3; #define EPSILON_NRM (0.1 / iResolution.x) // sea const int ITER_GEOMETRY = 3; const int ITER_FRAGMENT = 5; const float SEA_HEIGHT = 0.6; const float SEA_CHOPPY = 4.0; const float SEA_SPEED = 0.8; const float SEA_FREQ = 0.16; const vec3 SEA_BASE = vec3(0.1,0.19,0.22); const vec3 SEA_WATER_COLOR = vec3(0.8,0.9,0.6); #define SEA_TIME (1.0 + iTime * SEA_SPEED) const mat2 octave_m = mat2(1.6,1.2,-1.2,1.6); // math mat3 fromEuler(vec3 ang) { vec2 a1 = vec2(sin(ang.x),cos(ang.x)); vec2 a2 = vec2(sin(ang.y),cos(ang.y)); vec2 a3 = vec2(sin(ang.z),cos(ang.z)); mat3 m; m[0] = vec3(a1.y*a3.y+a1.x*a2.x*a3.x,a1.y*a2.x*a3.x+a3.y*a1.x,-a2.y*a3.x); m[1] = vec3(-a2.y*a1.x,a1.y*a2.y,a2.x); m[2] = vec3(a3.y*a1.x*a2.x+a1.y*a3.x,a1.x*a3.x-a1.y*a3.y*a2.x,a2.y*a3.y); return m; } float hash( vec2 p ) { float h = dot(p,vec2(127.1,311.7)); return fract(sin(h)*43758.5453123); } float noise( in vec2 p ) { vec2 i = floor( p ); vec2 f = fract( p ); vec2 u = f*f*(3.0-2.0*f); return -1.0+2.0*mix( mix( hash( i + vec2(0.0,0.0) ), hash( i + vec2(1.0,0.0) ), u.x), mix( hash( i + vec2(0.0,1.0) ), hash( i + vec2(1.0,1.0) ), u.x), u.y); } // lighting float diffuse(vec3 n,vec3 l,float p) { return pow(dot(n,l) * 0.4 + 0.6,p); } float specular(vec3 n,vec3 l,vec3 e,float s) { float nrm = (s + 8.0) / (PI * 8.0); return pow(max(dot(reflect(e,n),l),0.0),s) * nrm; } // sky vec3 getSkyColor(vec3 e) { e.y = max(e.y,0.0); return vec3(pow(1.0-e.y,2.0), 1.0-e.y, 0.6+(1.0-e.y)*0.4); } // sea float sea_octave(vec2 uv, float choppy) { uv += noise(uv); vec2 wv = 1.0-abs(sin(uv)); vec2 swv = abs(cos(uv)); wv = mix(wv,swv,wv); return pow(1.0-pow(wv.x * wv.y,0.65),choppy); } float map(vec3 p) { float freq = SEA_FREQ; float amp = SEA_HEIGHT; float choppy = SEA_CHOPPY; vec2 uv = p.xz; uv.x *= 0.75; float d, h = 0.0; for(int i = 0; i < ITER_GEOMETRY; i++) { d = sea_octave((uv+SEA_TIME)*freq,choppy); d += sea_octave((uv-SEA_TIME)*freq,choppy); h += d * amp; uv *= octave_m; freq *= 1.9; amp *= 0.22; choppy = mix(choppy,1.0,0.2); } return p.y - h; } float map_detailed(vec3 p) { float freq = SEA_FREQ; float amp = SEA_HEIGHT; float choppy = SEA_CHOPPY; vec2 uv = p.xz; uv.x *= 0.75; float d, h = 0.0; for(int i = 0; i < ITER_FRAGMENT; i++) { d = sea_octave((uv+SEA_TIME)*freq,choppy); d += sea_octave((uv-SEA_TIME)*freq,choppy); h += d * amp; uv *= octave_m; freq *= 1.9; amp *= 0.22; choppy = mix(choppy,1.0,0.2); } return p.y - h; } vec3 getSeaColor(vec3 p, vec3 n, vec3 l, vec3 eye, vec3 dist) { float fresnel = clamp(1.0 - dot(n,-eye), 0.0, 1.0); fresnel = pow(fresnel,3.0) * 0.65; vec3 reflected = getSkyColor(reflect(eye,n)); vec3 refracted = SEA_BASE + diffuse(n,l,80.0) * SEA_WATER_COLOR * 0.12; vec3 color = mix(refracted,reflected,fresnel); float atten = max(1.0 - dot(dist,dist) * 0.001, 0.0); color += SEA_WATER_COLOR * (p.y - SEA_HEIGHT) * 0.18 * atten; color += vec3(specular(n,l,eye,60.0)); return color; } // tracing vec3 getNormal(vec3 p, float eps) { vec3 n; n.y = map_detailed(p); n.x = map_detailed(vec3(p.x+eps,p.y,p.z)) - n.y; n.z = map_detailed(vec3(p.x,p.y,p.z+eps)) - n.y; n.y = eps; return normalize(n); } float heightMapTracing(vec3 ori, vec3 dir, out vec3 p) { float tm = 0.0; float tx = 1000.0; float hx = map(ori + dir * tx); if(hx > 0.0) return tx; float hm = map(ori + dir * tm); float tmid = 0.0; for(int i = 0; i < NUM_STEPS; i++) { tmid = mix(tm,tx, hm/(hm-hx)); p = ori + dir * tmid; float hmid = map(p); if(hmid < 0.0) { tx = tmid; hx = hmid; } else { tm = tmid; hm = hmid; } } return tmid; } // main void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; uv = uv * 2.0 - 1.0; uv.x *= iResolution.x / iResolution.y; float time = iTime * 0.3 + iMouse.x*0.01; // ray vec3 ang = vec3(sin(time*3.0)*0.1,sin(time)*0.2+0.3,time); vec3 ori = vec3(0.0,3.5,time*5.0); vec3 dir = normalize(vec3(uv.xy,-2.0)); dir.z += length(uv) * 0.15; dir = normalize(dir) * fromEuler(ang); // tracing vec3 p; heightMapTracing(ori,dir,p); vec3 dist = p - ori; vec3 n = getNormal(p, dot(dist,dist) * EPSILON_NRM); vec3 light = normalize(vec3(0.0,1.0,0.8)); // color vec3 color = mix( getSkyColor(dir), getSeaColor(p,n,light,dir,dist), pow(smoothstep(0.0,-0.05,dir.y),0.3)); // post fragColor = vec4(pow(color,vec3(0.75)), 1.0); }

Sunday, 21 May 2017

wind witch

According to legends witches were believed to be able to control the wind. One method was with the use of three knots tied into a rope, or sometimes into a handkerchief. When the three knots were tied in the proper magical way, the wind was bound up in them. Witches gave, or sometimes sold, these magic knots to sailors to help them experience safe voyages (see *Ligature). The release of one knot brought a gentle, southwesterly wind; two knots, a strong north wind; and three knots, a tempest. In the folklore of the Shetland Islands and Scandinavia, some fishermen were said to have commanded the wind this way. The belief in controlling the wind by tying it goes back to the legends of ancient Greece; Odysseus received a bag of wind from Aeolus to help him on his journey.

Hajime Kinoko bondage tights

laces

*Ligature is a magical working by tying in a string, thread, or cord one to three knots, usually. Traditionally, for obvious reasons, it is used in binding spells. In ancient Greek times as well as in more recent English times knots were used by sorcerers and sea witches to harness winds and give sailors fair weather for sailing. In many Wiccan traditions knots are tied in the ritual cord belt of the initiation candidate. The number of knots, one, two or three, in the belt signifies the degree of initiation, first, second or third, which the person is receiving. The knots also magically bind the initiate in place and prevent his/her energies from being dispersed

http://ubu.com/film/steyerl_andrea.html

Tuesday, 13 January 2015

Inuit Cartography

 
Kuniit's three wooden (tree) maps show the journey from Sermiligaaq to Kangertittivatsiaq. Map to the right shows the islands along the coast, while the map in the middle shows the mainland and is read from one side of the block around to the other. Map to the left shows the peninsula between the fjords Sermiligaaq and Kangertivartikajik." From "Topografisk Atlas Grønland", published by Det Kongeglige Danske Geografiske Selskab, 2000 (pg 171).  

Monday, 29 October 2012

on the silk of the seas and the arctic flowers

Can the point at issue be more definitively and incisively presented than by Rimbaud himself in his personal copy of [ Une saison en enfer ]? In the margin, beside the passage "on the silk of the seas and the arctic flowers," he later wrote, "There's no such thing." (Benjamin, "Surrealism" 208)

Correspondances

La Nature est un temple où de vivants piliers
Laissent parfois sortir de confuses paroles;
L'homme y passe à travers des forêts de symboles
Qui l'observent avec des regards familiers.

Comme de longs échos qui de loin se confondent
Dans une ténébreuse et profonde unité,
Vaste comme la nuit et comme la clarté,
Les parfums, les couleurs et les sons se répondent.

II est des parfums frais comme des chairs d'enfants,
Doux comme les hautbois, verts comme les prairies,
— Et d'autres, corrompus, riches et triomphants,

Ayant l'expansion des choses infinies,
Comme l'ambre, le musc, le benjoin et l'encens,
Qui chantent les transports de l'esprit et des sens.

Charles Baudelaire

Saturday, 12 November 2011

the upper and the lower Waters

א



א

We are forced then to accept the notion of an incessant sliding of the signified under the signifier - which Ferdinand de Saussure illustrates with an image resembling the wavy lines of the upper and the lower Waters in miniatures from manuscripts of Genesis; a double flux marked by fine streaks of rain, vertical dotted lines supposedly confining segments of correspondence.
All our experience runs counter to this linearity, which made me speak once, in one of my seminars on psychosis, of something more like 'anchoring points', [points de capiton] as a schema for taking into account the dominance of the letter in the dramatic transformation that dialogue can effect in the subject.

(Écrits. New York: Norton, 1977. 154)

א

Sunday, 6 November 2011

They wintered on board the ships, and did not return till after the Prince’s death

after an original oil in possession of G. M. Traheren, Glamorganshire, Wales.

His Highness being convinced of how much importance the discovery of a North-West passage, formerly attempted in vain, would be, and being now resolved to employ for that purpose Captain Thomas Button, who had been employed in 1601, at the siege of Kinsale in Ireland, and was now in the Prince’s service, an able seaman, and eminent in other branches of knowledge; Mr Pett was ordered to assist that Captain in the choice of a proper ship for the undertaking. The Captain accordingly set sail in April 1612 with two vessels, one called the Resolution, in which he sailed himself and the other the Discovery commanded by Captain Ingram; being both victualled for eighteen months. They wintered on board the ships, and did not return till after the Prince’s death, which prevented Captain Button making another voyage for the purpose of the discovery. But from the observations, which he made, especially of the tides, he came home perfectly satisfied, that a North-West passage might be found… Birch / 265


A Condensation, Not Ripe For His Sickle
The Attempt of Captain Thomas Button to Discover the Northwest Passage

The aftermath of Hudson's Voyages
  • Discovery and Resolution, with a crew of 160 men, were sent out by Prince Henry (the Prince of Wales) and the directors of the Muscovy Company, under command of Capt. Thomas Button (a gentleman of Prince Henry's Household). They set out to search for the Northwest Passage, and search for any survivors. Three former members of Hudson's crew, Abacuck Prickett, the Welshman Robert Bylot (as pilot) and Edward Wilson, were aboard. Prince Henry gave specific instructions to Button on how to govern his crew to avoid another mutiny. Five of his men died on Digges Island attempting to commandeer some canoes from the Inuit. The Resolution was crushed by ice and sank.
  • Expecting to find a passage to Cathay, Button carried a letter from King James addressed to the emperor of Japan. Button crossed Hudson Bay to the west side around 61° N, then sailed south exploring the bay. The ships stopped and and wintered at the mouth of the Nelson River. Port Nelson, where they wintered-over, was named after one of the mates who was buried there.
  • Next spring, the ships headed back north along the coast, until shallow water convinced him he had found a sound (now Roe's Welcome Sound), not a passage west. The Resolution was crushed by the ice and sank. Discovery sailed north to what was called Sir Thomas Roe's Welcome, between Southampton Island and the east coast of America, before turning for England. A considerable length of coastline was charted on this expedition. It was also determined that no westward passage from Hudson Bay existed. Button headed east and returned home to England, 16 months after his departure.

Sunday, 6 June 2010

The Sentinel


The next time you see the full moon high in the south, look carefully at its right hand edge and let your eye travel upward along the curve of the disk. Round about two o'clock you will notice a small, dark oval: anyone with normal eyesight can find it quite easily. It is the great walled plain, one of the finest on the Moon, known as the Mare Crisium - the Sea of Crises.

Arthur C Clarke