home *** CD-ROM | disk | FTP | other *** search
AmigaBASIC Source Code | 1991-08-16 | 5.3 KB | 212 lines |
- ' Conplex Curves by George Trepal copyright 1987
-
- 'I got the idea for this program from the April 1967
- 'Clemson Chronicle which is the student magazine of Clemson
- 'University. The Chronicle was not copyrighted however this
- 'program is copyright 1987 to George Trepal. This is a public
- 'domain program Ok to give or distribute for a small fee
- 'but not to sell.
-
- over = 40: Yadjust = 380
- SCREEN 2,640,400,2,4
- WINDOW 2, "",,0,2
- GOSUB Originshifts
- PALETTE 0, 0,0,0
- PALETTE 1, 0,0,0
- PALETTE 2, 0.5,0.15,0.15
- PALETTE 3, 0.91,0.48,0.15
-
- COLOR 2,0
- FOR j = 0 TO 380 STEP 20: ' Y axis
- LINE (80,j) - (240,j)
- NEXT
- FOR j = 80 TO 240 STEP 20: ' X axis
- LINE (j,0) - (j,380)
- NEXT
-
- COLOR 3,0
- LOCATE 3,1
- PRINT TAB(over + 6) "COMPLEX CURVES"
-
- COLOR 2,0
- LOCATE 5,1
- PRINT TAB(over) "r = 4[SIN(theta - 1) + 1]"
- PRINT TAB(over + 2) "between 0 and 6.28"
- FOR theta = 0 TO 6.28 STEP 0.02
- r = 4 * (SIN(theta - 1) + 1)
- x = (r * COS(theta)) * 10 + OrigX(1) + 80
- y = Yadjust - ((r * SIN(theta)) * 10 + OrigY(1))
- PSET (x,y),3
- NEXT
-
- p = 2
- PRINT TAB(over) "x = -[(y/1.5)^4 - (y/1.5)^2]"
- PRINT TAB(over + 3) "between -2 and 1.5"
- FOR y = -2 TO 1.5 STEP 0.05: ' face
- x = -((y/1.5)^4 - (y/1.5)^2)
- GOSUB Setpoints0
- NEXT
-
- p = 3
- PRINT TAB(over) "y = -x^3/2"
- PRINT TAB(over + 2) "between -1.6 and 1.5"
- FOR x = -1.6 TO 1.5 STEP 0.05: ' front of neck
- y = -(x^3/2)
- GOSUB Setpoints0
- NEXT
-
- p = 4
- PRINT TAB(over) "x = 10.5"
- PRINT TAB(over + 2) "between 17 and 24.8"
- FOR y = 17 TO 24.8 STEP 0.1: ' front of nearside arm
- x = 10.5
- GOSUB Setpoints0
- NEXT
-
- p = 5
- PRINT TAB(over) "y = -7x"
- PRINT TAB(over + 2) "between 0 and 1"
- FOR x = 0 TO 1 STEP 0.01: ' back of nearside arm
- y = -7 * x
- GOSUB Setpoints0
- NEXT
-
- p = 6
- PRINT TAB(over) "y = -SQR(5x)"
- PRINT TAB(over + 2) "between .5 and 5"
- FOR x = 0.5 TO 5 STEP 0.1: ' top of breast
- y = -SQR(5 * x)
- GOSUB Setpoints0
- NEXT
-
- p = 7
- PRINT TAB(over) "y = -SQR(6.25 - x^2)"
- PRINT TAB(over + 2) "between -1 and 2.5"
- FOR x = -1 TO 2.5 STEP 0.05: ' underside of breast
- y = -SQR(6.25 - x^2)
- GOSUB Setpoints0
- NEXT
-
- p = 8
- PRINT TAB(over) "y = x^2/4"
- PRINT TAB(over + 2) "between -4 and -2.4"
- FOR x = -4 TO - 2.4 STEP 0.05: ' lower farside arm
- y = 0.25 * x^2
- GOSUB Setpoints0
- NEXT
-
- p = 8
- PRINT TAB(over) "y = x^2/4"
- PRINT TAB(over + 2) "between 4 and 5"
- FOR x = 4 TO 5 STEP 0.05: ' chest
- y = 0.25 * x^2
- GOSUB Setpoints0
- NEXT
-
- p = 9
- PRINT TAB(over) "x = -y^2/64"
- PRINT TAB (over + 2) "between -8 and 8"
- FOR y = -8 TO 8 STEP 0.1: ' belly and front of legs
- x = -1/64 * y^2
- GOSUB Setpoints0
- NEXT
-
- p = 10
- PRINT TAB(over) "y = .47x^3 -x^2/2 + 1.03x"
- PRINT TAB(over + 2) "between -1 and 1.5"
- FOR x = -1 TO 1.5 STEP 0.05: ' back of neck
- y = 0.47 * x^3 - 0.5 * x^2 + 1.03 * x
- GOSUB Setpoints0
- NEXT
-
- p = 11
- PRINT TAB(over) "y = x^2"
- PRINT TAB (over + 2) "between -5 and -4.2"
- FOR x = -5 TO -4.2 STEP 0.01: ' back of farside arm
- y = x^2
- GOSUB Setpoints0
- NEXT
-
- p = 11
- PRINT TAB(over) "y = x^2"
- PRINT TAB(over + 2) "between -2.3 and -1"
- FOR x = -2.3 TO -1 STEP 0.01: ' back of leg
- y = x^2
- GOSUB Setpoints0
- NEXT
-
- p = 12
- PRINT TAB(over) "x = SIN(3.14 * y/7)"
- PRINT TAB(over + 2) "between -7.5 and 0"
- FOR y = -7.5 TO 0 STEP 0.05: ' nearside cheek
- x = SIN(3.14 * y/7)
- GOSUB Setpoints0
- NEXT
-
- p = 12
- PRINT TAB(over) "x = SIN(3.14 * y/7)"
- PRINT TAB(over + 2) "between 3 and 13"
- FOR y = 3 TO 13 STEP 0.05: ' spine
- x = SIN(3.14 * y/7)
- GOSUB Setpoints0
- NEXT
-
- p = 13
- PRINT TAB(over) "y = -7x"
- PRINT TAB(over + 2) "between -.7 and 0"
- FOR x = -0.7 TO 0 STEP 0.01: ' lower back
- y = -7 * x
- GOSUB Setpoints0
- NEXT
-
- PRINT TAB(over) "y = .65x^2 - 6.9x + 22.2"
- PRINT TAB (over + 2) "between 2.8 and 5.6"
- FOR x = 2.8 TO 5.6 STEP 0.05: ' lower ass
- y = 0.647 * x^2 - 6.9 * x + 22.24
- GOSUB Setpoints1
- NEXT
-
- PRINT TAB(over) "y = .66x^3 - 8.8x^2 + 40x - 49.5"
- PRINT TAB(over + 2) "between 2.8 and 5.5"
- FOR x = 2.8 TO 5.5 STEP 0.05: ' lower back
- y = 0.663 * x^3 - 8.83 * x^2 + 40.1 * x -49.5
- GOSUB Setpoints1
- NEXT
-
- PRINT TAB(over) "y = -.32x^2 + 6.8x - 19.5"
- PRINT TAB(over + 2) "between .8 and 1.04"
- FOR x = 8.1 TO 10.4 STEP 0.1: ' close off arm
- y = -0.322 * x^2 + 6.87 * x - 19.5
- GOSUB Setpoints1
- NEXT
-
- PRINT : PRINT TAB(over) "PRESS ANY KEY TO QUIT"
- COLOR 3,0
- PRINT : PRINT TAB(over - 4) "A PUBLIC DOMAIN PROGRAM BY GEORGE TREPAL"
-
- Hold:
- IF INKEY$ = "" THEN Hold
- WINDOW CLOSE 2
- SCREEN CLOSE 2
- LIST
- END
-
- Originshifts:
- DIM OrigX(13), OrigY(13)
- FOR j = 1 TO 13
- READ OrigX(j), OrigY(j)
- NEXT
- DATA 80,320,90,305,90,265,0,0,70,220
- DATA 100,260,125,210,70,120,120,80,30,260
- DATA 70,-10,50,120,60,0,155,55
- RETURN
-
- Setpoints0:
- PSET (x * 10 + OrigX(p) + 80, Yadjust - (y * 10 + OrigY(p))),3
- RETURN
-
- Setpoints1:
- PSET (x * 10 + 80, Yadjust - (y * 10)),3
- RETURN
-
-