<?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>nklein software &#187; visualization</title>
	<atom:link href="http://nklein.com/tags/visualization/feed/" rel="self" type="application/rss+xml" />
	<link>http://nklein.com</link>
	<description>software development and consulting</description>
	<lastBuildDate>Tue, 22 May 2012 03:48:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Lisp Package Dependencies</title>
		<link>http://nklein.com/2008/10/lisp-package-dependencies/</link>
		<comments>http://nklein.com/2008/10/lisp-package-dependencies/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 23:36:26 +0000</pubDate>
		<dc:creator>pat</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[rt]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://nklein.com/?p=497</guid>
		<description><![CDATA[Some time back, xach posted information about all of the interdependcies amongst the Lisp packages available on Cliki. He had toyed with a few visualization techniques. Me, I tweaked some old code visualization stuff I had written to output where everything was after it stabilized. Then, I tweaked my ray tracer to read that input [...]]]></description>
			<content:encoded><![CDATA[<p>Some time back, <a href="http://xach.livejournal.com/">xach</a> posted information about all of the <a href="http://xach.livejournal.com/192342.html">interdependcies amongst the Lisp packages</a> available on <a href="http://cliki.net/">Cliki</a>.  He had toyed with a few visualization techniques.</p>
<p>Me, I tweaked some old <a href="http://patrickwonders.livejournal.com/31151.html">code visualization stuff</a> I had written to output where everything was after it stabilized.  Then, I tweaked my <a href="http://patrickwonders.livejournal.com/35210.html">ray tracer</a> to read that input and render the output.</p>
<p><span id="more-497"></span></p>
<p>So, start with <a href="http://www.xach.com/tmp/deps.lisp">Xach&#8217;s dependency listing</a> which is a list of lists.  Each sublist is a package name followed by all of the packages it depends upon.</p>
<p><a href="http://nklein.com/wp-content/uploads/2009/06/cliki.png"><img src="http://nklein.com/wp-content/uploads/2009/06/cliki-150x150.png" alt="cliki" title="cliki" width="150" height="150" class="alignright size-thumbnail wp-image-498" /></a></p>
<p>Plop that in my code visualization stuff.  It creates a node for each package and a spring from package A to package B if package A depends upon package B.  Every node repels every other node.  The springs want to keep nodes one unit apart.  Every node is attracted to the origin.  Damp the motion a bit and eventually it all finds a steady state.  Output where all of the springs and all of the nodes are.</p>
<p>Pull this information into the ray tracer.  Draw red spheres at each node. Draw yellow cylinders for each spring.  Put green bands around the parent&#8217;s end of the spring.  Sit the camera in the thick of it all.  Render it with full 360-degree fish eye.</p>
<p>I&#8217;m not too happy with the color scheme here.  But, I&#8217;m done futzing with it for the time being.</p>
<h3>Top matter sorts of stuff&#8230;</h3>
<div class="codecolorer-container lisp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><pre class="lisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span>require <span style="color: #66cc66;">:</span><span style="color: #555;">asdf</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>asdf<span style="color: #66cc66;">:</span><span style="color: #555;">operate</span> 'asdf<span style="color: #66cc66;">:</span><span style="color: #555;">load-op</span> 'cl-openmpi <span style="color: #66cc66;">:</span><span style="color: #555;">verbose</span> <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>asdf<span style="color: #66cc66;">:</span><span style="color: #555;">operate</span> 'asdf<span style="color: #66cc66;">:</span><span style="color: #555;">load-op</span> 'portable-threads <span style="color: #66cc66;">:</span><span style="color: #555;">verbose</span> <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>asdf<span style="color: #66cc66;">:</span><span style="color: #555;">operate</span> 'asdf<span style="color: #66cc66;">:</span><span style="color: #555;">load-op</span> 'com<span style="color: #66cc66;">.</span>nklein<span style="color: #66cc66;">.</span>rt <span style="color: #66cc66;">:</span><span style="color: #555;">verbose</span> <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span>defvar dpd <span style="color: #cc66cc;">5.0</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span>defvar spring-color <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">1.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>defvar band-color <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">1.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div>
<h3>Springs and points</h3>
<div class="codecolorer-container lisp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><pre class="lisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> spring-color-banding <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span>key position<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">plusp</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">cos</span> <span style="color: #66cc66;">&#40;</span>coerce <span style="color: #66cc66;">&#40;</span>* <span style="color: #cc66cc;">8.0</span> pi <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">max</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">aref</span> position <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
			  '<span style="color: #66cc66;">&#40;</span>single-<span style="color: #b1b100;">float</span> -<span style="color: #cc66cc;">10000.0</span> <span style="color: #cc66cc;">10000.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
      spring-color
      band-color<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> draw-spring <span style="color: #66cc66;">&#40;</span>spring<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>start <span style="color: #66cc66;">&#40;</span>first spring<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#40;</span>end <span style="color: #66cc66;">&#40;</span>second spring<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">length</span> <span style="color: #66cc66;">&#40;</span>* <span style="color: #cc66cc;">0.5</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">magnitude</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v-</span> start end<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span>* <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span>+ start end<span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">0.5</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-look-at</span> start
	  <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-scaling</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #b1b100;">length</span> <span style="color: #cc66cc;">0.125</span> <span style="color: #cc66cc;">0.125</span><span style="color: #66cc66;">&#41;</span>
	    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-color</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">c</span> #'spring-color-banding
				 <span style="color: #66cc66;">:</span><span style="color: #555;">diffuseness</span> <span style="color: #cc66cc;">0.8</span>
				 <span style="color: #66cc66;">:</span><span style="color: #555;">specularity</span> <span style="color: #cc66cc;">0.2</span><span style="color: #66cc66;">&#41;</span>
	      <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">cylinder</span> <span style="color: #66cc66;">:</span><span style="color: #555;">round-dimensions</span> '<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> draw-point <span style="color: #66cc66;">&#40;</span>point<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> point
    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-scaling</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.25</span> <span style="color: #cc66cc;">0.25</span> <span style="color: #cc66cc;">0.25</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-color</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">c</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span>
			   <span style="color: #66cc66;">:</span><span style="color: #555;">diffuseness</span> <span style="color: #cc66cc;">1.0</span>
			   <span style="color: #66cc66;">:</span><span style="color: #555;">specularity</span> <span style="color: #cc66cc;">0.1</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">sphere</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div>
<h3>The universe in which these springs sit&#8230;</h3>
<div class="codecolorer-container lisp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><pre class="lisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> my-universe <span style="color: #66cc66;">&#40;</span>springs points<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">universe</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">:</span><span style="color: #555;">spatial-dimensions</span> <span style="color: #cc66cc;">3</span>
		<span style="color: #66cc66;">:</span><span style="color: #555;">color-dimensions</span> <span style="color: #cc66cc;">4</span>
		<span style="color: #66cc66;">:</span><span style="color: #555;">ambient-light</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.3</span> <span style="color: #cc66cc;">0.3</span> <span style="color: #cc66cc;">0.3</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">:</span><span style="color: #555;">sky-color</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.3</span> <span style="color: #cc66cc;">0.5</span> <span style="color: #cc66cc;">0.9</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">;; put some lights out there</span>
    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.0</span> -<span style="color: #cc66cc;">5.0</span> -<span style="color: #cc66cc;">2.0</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">light</span> <span style="color: #66cc66;">:</span><span style="color: #555;">color</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.7</span> <span style="color: #cc66cc;">0.7</span> <span style="color: #cc66cc;">0.7</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">5.0</span> <span style="color: #cc66cc;">4.0</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">light</span> <span style="color: #66cc66;">:</span><span style="color: #555;">color</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.7</span> <span style="color: #cc66cc;">0.7</span> <span style="color: #cc66cc;">0.7</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">;; put the springs and points out there</span>
    <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapc</span> #'draw-spring springs<span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapc</span> #'draw-point points<span style="color: #66cc66;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">;; put some cameras and a backdrop out there</span>
    <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>eye-position <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> -<span style="color: #cc66cc;">1.0</span> <span style="color: #cc66cc;">0.25</span> <span style="color: #cc66cc;">0.75</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
	  <span style="color: #66cc66;">&#40;</span>eye-offset <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">0.25</span> <span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
	  <span style="color: #66cc66;">&#40;</span>aspect <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">1.0</span> <span style="color: #cc66cc;">1.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
	  <span style="color: #66cc66;">&#40;</span>field-of-view <span style="color: #cc66cc;">360.0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> eye-position
	<span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-look-at</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
	  <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span>* eye-offset -<span style="color: #cc66cc;">1.0</span><span style="color: #66cc66;">&#41;</span>
	    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">camera</span> <span style="color: #66cc66;">:</span><span style="color: #b1b100;">name</span> <span style="color: #66cc66;">:</span><span style="color: #555;">main-camera-</span><span style="color: #b1b100;">l</span>
			     <span style="color: #66cc66;">:</span><span style="color: #555;">aspect</span> aspect
			     <span style="color: #66cc66;">:</span><span style="color: #555;">field-of-view</span> field-of-view<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
	  <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-translation</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span>* eye-offset <span style="color: #cc66cc;">1.0</span><span style="color: #66cc66;">&#41;</span>
	    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">camera</span> <span style="color: #66cc66;">:</span><span style="color: #b1b100;">name</span> <span style="color: #66cc66;">:</span><span style="color: #555;">main-camera-r</span>
			     <span style="color: #66cc66;">:</span><span style="color: #555;">aspect</span> aspect
			     <span style="color: #66cc66;">:</span><span style="color: #555;">field-of-view</span> field-of-view<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div>
<h3>Actually rendering the universe&#8230;</h3>
<div class="codecolorer-container lisp blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><pre class="lisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> render-viewpoint <span style="color: #66cc66;">&#40;</span>base-<span style="color: #b1b100;">name</span> extension camera-<span style="color: #b1b100;">name</span> universe<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">name</span> <span style="color: #66cc66;">&#40;</span>make-pathname <span style="color: #66cc66;">:</span><span style="color: #b1b100;">name</span> <span style="color: #66cc66;">&#40;</span>concatenate 'string base-<span style="color: #b1b100;">name</span> extension<span style="color: #66cc66;">&#41;</span>
			     <span style="color: #66cc66;">:</span><span style="color: #555;">type</span> <span style="color: #ff0000;">&quot;png&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#40;</span>format t <span style="color: #ff0000;">&quot;NAME: ~A~%&quot;</span> <span style="color: #b1b100;">name</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">render-png</span> <span style="color: #66cc66;">:</span><span style="color: #555;">dots-per-degree</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> dpd dpd<span style="color: #66cc66;">&#41;</span>
		   <span style="color: #66cc66;">:</span><span style="color: #555;">border</span> <span style="color: #cc66cc;">1</span>
		   <span style="color: #66cc66;">:</span><span style="color: #555;">border-color</span> <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">v</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">0.0</span> <span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span>
		   <span style="color: #66cc66;">:</span><span style="color: #555;">universe</span> universe
		   <span style="color: #66cc66;">:</span><span style="color: #555;">filename</span> <span style="color: #b1b100;">name</span>
		   <span style="color: #66cc66;">:</span><span style="color: #555;">camera-</span><span style="color: #b1b100;">name</span> camera-<span style="color: #b1b100;">name</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> render-universe <span style="color: #66cc66;">&#40;</span>base-<span style="color: #b1b100;">name</span> universe<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>render-viewpoint base-<span style="color: #b1b100;">name</span> <span style="color: #ff0000;">&quot;-l&quot;</span> <span style="color: #66cc66;">:</span><span style="color: #555;">main-camera-</span><span style="color: #b1b100;">l</span> universe<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>render-viewpoint base-<span style="color: #b1b100;">name</span> <span style="color: #ff0000;">&quot;-r&quot;</span> <span style="color: #66cc66;">:</span><span style="color: #555;">main-camera-r</span> universe<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> render-files <span style="color: #66cc66;">&#40;</span>files<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>rt<span style="color: #66cc66;">:</span><span style="color: #555;">with-workers</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">dolist</span> <span style="color: #66cc66;">&#40;</span>filename files<span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>unwind-protect
	   <span style="color: #66cc66;">&#40;</span>with-open-file <span style="color: #66cc66;">&#40;</span>in filename <span style="color: #66cc66;">:</span><span style="color: #555;">direction</span> <span style="color: #66cc66;">:</span><span style="color: #555;">input</span><span style="color: #66cc66;">&#41;</span>
	     <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>springs <span style="color: #66cc66;">&#40;</span>read in <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
		   <span style="color: #66cc66;">&#40;</span>points <span style="color: #66cc66;">&#40;</span>read in <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
		   <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">name</span> <span style="color: #66cc66;">&#40;</span>pathname-<span style="color: #b1b100;">name</span> filename<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
	       <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>uu <span style="color: #66cc66;">&#40;</span>my-universe springs points<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
		 <span style="color: #66cc66;">&#40;</span>render-universe <span style="color: #b1b100;">name</span> uu<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span>render-files <span style="color: #66cc66;">&#40;</span>rest sb-ext<span style="color: #66cc66;">:</span>*posix-argv*<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span>sb-ext<span style="color: #66cc66;">:</span><span style="color: #555;">quit</span><span style="color: #66cc66;">&#41;</span></pre></div>
]]></content:encoded>
			<wfw:commentRss>http://nklein.com/2008/10/lisp-package-dependencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

