<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>X-Combinator &#187; processing</title>
	<atom:link href="http://www.xcombinator.com/category/processing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xcombinator.com</link>
	<description>making the human scalable</description>
	<lastBuildDate>Thu, 09 Sep 2010 03:46:53 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>creating circular drop-shadows with processing</title>
		<link>http://www.xcombinator.com/2008/02/17/creating-circular-drop-shadows-with-processing/</link>
		<comments>http://www.xcombinator.com/2008/02/17/creating-circular-drop-shadows-with-processing/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 04:27:11 +0000</pubDate>
		<dc:creator>Nate Murray</dc:creator>
				<category><![CDATA[processing]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.xcombinator.com/2008/02/17/creating-circular-drop-shadows-with-processing/</guid>
		<description><![CDATA[Here is an example of a simple way to do circular drop-shadows in Processing. 



You can view the interactive demo here.
Read more for the source code.


/* ================================================================================
 *          file:  simple_shadow_one.pde
 *   description:  A simple circular shadow with controls
 *  dependencies:  [...]]]></description>
			<content:encoded><![CDATA[<p>Here is an example of a simple way to do circular drop-shadows in Processing. </p>
<p><a href="http://www.xcombinator.com/processing/simple_shadow_one/index.html"><br />
<img src='http://www.xcombinator.com/wp-content/uploads/2008/02/picture-1.png' alt='screenshot of drop-shadow maker' border="0" /><br />
</a></p>
<p>You can view the <a href="http://www.xcombinator.com/processing/simple_shadow_one/index.html">interactive demo here</a>.</p>
<p>Read more for the source code.<br />
<span id="more-28"></span></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/* ================================================================================
 *          file:  simple_shadow_one.pde
 *   description:  A simple circular shadow with controls
 *  dependencies:  controlP5 - http://www.sojamo.de/controlP5/ (Andreas Schlegel)
 *        author:  Nate Murray, &lt;nate@natemurray.com&gt;
 *       version:  0.1
 *       created:  02/17/08 14:37:55 PST
 * =============================================================================== */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">controlP5.*</span><span style="color: #339933;">;</span>
ControlP5 controlP5<span style="color: #339933;">;</span>
&nbsp;
ShadowBall b<span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">boolean</span> showBall <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
  smooth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  noStroke<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// setu up our initial controls</span>
  controlP5 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ControlP5<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  controlP5.<span style="color: #006633;">addSlider</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;diameter&quot;</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">300</span>,<span style="color: #cc66cc;">180</span>,<span style="color: #cc66cc;">30</span>,height<span style="color: #339933;">-</span><span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  controlP5.<span style="color: #006633;">addSlider</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;steps&quot;</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">500</span>,<span style="color: #cc66cc;">60</span>,<span style="color: #cc66cc;">30</span>,height<span style="color: #339933;">-</span><span style="color: #cc66cc;">45</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  controlP5.<span style="color: #006633;">addSlider</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;alpha&quot;</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">20</span>,<span style="color: #cc66cc;">7</span>,<span style="color: #cc66cc;">30</span>,height<span style="color: #339933;">-</span><span style="color: #cc66cc;">60</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  controlP5.<span style="color: #006633;">addSlider</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;distance&quot;</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">30</span>,height<span style="color: #339933;">-</span><span style="color: #cc66cc;">75</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  controlP5.<span style="color: #006633;">addKnob</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;angle&quot;</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,<span style="color: #cc66cc;">90</span>,width<span style="color: #339933;">-</span><span style="color: #cc66cc;">110</span>,height<span style="color: #339933;">-</span><span style="color: #cc66cc;">70</span>,<span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setId</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// this control sets the showBall variable directly</span>
  <span style="color: #666666; font-style: italic;">// for some reason it doesn't work in an embedded applet though.</span>
  <span style="color: #666666; font-style: italic;">// controlP5.addToggle(&quot;showBall&quot;,true,width-50,height-50,20,20);</span>
&nbsp;
  b <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ShadowBall<span style="color: #009900;">&#40;</span>width<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, height<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// b.shadowColor = #E6FF00; // change this if you want a different color</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">53</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  b.<span style="color: #006633;">draw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Our main controller for the controlP5 events</span>
<span style="color: #000066; font-weight: bold;">void</span> controlEvent<span style="color: #009900;">&#40;</span>ControlEvent theEvent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">switch</span><span style="color: #009900;">&#40;</span>theEvent.<span style="color: #006633;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">id</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">case</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
      b.<span style="color: #006633;">shadowDiameter</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>theEvent.<span style="color: #006633;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">case</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
      b.<span style="color: #006633;">shadowSteps</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>theEvent.<span style="color: #006633;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>  
    <span style="color: #000000; font-weight: bold;">case</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
      b.<span style="color: #006633;">alphaStep</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>theEvent.<span style="color: #006633;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>  
    <span style="color: #000000; font-weight: bold;">case</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
      b.<span style="color: #006633;">shadowDistance</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>theEvent.<span style="color: #006633;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>  
    <span style="color: #000000; font-weight: bold;">case</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
      b.<span style="color: #006633;">shadowAngle</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>theEvent.<span style="color: #006633;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">value</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>  
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// A basic ball class to track the main ellipse</span>
<span style="color: #000000; font-weight: bold;">class</span> Ball <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">float</span> x, y<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">float</span> diameter<span style="color: #339933;">;</span>
&nbsp;
  Ball<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> xin, <span style="color: #000066; font-weight: bold;">float</span> yin, <span style="color: #000066; font-weight: bold;">float</span> din<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    x <span style="color: #339933;">=</span> xin<span style="color: #339933;">;</span>
    y <span style="color: #339933;">=</span> yin<span style="color: #339933;">;</span>
    diameter <span style="color: #339933;">=</span> din<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> 
&nbsp;
  <span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ellipse<span style="color: #009900;">&#40;</span>x, y, diameter, diameter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> ShadowBall <span style="color: #000000; font-weight: bold;">extends</span> Ball <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">int</span> shadowSteps<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">float</span> shadowDiameter<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">float</span> shadowDistance<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">float</span> shadowAngle<span style="color: #339933;">;</span>
  color shadowColor<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> alphaStep<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// A simple ball with some default values</span>
  ShadowBall<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> xin, <span style="color: #000066; font-weight: bold;">float</span> yin, <span style="color: #000066; font-weight: bold;">float</span> din<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span>xin, yin, din<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    shadowDiameter <span style="color: #339933;">=</span> din <span style="color: #339933;">*</span> <span style="color: #cc66cc;">1.2</span><span style="color: #339933;">;</span>
    shadowSteps <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span>
    shadowDistance <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    shadowAngle <span style="color: #339933;">=</span> <span style="color: #cc66cc;">90</span><span style="color: #339933;">;</span>
    alphaStep <span style="color: #339933;">=</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">;</span>
    shadowColor <span style="color: #339933;">=</span> color<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> 
&nbsp;
  ShadowBall<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> xin, <span style="color: #000066; font-weight: bold;">float</span> yin, <span style="color: #000066; font-weight: bold;">float</span> din, <span style="color: #000066; font-weight: bold;">float</span> sdin, <span style="color: #000066; font-weight: bold;">int</span> sstepsin, 
         <span style="color: #000066; font-weight: bold;">float</span> sdistin, <span style="color: #000066; font-weight: bold;">float</span> sanglein, <span style="color: #000066; font-weight: bold;">int</span> astepin<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span>xin, yin, din<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    shadowDiameter <span style="color: #339933;">=</span> sdin<span style="color: #339933;">;</span>
    shadowSteps <span style="color: #339933;">=</span> sstepsin<span style="color: #339933;">;</span>
    shadowDistance <span style="color: #339933;">=</span> sdistin<span style="color: #339933;">;</span>
    shadowAngle <span style="color: #339933;">=</span> sanglein<span style="color: #339933;">;</span>
    alphaStep <span style="color: #339933;">=</span> astepin<span style="color: #339933;">;</span>
    shadowColor <span style="color: #339933;">=</span> color<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> 
&nbsp;
  <span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    drawShadow<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// NOTE if take this out if you are going to reuse this class. This is just</span>
    <span style="color: #666666; font-style: italic;">// here to show the shadow alone.</span>
    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>showBall<span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">draw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// Draw the shadow</span>
  <span style="color: #000066; font-weight: bold;">void</span> drawShadow<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">float</span> new_di <span style="color: #339933;">=</span> shadowDiameter<span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">float</span> stepSize <span style="color: #339933;">=</span> shadowDiameter <span style="color: #339933;">/</span> shadowSteps<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// for each shadowStep we want to draw...</span>
    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> shadowSteps<span style="color: #339933;">;</span> i <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #666666; font-style: italic;">// create a new color for this ring based on the shadowColor</span>
      color col <span style="color: #339933;">=</span> color<span style="color: #009900;">&#40;</span>red<span style="color: #009900;">&#40;</span>shadowColor<span style="color: #009900;">&#41;</span>, 
                      green<span style="color: #009900;">&#40;</span>shadowColor<span style="color: #009900;">&#41;</span>,
                       blue<span style="color: #009900;">&#40;</span>shadowColor<span style="color: #009900;">&#41;</span>, alphaStep<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      fill<span style="color: #009900;">&#40;</span>col<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// translate our origin to be the center of the circle. Rotate it by the</span>
      <span style="color: #666666; font-style: italic;">// angle and then draw our shadow.</span>
      pushMatrix<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      translate<span style="color: #009900;">&#40;</span>x, y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      rotate<span style="color: #009900;">&#40;</span>radians<span style="color: #009900;">&#40;</span>shadowAngle<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">float</span> the_x <span style="color: #339933;">=</span> shadowDistance<span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">float</span> the_y <span style="color: #339933;">=</span> shadowDistance<span style="color: #339933;">;</span>
      ellipse<span style="color: #009900;">&#40;</span>the_x, the_y, stepSize<span style="color: #339933;">*</span>i, stepSize<span style="color: #339933;">*</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      popMatrix<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Share:</p>
<p>	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F&amp;title=creating%20circular%20drop-shadows%20with%20processing&amp;notes=Here%20is%20an%20example%20of%20a%20simple%20way%20to%20do%20circular%20drop-shadows%20in%20Processing.%20%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%0D%0AYou%20can%20view%20the%20interactive%20demo%20here.%0D%0A%0D%0ARead%20more%20for%20the%20source%20code.%0D%0A%0D%0A%0D%0A%0D%0A%2F%2A%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D" title="del.icio.us"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F&amp;title=creating%20circular%20drop-shadows%20with%20processing" title="Reddit"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F" title="Technorati"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://twitter.com/home?status=creating%20circular%20drop-shadows%20with%20processing%20-%20http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F" title="Twitter"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F&amp;t=creating%20circular%20drop-shadows%20with%20processing" title="Facebook"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F&amp;title=creating%20circular%20drop-shadows%20with%20processing&amp;annotation=Here%20is%20an%20example%20of%20a%20simple%20way%20to%20do%20circular%20drop-shadows%20in%20Processing.%20%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%0D%0AYou%20can%20view%20the%20interactive%20demo%20here.%0D%0A%0D%0ARead%20more%20for%20the%20source%20code.%0D%0A%0D%0A%0D%0A%0D%0A%2F%2A%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D" title="Google Bookmarks"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F&amp;t=creating%20circular%20drop-shadows%20with%20processing" title="HackerNews"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.xcombinator.com%2F2008%2F02%2F17%2Fcreating-circular-drop-shadows-with-processing%2F&amp;partner=sociable" title="PDF"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a><br />
	<a rel="nofollow"  href="http://www.xcombinator.com/feed/" title="RSS"><img src="http://www.xcombinator.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></p>
<p><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xcombinator.com/2008/02/17/creating-circular-drop-shadows-with-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.653 seconds -->
