<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?action=history&amp;feed=atom&amp;title=GMU%3AEinf%C3%BChrung_ins_Programmieren_mit_Processing%2Ffinal%2FElastic_Lace</id>
	<title>GMU:Einführung ins Programmieren mit Processing/final/Elastic Lace - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?action=history&amp;feed=atom&amp;title=GMU%3AEinf%C3%BChrung_ins_Programmieren_mit_Processing%2Ffinal%2FElastic_Lace"/>
	<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Elastic_Lace&amp;action=history"/>
	<updated>2026-04-16T16:33:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Elastic_Lace&amp;diff=35830&amp;oldid=prev</id>
		<title>Ktrin: Created page with &quot;= Elastic Lace =  Recently a good friend of mine asked me to design a Web site for her small business for hand-made slips (thin skirts that are worn under other skirts). She line...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Elastic_Lace&amp;diff=35830&amp;oldid=prev"/>
		<updated>2011-12-14T17:32:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Elastic Lace =  Recently a good friend of mine asked me to design a Web site for her small business for hand-made slips (thin skirts that are worn under other skirts). She line...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Elastic Lace =&lt;br /&gt;
&lt;br /&gt;
Recently a good friend of mine asked me to design a Web site for her small business for hand-made slips (thin skirts that are worn under other skirts). She lines her slips with lace and so, having recently worked with many images of lace for the Web site, I thought to try to program a lace pattern for this project in Processing.&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_mertz_elasticLace.jpg|right|thumb|150px|]]&lt;br /&gt;
&lt;br /&gt;
Lace patterns can be infinitely complex, but I wanted to try to achieve something simple with some transparency and with the appearance that it is resting on the body. Because lace is a mixture of knots and weavings at different intervals, I thought to try to utilize a few overlapping trigonometric functions at different frequencies. After a few experiments, I came up with something that is akin to lace, but also appeared like something biological, like a layer of blood vessels lying just under the skin. &lt;br /&gt;
&lt;br /&gt;
The final image recalls something in-between lace and blood vessels – something that lies just above and just below the skin.&lt;br /&gt;
[http://www.tjcrawford.com/wp-content/uploads/image/bodies-revealed-blood-vessels.jpg &amp;gt;&amp;gt; bodies revealed blood vessels]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_dianna.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float angle = 3.0;&lt;br /&gt;
float speed = 0.05;&lt;br /&gt;
float beginX = 20.0; // Initial x-coordinate&lt;br /&gt;
float beginY = 10.0; // Initial y-coordinate&lt;br /&gt;
float endX = 1500.0; // Final x-coordinate&lt;br /&gt;
float endY = 1500.0; // Final y-coordinate&lt;br /&gt;
float distX; // X-axis distance to move&lt;br /&gt;
float distY; // Y-axis distance to move&lt;br /&gt;
float exponent = 3.4; // Determines the curve&lt;br /&gt;
float x = 0.0; // Current x-coordinate&lt;br /&gt;
float y = 0.0; // Current y-coordinate&lt;br /&gt;
float step = 0.001; // Size of each step along the path&lt;br /&gt;
float pct = 0.0; // Percentage traveled (0.0 to 1.0)&lt;br /&gt;
&lt;br /&gt;
float radius = 30.0; // Range of motion&lt;br /&gt;
float sx = 2.0;&lt;br /&gt;
float sy = 2.0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(650, 650);&lt;br /&gt;
  strokeWeight(1);&lt;br /&gt;
  fill(234, 90, 90, 114);&lt;br /&gt;
  smooth();&lt;br /&gt;
  distX = endX - beginX;&lt;br /&gt;
  distY = endY - beginY;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //fill(234,90,90,114);&lt;br /&gt;
  angle = angle + speed;&lt;br /&gt;
  pct += step;&lt;br /&gt;
  if (pct &amp;lt; 1.0) {&lt;br /&gt;
    x = beginX + (pct * distX);&lt;br /&gt;
    y = beginY + (pow(pct, exponent) * distY);&lt;br /&gt;
  }&lt;br /&gt;
  fill(234, 90, 90, 14);&lt;br /&gt;
  for (int i = 0; i &amp;lt; 600; i = i+90) {&lt;br /&gt;
    ellipse(x+i, y+i, (sin(angle + PI) * 5*i), 800);&lt;br /&gt;
    stroke(255);&lt;br /&gt;
    ellipse(x+i, y+i, (cos(angle + PI/8) * 5*i), 800);&lt;br /&gt;
    stroke(234, 190, 190, 14);&lt;br /&gt;
  }&lt;br /&gt;
  for (int w = 0; w &amp;lt; 600; w = w+45) {&lt;br /&gt;
    ellipse(x+w, y+w, (sin(angle + PI/4) * 4*w), 800);&lt;br /&gt;
    //stroke(255);&lt;br /&gt;
    ellipse(x+w, y+w, (cos(angle + PI/4) * 4*w), 800);&lt;br /&gt;
    stroke(66, 33, 133, 34);&lt;br /&gt;
    strokeWeight(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
</feed>