SV: Capacity of the brain

Kragen Sitaker kragen at dnaco.net
Sat Sep 25 01:09:06 EST 1999


In article <FILH49.DMp at world.std.com>,
Joseph H Allen <jhallen at world.std.com> wrote:
>Then there's Chinese flat perspective paintings.... someday I'm going to
>build a Chinese painting camera.  I envision some kind of autofocus
>telescope with a single pixel imaging device mounted to a big X/Y table. 
>You scan the "image" by moving the telescope (but the telescope is always
>perpendicular to the table).  Everything depicted in the resulting image is
>"actual size" and the viewer is not forced to accept the single
>European/fascist point of view decided upon by the artist :-)

It sounds like you're talking about orthographic projections.  You can
approximate the effect quite closely simply by taking a photo from a
long way off and using a long lens.

Is there a mirror configuration that would give the same effect?
Perhaps a large parabolic mirror with a pinhole lens at the focus?

>/*  jhallen at world.std.com (192.74.137.5) */               /* Joseph H. Allen */
>int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
>+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
>]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

This maze program was an inspiration to me.  I modified it for a
50-line screen.  Later, I wrote a 'finger' program, a chat server, a
chat client, an ASCII turtle-graphics renderer, and a turtle-graphics
L-system fractal program, each to fit inside a .signature.  I posted
each of them to my kragen-hacks mailing list (which can be subscribed
to at kragen-hacks-subscribe at kragen.dnaco.net).

Here are the chat client and server.

Client:
char a[99]="  KJ";main(int c,char**v){int s=socket(2,1,0);char*p,*t=strchr(*++v
,'@'),*o=a+4;*(short*)a=2;p=t;while(*p)(*p++&48)-48?*o++=atoi(p):0;connect(s,a,
16);strncpy(a,v[1],7);a[7]=':';a[8]=32;if(fork())while((c=read(0,a+9,90))>0)(
write(s,a,c+9)>0)||exit(0);else while((c=read(s,a,99))>0)write(1,a,c);}

(more info at http://pobox.com/~kragen/puzzle3.html)

Server:
/* By Kragen Sitaker, http://pobox.com/~kragen/puzzle2.html */
char a[99]="  KJ",d[999][16];main(){int s=socket(2,1,0),n=0,z,l,i;*(short*)a=2;
if(!bind(s,a,16))for(;;){z=16;if((l=recvfrom(s,a,99,0,d[n],&z))>0){for(i=0;i<n;
i++){z=(memcmp(d[i],d[n],8))?z:0;while(sendto(s,a,l,0,d[i],16)<0);}z?n++:0;}}}

(If you want to run these on Linux, be aware that you need to change
the second argument of socket() from 1 to 2.)
-- 
<kragen at pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Thu Sep 23 1999
46 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>



More information about the Neur-sci mailing list