line.c

来自「操作系统SunOS 4.1.3版本的源码」· C语言 代码 · 共 50 行

C
50
字号
#ifndef lintstatic	char sccsid[] = "@(#)line.c 1.1 92/07/30 SMI"; /* from UCB 4.1 6/27/83 */#endif#include "con.h"line(x0,y0,x1,y1){	iline(xconv(xsc(x0)),yconv(ysc(y0)),xconv(xsc(x1)),yconv(ysc(y1)));		return;}cont(x0,y0){	iline(xnow,ynow,xconv(xsc(x0)),yconv(ysc(y0)));	return;}iline(cx0,cy0,cx1,cy1){	int maxp,tt,j,np;	char chx,chy;	float xd,yd;	float dist2(),sqrt();		movep(cx0,cy0);		maxp = sqrt(dist2(cx0,cy0,cx1,cy1))/2.;		xd = cx1-cx0;		yd = cy1-cy0;		if(xd >= 0)chx = RIGHT;		else chx = LEFT;		if(yd >= 0)chy = UP;		else chy = DOWN;		if(maxp==0){			xd=0;			yd=0;		}		else{			xd /= maxp;			yd /= maxp;		}		inplot();		for (tt=0; tt<=maxp; tt++){			j= cx0+xd*tt-xnow;			xnow += j;			j = abval(j);			while(j-- > 0)spew(chx);			j = cy0+yd*tt-ynow;			ynow += j;			j = abval(j);			while(j-- > 0)spew(chy);			spew ('.');		}		outplot();		return;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?