The mid-century in the UK saw a lot of fabrics being produced with designs that were based seemingly on almost random looking shapes and forms.
This was a trend that produced some very distinctive looking fabrics and wallpapers and, along with the use of appropriate colours, tends to mark patterns as being mid-century.
This design was made in code with Processing and was intended from the outset as a fabric pattern. It uses the type of shapes that were commonly used and paired with a dark background fabric it makes an ideal material. The set used is a very basic curtain set that was made some time back and which, to be honest, is as good as any other set for showcasing curtain material. The pattern looks an awkward one when seen as a swatch but comes alive when used as material with the other shapes forming a division across the curtain which contrast in well with the shape and colour of the lower forms.
The code is rather long and a little scrappy but I include it below in case it helps anyone.
You can also see larger versions of this and our other work on our Flickr page which is here.
PImage bg ;
color brass ;
color pinkb ; // pink beige
color butterm ; // buttermilk
color rred ; // reef red
color cbrown ; // congo brown
color choc ; // chocolate
void setup() {
size(1000, 1000) ;
bg = loadImage("092.jpg") ; // regal red
image(bg, 0, 0) ;
// background(255) ;
// colors
brass = color(#DBA20D) ;
pinkb = color(#E09F81) ;
butterm = color(#E9DAB1) ;
rred = color(#E07A67) ;
cbrown = color(#574736) ;
choc = color(#352522) ;
drawShape01(500, 500) ;
drawShape01(250, 750) ;
drawShape02(0, 500) ;
drawShape02(1000, 500) ; // offset above
drawShape02(700, 750) ;
drawShape03(360, 1000) ;
drawShape03(360, 0) ; // offset above
drawShape04(0, 700) ;
drawShape04(0, -300) ; // offset above
drawShape04(1000, 700) ; // offset above
drawShape04(1000, -300) ; // offset above
rect(830, 100, 80, 260, 60, 0, 60, 0) ;
rect(5, 100, 80, 260, 0, 60, 0, 60) ;
//drawGuides() ;
// shapes
stroke(0) ;
strokeWeight(1) ;
fill(brass, 180) ;
// shape01
beginShape() ;
curveVertex(360, 150) ; // C1
curveVertex(210, 100) ; // V1
curveVertex(170, 200) ; //V2
curveVertex(210, 300) ; // V3
curveVertex(360, 250) ; // C2
vertex(110, 300) ;
vertex(110, 100) ;
endShape(CLOSE) ;
// shape02 add 140 to across to make it 50 away
beginShape() ;
vertex(240, 80) ;
curveVertex(490, 150) ; // C1
curveVertex(340, 100) ; // V1 curveVertex(310, 200) ; //V2
curveVertex(340, 320) ; // V3
curveVertex(490, 250) ; // C2
vertex(240, 320) ;
endShape(CLOSE) ;
// shape03 add 150 to across to make it 50 away
beginShape() ;
vertex(380, 300) ;
vertex(380, 100) ;
curveVertex(630, 150) ; // C1
curveVertex(480, 100) ; // V1
curveVertex(410, 200) ; //V2
curveVertex(480, 300) ; // V3
curveVertex(480, 250) ; // C2
endShape(CLOSE) ;
// shape04 add 150 to across to make it 50 away
beginShape() ;
vertex(500, 320) ;
vertex(500, 80) ;
curveVertex(580, 150) ; // C1
curveVertex(630, 100) ; // V1
curveVertex(590, 200) ; //V2
curveVertex(630, 320) ; // V3
curveVertex(630, 250) ; // C2
endShape(CLOSE) ;
// shape05 add 150 to across to make it 50 away
beginShape() ;
curveVertex(930, 150) ; // C1
curveVertex(780, 100) ; // V1
curveVertex(740, 200) ; //V2
curveVertex(780, 300) ; // V3
curveVertex(780, 250) ; // C2
vertex(680, 300) ;
vertex(680, 100) ;
endShape(CLOSE) ;
}
//---------------------------------------------------------------
void drawShape01(int x, int y) {
stroke(butterm, 200) ;
strokeWeight(7) ;
fill(pinkb, 150) ;
rect(x, y, 300, 30) ;
rect(x, y + 40, 240, 25) ;
rect(x, y + 75, 180, 20) ;
rect(x, y + 105, 120, 15) ;
rect(x, y + 130, 60, 10) ;
}
void drawShape02(int x, int y) {
stroke(rred, 250) ;
strokeWeight(10) ;
fill(butterm, 200) ;
ellipse(x, y, 100, 200) ;
ellipse(x + 100, y, 80, 180) ;
ellipse(x + 180, y, 60, 160) ;
}
void drawShape03(int x, int y) {
stroke(choc, 250) ;
strokeWeight(5) ;
fill(pinkb, 250) ;
line(x, y, x + 300, y) ;
ellipse(x + 303, y, 30, 30) ;
line(x, y, x + 300, y - 50) ;
ellipse(x + 303, y - 50, 30, 30) ;
line(x, y, x + 300, y + 50) ;
ellipse(x + 303, y + 50, 30, 30) ;
// origin ball
ellipse(x, y, 30, 30) ;
}
void drawShape04(int x, int y) {
stroke(choc, 250) ;
strokeWeight(5) ;
fill(pinkb, 250) ;
line(x, y, x, y + 300) ;
ellipse(x, y + 300, 30, 30) ;
line(x, y, x + 50, y + 300) ;
ellipse(x + 50, y + 300, 30, 30) ;
line(x, y, x - 50, y + 300) ;
ellipse(x - 50, y + 300, 30, 30) ;
// origian ball
ellipse(x, y, 30, 30) ;
}
//-----------------------------
void drawGuides() {
stroke(255, 50) ;
strokeWeight(1) ;
// across
line(250, 0, 250, 1000) ;
line(500, 0, 500, 1000) ;
line(750, 0, 750, 1000) ;
// down
line(0, 250, 1000, 250) ;
line(0, 500, 1000, 500) ;
line(0, 750, 1000, 750) ;
// reset stroke
stroke(0) ;
strokeWeight(1) ;
}
Recent Comments