perm filename DR.PRT[4,LMM] blob
sn#037542 filedate 1973-04-23 generic text, type T, neo UTF8
(DEFPROP DRFNS (DRFNS DRAWRAD BUMP PUTLINE PUTAT SPLITDIRECTION
DELTAS DELTALIST)
VALUE)
(DEFPROP DRAWRAD (LAMBDA (RAD FROMPOS DIRECTION)
(COND
((NULL (CENTER RAD))
(HELP))
((ATOM (CENTER RAD))
(PUTLINE FROMPOS (SETQ FROMPOS
(BUMP FROMPOS
DIRECTION)))
(PUTAT (CENTER RAD)
FROMPOS)
(FOR NEW ARAD IN (CLEXPAND (ATTACHEDRADS
RAD))
AS NEW NEWDIR IN
(SPLITDIRECTION DIRECTION
(CLCOUNT
(ATTACHEDRADS
RAD)))
DO
(DRAWRAD ARAD FROMPOS NEWDIR)))
(T (HELP))))
EXPR)
(DEFPROP BUMP (LAMBDA (X DIR)
(CONS (PLUS (CAR X)
(CAR DIR))
(PLUS (CDR X)
(CDR DIR))))
EXPR)
(DEFPROP PUTLINE (LAMBDA (POS1 POS2)
(LINE (CAR POS1)
(CDR POS1)
(CAR POS2)
(CDR POS2))
(SHOWIT))
EXPR)
(DEFPROP PUTAT (LAMBDA (AT LOC)
(APT (SCALX (CAR LOC))
(SCALY (CDR LOC))))
EXPR)
(DEFPROP SPLITDIRECTION
(LAMBDA
(DIR N)
(COND
((EQ N 1.0)
(LIST DIR))
(T (FOR NEW DELTPR IN (DELTAS N)
XLIST
(CONS (DIFFERENCE (TIMES (CAR DIR)
(CAR DELTPR))
(TIMES (CDR DIR)
(CDR DELTPR)))
(PLUS (TIMES (CDR DIR)
(CAR DELTPR))
(TIMES (CAR DIR)
(CDR DELTPR))))))))
EXPR)
(DEFPROP DELTAS (LAMBDA (N)
(COND ((SETQ N (NTH DELTALIST (SUB1 N)))
(CAR N))
(T (HELP "FIXUP DELTALIST"))))
EXPR)
(DEFPROP DELTALIST (DELTALIST ((.7071068 . .7071068)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(0.999999 . 0.0)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.9659258 . .258819)
(.9659258 . -.258819)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.9238795 . .3826834)
(0.999999 . 0.0)
(.9238795 . -.3826834)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.8910065 . .4539905)
(.9876883 . .1564345)
(.9876883 . -.1564345)
(.8910065 . -.4539905)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.8660254 . .5)
(.9659258 . .258819)
(0.999999 . 0.0)
(.9659258 . -.258819)
(.8660254 . -.5)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.8467242 . .5320321)
(.9438833 . .330279)
(.9937122 . .1119645)
(.9937122 . -.1119645)
(.9438833 . -.3302791)
(.8467242 . -.5320321)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.8314696 . .5555702)
(.9238795 . .3826834)
(.9807853 . .1950903)
(0.999999 . 0.0)
(.9807853 . -.1950903)
(.9238795 . -.3826834)
(.8314696 . -.5555702)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.819152 . .5735764)
(.9063078 . .4226183)
(.9659258 . .258819)
(.9961947 . .08715574)
(.9961947 . -.08715574)
(.9659258 . -.258819)
(.9063078 . -.4226183)
(.819152 . -.5735764)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.809017 . .5877852)
(.8910065 . .4539905)
(.9510565 . .309017)
(.9876883 . .1564345)
(0.999999 . 7.45058E-9)
(.9876883 . -.1564345)
(.9510565 . -.309017)
(.8910065 . -.4539905)
(.809017 . -.5877852)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.8005412 . .5992777)
(.877679 . .479249)
(.9369497 . .3494642)
(.9771468 . .2125653)
(.9974521 . .07133918)
(.9974521 . -.07133918)
(.9771468 . -.2125653)
(.9369497 . -.3494642)
(.877679 . -.479249)
(.8005412 . -.5992777)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.7933533 . .6087614)
(.8660254 . .5)
(.9238795 . .3826834)
(.9659258 . .258819)
(.9914448 . .1305262)
(0.999999 . 0.0)
(.9914448 . -.1305262)
(.9659258 . -.258819)
(.9238795 . -.3826834)
(.8660254 . -.5)
(.7933533 . -.6087614)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.7871835 . .6167189)
(.8557813 . .5173378)
(.9118998 . .4104128)
(.9547208 . .297503)
(.9836199 . .180255)
(.9981755 . .0603785)
(.9981755 . -.0603785)
(.9836199 . -.180255)
(.9547208 . -.2975031)
(.9118998 . -.4104128)
(.8557813 . -.5173378)
(.7871835 . -.6167189)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.7818315 . .6234898)
(.8467242 . .5320321)
(.9009689 . .4338837)
(.9438833 . .330279)
(.9749279 . .2225209)
(.9937122 . .1119645)
(0.999999 . 0.0)
(.9937122 . -.1119645)
(.9749279 . -.2225209)
(.9438833 . -.3302791)
(.9009688 . -.4338837)
(.8467242 . -.5320321)
(.7818315 . -.6234898)
(.7071068 . -.7071068))
((.7071068 . .7071068)
(.7771459 . .6293204)
(.8386705 . .544639)
(.8910065 . .4539905)
(.9335804 . .3583679)
(.9659258 . .258819)
(.9876883 . .1564345)
(.9986295 . .05233595)
(.9986295 . -.05233596)
(.9876883 . -.1564345)
(.9659258 . -.258819)
(.9335804 . -.3583679)
(.8910065 . -.4539905)
(.8386705 . -.544639)
(.7771459 . -.6293204)
(.7071068 . -.7071068)))
VALUE)
(DEFPROP DELTALIST T SPECIAL)
STOP