A bit ago I finished a program grouping various previous things I've one. In this program, you can view a unit circle, input angles and find the trig funcs/inverses of that angle, and find the reference angle. Might update it with Deg to Rad and vice versa. Here's the code in 1kB!
Code:
I'm proud of how it turned out!
Edit: Is there any way to make the stuff in a menu? (Like instead of having it display "10, 2), etc. in that fashion, make it in a menu using the Menu( command [along with a quit function]?)
Code:
Disp "1) UNIT CIRCLE"
Disp "2) MANUAL INPUT"
Disp "3) REFERENCE ANGLE"
Input "CHOOSE MODE: ",I
If I=1:Then
√(3)/2→U
√(2)/2→V
.5→W
ClrDraw
Degree
12→Xmin
1.5→Xmax
1→Ymin
1→Ymax
ZSquare
Circle(0,0,1,BLACK)
Line(0,0,1,0,GREEN)
Line(0,0,U,W,BLUE)
Line(0,0,V,V,RED)
Line(0,0,W,U,BLUE)
Line(0,0,0,1,GREEN)
Line(0,0,W,U,BLUE)
Line(0,0,V,V,RED)
Line(0,0,U,W,BLUE)
Line(0,0,1,0,GREEN)
Line(0,0,U,W,BLUE)
Line(0,0,V,V,RED)
Line(0,0,W,U,BLUE)
Line(0,0,0,1,GREEN)
Line(0,0,W,U,BLUE)
Line(0,0,V,V,RED)
Line(0,0,U,W,BLUE)
TextColor(BLUE)
"√(3)/2"→Str1
"√(2)/2"→Str2
"1/2"→Str3
"π/"→Str4
Text(2,2,"30°: ",Str4,"6, (",Str1,",",Str3,")")
TextColor(RED)
Text(14,2,"45°: ",Str4,"4, (",Str2,",",Str2,")")
TextColor(BLUE)
Text(26,2,"60°: ",Str4,"3, (",Str3,",",Str1,")")
Text(38,2,"120°: 2",Str4,"3, (",Str3,",",Str1,")")
TextColor(RED)
Text(50,2,"135°: 3",Str4,"4, (",Str2,",",Str2,")")
TextColor(BLUE)
Text(62,2,"150°: 5",Str4,"6, (",Str1,",",Str3,")")
Text(74,2,"210°: 7",Str4,"6, (",Str1,",",Str3,")")
TextColor(RED)
Text(86,2,"225°: 5",Str4,"4, (",Str2,",",Str2,")")
TextColor(BLUE)
Text(98,2,"240°: 4",Str4,"3, (",Str3,",",Str1,")")
Text(110,2,"300°: 5",Str4,"3, (",Str3,",",Str1,")")
TextColor(RED)
Text(122,2,"315°: 7",Str4,"4, (",Str2,",",Str2,")")
TextColor(BLUE)
Text(134,2,"330°: 11",Str4,"6, (",Str1,",",Str3,")")
Pause
End
If I=2:Then
ClrHome
0→M
While M≠1 and M≠2:
Disp "1) DEGREES"
Disp "2) RADIANS"
Input "INPUT METHOD (1/2): ",M
If M=1:
Degree
If M=2:
Radian
End
Input "ANGLE: ",θ
cos(θ)→B
sin(θ)→C
tan(θ)→D
1/cos(θ)→E
1/sin(θ)→F
1/tan(θ)→G
ClrHome
Output(1,1,"ANGLE: ")
Output(1,8,θ)
Output(2,1,"cos(θ): ")
Output(2,9,B)
Output(3,1,"sin(θ): ")
Output(3,9,C)
Output(4,1,"tan(θ): ")
Output(4,9,D)
Output(5,1,"sec(θ): ")
Output(5,9,E)
Output(6,1,"csc(θ): ")
Output(6,9,F)
Output(7,1,"cot(θ): ")
Output(7,9,G)
End
If I=3:Then
Input "VISUAL DISPLAY? Y/N: ",V
1→Y
0→N
If V=Y:Then
Degree
10→Xmin
10→Xmax
Xmin→Ymin
Xmax→Ymax
ClrHome
Input "ANGLE: ",A
ClrDraw
cos(A)*20→B
sin(A)*20→C
Line(10,0,10,0,RED)
Line(0,0,B,C,BLUE)
remainder(abs(A),360)→U
remainder(abs(A),180)→R
abs(180-R)→E
min(E,R)→R
If A<0:360-U→U
min(R,U)→R
cos(R)*20→X
sin(R)*20→Y
Line(0,0,X,Y,GREEN)
TextColor(NAVY)
Text(0,2,"ANG: ",A)
Text(15,2,"UNW: ",U)
TextColor(GREEN)
Text(30,2,"REF: ",R)
Pause
End
If V=N:Then
Input "ANGLE: ",A
ClrHome
A→B
Repeat B≥0
B+360→B
End
If B>360
remainder(B,360)→B
abs(180-B)→C
abs(B)→D
min(C,D)→R
ClrHome
Output(1,1,"ANGLE: ")
Output(1,8,A)
Output(2,1,"UNWOUND: ")
Output(2,10,B)
Output(3,1,"REF. ANG.: ")
Output(3,12,R)
Pause
End
I'm proud of how it turned out!
Edit: Is there any way to make the stuff in a menu? (Like instead of having it display "10, 2), etc. in that fashion, make it in a menu using the Menu( command [along with a quit function]?)