🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.rec.misc
Article #71

Random Dot 3D part II

#71
From: Tadao Matsuura
Date: Tue, 28 Jul 1992 04:43
556 lines
25090 bytes
$@>>1:!w%7%c!<%W$G$9!#(J

Random Dot Stereogram $@$N?7HG%W%m%0%i%`$,0l1~$G$-$?$N$G(J
$@Ej9F$7$^$9!#(J

$@:#2s$O9b$5$O(J -128~127($@$9$J$o$A(J signed char)$@$KBP1~$7$F$$$^$9!#$H8@$&Lu$GF~(J
$@NO%G!<%?$O(J XBM $@$G$O$"$j$^$;$s!#$?$@$7$"$^$j9b$$%G!<%?$O;n$7$F$$(J$@$J$$$N$G$*(J
$@$+$7$/$J$k$3$H$,$"$k$+$bCN$l$^$;$s!#(J

$@%G!<%?$O#19T$a$KI}$H9b$5!"#29TL\0J9_$O$Y$?$G(J char $@%G(J$@!<%?$NMeNs$H$$$&7A$r(J
$@$H$j$^$9!#(J $@8e$K$D$1$k%G!<%?%U%!%$%k$r;29M$K$7$F2<$5$$!#(J

$@=PNO$O(J XBM $@7A<0$G$9!#(Jxv $@$J$I$G8+$F2<$5$$!#(J

$@$^$?L>A0$J$IF~$l$d$9$$$h$&$K(J XBM $@$r<h$j9~$`5!G=$b$D$1$^$7$?!#(J
$@;H$$J}$O<!$N$h$&$K(J$@$J$j$^$9!#(J

rdsm [-r Dot_ratio -d dvide_num -b xbm_file -o x_off,y_off] < in_file > out_file

$@%*%W%7%g(J$@%s!'(J
	-r  $@A4LL@Q$KBP$7$F%I%C%H$rBG$D3d9g!##0$+$i#1Kx$N<B?t!#%G%U%)%k%H(J=0.6
	-d  $@J,3d?t!#(J $@?^$r=D$K$$$/(J$@$D$KJ,3d$9$k$+!#%G%U%)%k%H(J=4
	-b  $@<h$j9~$`(J XBM $@%U%!%$%kL>!#(J
	-o  XBM$@%U%!%$%k$rF~$l$k0LCV$N%*%U%;%C%H!#(J$@%G%U%)%k%H(J=0,0

$@Nc$H$7$F%G!<%?(J cir $@$b$D$1$F$*$-$^$9!#(J compress + uuencode $@$G$9!#(J
$@$H$j$"$($:$O(J
  rdsm < cir >cir.xbm
$@$G3($,$G$-$^$9!#9u$N;M3Q7A$r2<$K$7$F8+$F2<$5$$!#(J

$@LLGr$$3($,$G$-$?$iEj9F$7$FD:$1$k$H4r(J$@$7$$$G$9(J:-)

Have fun.
-----------------------------------------------rdsm.c
/*
  Random Dot Stereogram maker
							by T.Matsuura 92.6.16
							Modified for SUN 92.6.18
							for multi height 92.7.27
							for XBM include  92.7.28
*/

#define SYSV

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>

#define DOTS_RATIO 0.6

#define DIVS 4

main(argc,argv)
	 int argc;
	 char *argv[];
{

	int i,j,h_width,h_height,hm_width,hm_height,dots,xbm_size,bwidth,x,xx,y,yy,ym,mv;
	int	h,l,r,div,delta,d_width;
	int h_size,hm_size,rd_size,bm_width;
	float dots_ratio;
	char *h_data,*xbm,*rd,fname[50],*i_xbm,t1[50],t2[50];
	int i_width,i_height,i_bwidth,i_size,i_flag,i_xoff,i_yoff,temp;
	FILE *fp;

	srand(getpid());

	dots_ratio = DOTS_RATIO;		/* Default value */
	div = DIVS;					/* Default value */
	i_flag = 0;
	i_xoff = i_yoff = 0;
	i = 1;
	while(--argc > 0) {
		argv++;
		if (*argv[0] == '-') {
			switch (*((*argv) +1)) {
			case 'r': sscanf(*++argv,"%f",&dots_ratio);
				argc--;
				break;
			case 'd': sscanf(*++argv,"%d",&div);
				argc--;
				break;
			case 'b': sscanf(*++argv,"%s",fname);
				argc--;
				if ((fp=fopen(fname,"r")) == 0) error("rdsm:Can't read the file.\n");
				else i_flag = 1;
				break;
			case 'o':sscanf(*++argv,"%d,%d",&i_xoff,&i_yoff);
				argc--;
				break;
			case 'h':
			default: error("Usage: rdsm [-r b_w_ratio(default 0.5)]\n            [-d dvide_foctor(default 5)]\n            [-b include_xbm_filename]\n            [-o include_xbm_X_offset,include_xbm_Y_offset]\n            < in-file > out-file\n");
			}
		}
	}
	if (i_flag == 1) {
		fscanf(fp,"%s %s %d",t1,t2,&i_width);
		fscanf(fp,"%s %s %d",t1,t2,&i_height);
		i_bwidth = ((i_width-1)/8+1);
		i_size = i_bwidth*i_height;
		if ((i_xbm = malloc((size_t)i_size)) == 0) error("Not enough memory.\n");
		while(getc(fp) != '{');
		i=0;
		for (y=i_height;y>0;y--) {
			for (x=i_bwidth;x>0;x--) {
				fscanf(fp,"%i,",&temp);
				*(i_xbm + i++) = temp;
			}
		}
		fclose(fp);
#ifdef DEBUG
	fprintf(stderr,"Read XBM file.\n");
#endif

	}
	scanf("%d %d",&h_width,&h_height);getchar();
	h_size = h_width * h_height;
	hm_width = h_width + (delta = (h_width / div));
	hm_height = h_height+10;
	hm_size = hm_width * hm_height;
	dots = (int)((float)delta * (float)h_height * dots_ratio);

#ifdef DEBUG
	fprintf(stderr,"%d %d %d delta:%d\n",h_width,h_height,dots,delta);
#endif

	bwidth = ((hm_width-1)/8+1);
	xbm_size = bwidth*hm_height;
	d_width = ((delta-1)/8+1);
	rd_size = d_width*h_height;
	if ((h_data = malloc((size_t)h_size)) == 0) error("Not enough memory.\n");
	if ((xbm = malloc((size_t)xbm_size)) == 0) error("Not enough memory.\n");
	if ((rd = malloc((size_t)rd_size)) == 0) error("Not enough memory.\n");

	for (i=xbm_size;i>0;i--) {
		*(xbm+i) = 0;
	}

	for (i=rd_size;i>0;i--) {
		*(rd+i) = 0;
	}

	/* Read in Height data */
	i=0;
	for (y=0;y<h_height;y++) {
		for (x=0;x<h_width;x++) {
			*(h_data + i) = getchar();
			i++;
		}
	}
		
#ifdef DEBUG
	fprintf(stderr,"Read Data.\n");
#endif

	if (i_flag == 1) { /* Include XBM file */
		for (y=0;y<i_height;y++) {
			for (x=0;x<i_width;x++) {
				if (check(i_xbm,i_bwidth,x,y) ==1)
					if((x+i_xoff)<h_width && (y+i_yoff)<h_height)
						*(h_data + x+i_xoff + (y+i_yoff)*h_width) += 2;
			}
		}
	}
	/* Make XBM */
	for (i=dots;i>0;i--) {
#ifdef SYSV
		x = rand() %   delta; 
		y = rand() % h_height;
#else 
		x = random() %   delta; 
		y = random() % h_height;
#endif
		point(xbm,bwidth,x,y,1);
	}
	for (i=0;i<div;i++) {
		h = i*delta;
		l = (i+1)*delta;
		for (y=0;y<h_height;y++) {
			yy = y*h_width;
			for (x=0;x<delta;x++) {
				mv = *(h_data + x+h + yy);
				if (x+mv > delta) point(xbm,bwidth,x+l,y,check(xbm,bwidth,x+h+mv,y));
				else point(xbm,bwidth,x+l,y,check(xbm,bwidth,x+h+mv,y));
			}
		}
	}

	for (y=1;y<=10;y++) {
		for (x=0;x<10;x++) {
			point(xbm,bwidth,x+(hm_width+delta-10)/2,hm_height-y,1);
			point(xbm,bwidth,x+(hm_width-delta-10)/2,hm_height-y,1);
		}
	}
	
#ifdef DEBUG
	fprintf(stderr,"Made XBM.\n");
#endif

	printf("#define RDS_width  %d\n",hm_width);
	printf("#define RDS_height %d\n",hm_height);
	printf("static char RDS_bits[] = {\n");
	l =0;
	for (y = 0;y < hm_height;y++) {
		for (x = 0;x < bwidth;x++) {
			printf("0x%02x, ",(char)*(xbm + l++) & 0x0ff);
		}
	}
	printf("\b\b}\n");
}

error(msg)
	 char *msg;
{
	fprintf(stderr,"%s",msg);
	exit(0);
}

point(dots,bwidth,x,y,c)
	 char dots[];
	 int bwidth,x,y;
	 char c;
{
	int pos,bit;
	char dat,mask;

	x = x<0 ? 0 : x;
	pos = (x/8)+y*bwidth;
	bit = x % 8;

	mask = ((char)1 << bit);
	dat = dots[pos];
	if (c == 0) dat &= ~mask;
	else dat |= mask;
	dots[pos] = dat;
}

int check(dots,bwidth,x,y)
	 char dots[];
	 int bwidth,x,y;
{
	int pos,bit;
	char dat,mask;

	pos = (x/8)+y*bwidth;
	bit = x % 8;

	mask = ((char)1 << bit);
	dat = dots[pos];
	return ((dat & mask) !=0 ? (int)1 : (int)0);
}

skip(c)
	 char c;
{
	while (c != getchar());
}
----------------------------------------------------rdsm.c
----------------------------------------------------cir.Z.uu
begin 644 cir.Z
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
!!1?^
`
end
------------------------------------------------------cir.Z.uu
--

------------
        $@!C(J
$@!?(J  $@!@(J -$@!\!](J
   $@!@(J  /$@!C!@(J
$@!?!]!](J  $@!C(J   T.M.
Technical Details
Message-ID: <MATSU.92Jul28134301@hp_vnt.crl-im.sharp.co.jp>
Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!sh.wide!wnoc-kyo!icspub!creamy!shpymt!islix!shpcsl!fripp!fripp!matsu

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!sh.wide!wnoc-kyo!icspub!creamy!shpymt!islix!shpcsl!fripp!fripp!matsu
From: matsu@crl-im.sharp.co.jp (Tadao Matsuura)
Newsgroups: fj.rec.misc,fj.comp.image
Subject: Random Dot 3D part II
Message-ID: <MATSU.92Jul28134301@hp_vnt.crl-im.sharp.co.jp>
Date: 28 Jul 92 04:43:01 GMT
Sender: news@crl-im.sharp.co.jp
Distribution: fj
Organization: Sharp co. Tenri, Japan.
Lines: 556
Nntp-Posting-Host: hp_vnt