T
HE
P
AST
M
ASTER
C
LUB
PASCAL'S CONCOID
MORE PICTURES
'' **
REM NICK VAN VLIET BOx 92544 CALTON, RPO, TORONTO, ONT M5A 3G9 921-4653
REM MAY 12/2000 PASCAL.BAS
DEFDBL A-Z 'DOUBLE
DECLARE SUB Lineq (x0, y0, xx, yy)
DECLARE SUB Frontq ()
CONST True = -1 'LOGIC TRUE
CONST False = NOT True 'LOGIC FALSE
CONST pi = 3.141592654# 'PI /7 = 0.44880 4 * ATN(1#) SEE LAST LINE
CONST mx = 319 '3200x200 #13 640x400 #12
CONST my = 199
COMMON SHARED x0, y0, xx, yy, a, r
SCREEN 13 '320x200 256 colors
COLOR 15
LINE (1, 1)-(mx, my), 15, B: INPUT U$
CLS
OPEN "o", #1, "c:\1cad\key\pascal.dxf"
Frontq
PRINT #1, "0" 'header=
PRINT #1, "TEXT"
PRINT #1, "8"
PRINT #1, "LY1" 'layer=
PRINT #1, "62"
PRINT #1, "2" 'clr=4
PRINT #1, "10"
PRINT #1, 0! 'x0=
PRINT #1, "20"
PRINT #1, 0! 'y0=
PRINT #1, "40"
PRINT #1, .00444505405# 'scale=
PRINT #1, "41"
PRINT #1, .8# 'spacing=
PRINT #1, "1"
PRINT #1, "NICK VAN VLIET MAY 12, 2000" 'txt=
r = 1
a = 1: b = 1
scale = 20
'Y*Y*(X+A)=-X*X*X+3*A*X*X
'R=2aCOS(THETA) + b
LINE (0, y1 + my / 2)-(mx, y + my / 2), 1
LINE (mx / 2, 0)-(mx / 2, my), 1
x1 = 3: y1 = 0
FOR theta = 0 TO 3600
r = 2 * a * COS(theta / 180 * pi) + b
y = r * SIN(theta / 180 * pi)
x = r * COS(theta / 180 * pi)
Lineq x1, y1, x, y
'Lineq x1, -y1, x, -y
LINE (scale * x1 + mx / 2, scale * y1 + my / 2)-(scale * x + mx / 2, scale * y + my / 2), 15
'LINE (scale * x1 + mx / 2, scale * -y1 + my / 2)-(scale * x + mx / 2, scale * -y + my / 2), 15
x1 = x: y1 = y
NEXT theta
PRINT #1, "0"
PRINT #1, "ENDSEC"
PRINT #1, "0"
PRINT #1, "EOF"
CLOSE (1)
LOCATE 1, 1: PRINT "C:\1CAD\KEY\TRIX.DXF program; written!"
END
SUB Frontq
'
PRINT #1, "0"
PRINT #1, "SECTION"
PRINT #1, "2"
PRINT #1, "HEADER"
PRINT #1, "9"
PRINT #1, "$SNAPMODE"
PRINT #1, "70"
PRINT #1, "0"
PRINT #1, "9"
PRINT #1, "$SNAPUNIT"
PRINT #1, "10"
PRINT #1, "0.07619999756"
PRINT #1, "20"
PRINT #1, "0.07619999756"
PRINT #1, "9"
PRINT #1, "$GRIDMODE"
PRINT #1, "70"
PRINT #1, "0"
PRINT #1, "9"
PRINT #1, "$GRIDUNIT"
PRINT #1, "10"
PRINT #1, "0.30479999025"
PRINT #1, "20"
PRINT #1, "0.30479999025"
PRINT #1, "9"
PRINT #1, "$CLAYER"
PRINT #1, "8"
PRINT #1, "1"
PRINT #1, "0"
PRINT #1, "ENDSEC"
PRINT #1, "0"
PRINT #1, "SECTION"
PRINT #1, "2"
PRINT #1, "TABLES"
PRINT #1, "0"
PRINT #1, "TABLE"
PRINT #1, "2"
PRINT #1, "LTYPE"
PRINT #1, "70"
PRINT #1, "9"
PRINT #1, "0"
PRINT #1, "LTYPE"
PRINT #1, "2"
PRINT #1, "CONTINUOUS"
PRINT #1, "70"
PRINT #1, "64"
PRINT #1, "3"
PRINT #1, "Solid line"
PRINT #1, "72"
PRINT #1, "65"
PRINT #1, "73"
PRINT #1, "0"
PRINT #1, "40"
PRINT #1, "0.0"
PRINT #1, "0"
PRINT #1, "LTYPE"
PRINT #1, "2"
PRINT #1, "DASHED"
PRINT #1, "70"
PRINT #1, "64"
PRINT #1, "3"
PRINT #1, "72"
PRINT #1, "65"
PRINT #1, "73"
PRINT #1, "2"
PRINT #1, "40"
PRINT #1, "0.75"
PRINT #1, "49"
PRINT #1, "0.5"
PRINT #1, "49"
PRINT #1, "-0.25"
PRINT #1, "0"
PRINT #1, "LTYPE"
PRINT #1, "2"
PRINT #1, "CENTER"
PRINT #1, "70"
PRINT #1, "64"
PRINT #1, "3"
PRINT #1, "72"
PRINT #1, "65"
PRINT #1, "73"
PRINT #1, "4"
PRINT #1, "40"
PRINT #1, "2.0"
PRINT #1, "49"
PRINT #1, "1.25"
PRINT #1, "49"
PRINT #1, "-0.25"
PRINT #1, "49"
PRINT #1, "0.25"
PRINT #1, "49"
PRINT #1, "-0.25"
PRINT #1, "0"
PRINT #1, "LTYPE"
PRINT #1, "2"
PRINT #1, "DOT"
PRINT #1, "70"
PRINT #1, "64"
PRINT #1, "3"
PRINT #1, ". . ."
PRINT #1, "72"
PRINT #1, "65"
PRINT #1, "73"
PRINT #1, "2"
PRINT #1, "40"
PRINT #1, "0.375"
PRINT #1, "49"
PRINT #1, "0.25"
PRINT #1, "49"
PRINT #1, "-0.125"
PRINT #1, "0"
PRINT #1, "ENDTAB"
PRINT #1, "0"
PRINT #1, "ENDSEC"
PRINT #1, "0"
PRINT #1, "SECTION"
PRINT #1, "2"
PRINT #1, "BLOCKS"
PRINT #1, "0"
PRINT #1, "ENDSEC"
PRINT #1, "0"
PRINT #1, "SECTION"
PRINT #1, "2"
PRINT #1, "ENTITIES"
PRINT #1, "0"
PRINT #1, "POLYLINE"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
PRINT #1, "70"
PRINT #1, "0"
PRINT #1, "66"
PRINT #1, "1"
PRINT #1, "0"
PRINT #1, "VERTEX"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
PRINT #1, "10"
PRINT #1, "0"
PRINT #1, "20"
PRINT #1, "0"
PRINT #1, "0"
PRINT #1, "VERTEX"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
PRINT #1, "10"
PRINT #1, "3.0479999025"
PRINT #1, "20"
PRINT #1, "0"
PRINT #1, "0"
PRINT #1, "VERTEX"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
PRINT #1, "10"
PRINT #1, "3.0479999025"
PRINT #1, "20"
PRINT #1, "2.2859999268"
PRINT #1, "0"
PRINT #1, "VERTEX"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
PRINT #1, "10"
PRINT #1, "0"
PRINT #1, "20"
PRINT #1, "2.2859999268"
PRINT #1, "0"
PRINT #1, "VERTEX"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
PRINT #1, "10"
PRINT #1, "0"
PRINT #1, "20"
PRINT #1, ""
PRINT #1, "0"
PRINT #1, "0"
PRINT #1, "SEQEND"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "1"
END SUB
SUB Lineq (x0, y0, xx, yy)
'
PRINT #1, "0"
PRINT #1, "LINE"
PRINT #1, "8"
PRINT #1, "LY1"
PRINT #1, "62"
PRINT #1, "4"
PRINT #1, "6"
PRINT #1, "CONTINUOUS"
PRINT #1, "10"
PRINT #1, USING "###.#########"; x0
PRINT #1, "20"
PRINT #1, USING "###.#########"; y0
PRINT #1, "11"
PRINT #1, USING "###.#########"; xx
PRINT #1, "21"
PRINT #1, USING "###.#########"; yy
END SUB
RETURN TO TOP
RETURN TO
PMC
MENU
HOME PAGE
You are visitor no.
to this page.