From 6354bccda08532580b15e09b79b97981efbd55ad Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Fri, 16 Jan 2026 20:50:02 +0000
Subject: [PATCH 1/9] Merge in first prefigure branch
---
requirements.txt | 2 +-
source/precalculus/source/meta/graphs.ptx | 269 +++++++++---------
.../source/meta/prefigure/graph-absolute.xml | 12 +
.../source/meta/prefigure/graph-arccos.xml | 12 +
.../source/meta/prefigure/graph-arccot.xml | 19 ++
.../source/meta/prefigure/graph-arccsc.xml | 16 ++
.../source/meta/prefigure/graph-arcsec.xml | 16 ++
.../source/meta/prefigure/graph-arcsin.xml | 12 +
.../source/meta/prefigure/graph-arctan.xml | 18 ++
.../source/meta/prefigure/graph-cos.xml | 12 +
.../source/meta/prefigure/graph-cot.xml | 24 ++
.../source/meta/prefigure/graph-csc.xml | 24 ++
.../meta/prefigure/graph-exponential.xml | 16 ++
.../meta/prefigure/graph-exponentiale.xml | 16 ++
.../prefigure/graph-logarithm-natural.xml | 16 ++
.../source/meta/prefigure/graph-logarithm.xml | 16 ++
.../source/meta/prefigure/graph-sec.xml | 22 ++
.../source/meta/prefigure/graph-sin.xml | 12 +
.../meta/prefigure/graph-square-root.xml | 12 +
.../source/meta/prefigure/graph-tan.xml | 22 ++
.../source/meta/prefigure/graphx-minus1.xml | 18 ++
.../source/meta/prefigure/graphx-minus2.xml | 18 ++
.../source/meta/prefigure/graphx-minus3.xml | 18 ++
.../source/meta/prefigure/graphx-minus4.xml | 18 ++
.../source/meta/prefigure/graphx.xml | 12 +
.../source/meta/prefigure/graphx2.xml | 12 +
.../source/meta/prefigure/graphx3.xml | 12 +
.../source/meta/prefigure/graphx4.xml | 12 +
28 files changed, 548 insertions(+), 140 deletions(-)
create mode 100644 source/precalculus/source/meta/prefigure/graph-absolute.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-arccos.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-arccot.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-arccsc.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-arcsec.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-arcsin.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-arctan.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-cos.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-cot.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-csc.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-exponential.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-exponentiale.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-logarithm.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-sec.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-sin.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-square-root.xml
create mode 100644 source/precalculus/source/meta/prefigure/graph-tan.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx-minus1.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx-minus2.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx-minus3.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx-minus4.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx2.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx3.xml
create mode 100644 source/precalculus/source/meta/prefigure/graphx4.xml
diff --git a/requirements.txt b/requirements.txt
index 863188880..864ae915c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-pretext == 2.24.0
+pretext[prefigure] == 2.36.0
CodeChat-Server == 0.2.25
pelican == 4.11.0
markdown == 3.7.0
diff --git a/source/precalculus/source/meta/graphs.ptx b/source/precalculus/source/meta/graphs.ptx
index ae1fbdfae..fa7503d3a 100644
--- a/source/precalculus/source/meta/graphs.ptx
+++ b/source/precalculus/source/meta/graphs.ptx
@@ -7,29 +7,37 @@
Graph of y=x
-
- plot(x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=x^2
-
- plot(x^2,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=x^3
-
- plot(x^3,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=x^4
-
- plot(x^4,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
@@ -40,42 +48,37 @@
Graph of y=\dfrac{1}{x}
-
- p=plot(1/x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\dfrac{1}{x^2}
-
- p=plot(1/x^2,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\dfrac{1}{x^3}
-
- p=plot(1/x^3,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\dfrac{1}{x^4}
-
- p=plot(1/x^4,xmin=-5,xmax=-0.1,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,gridlines=True, ticks=[1,1])
- p+=plot(1/x^4,xmin=0.1,xmax=5,ymin=-5,ymax=5,thickness=3)
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
@@ -86,17 +89,19 @@
Graph of y=|x|
-
- plot(abs(x),xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
-
+
+
+
+
+
Graph of y=\sqrt{x}
-
- p=plot(sqrt(x),xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p.SHOW_OPTIONS['xmin']=-5
- p
-
+
+
+
+
+
@@ -107,39 +112,37 @@
Graph of y=b^x , with b=2
-
- p=plot(2^x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\log_b x , with b=2
-
- p=plot(log(x)/log(2),xmin=0,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p.SHOW_OPTIONS['xmin']=-5
- p
-
+
+
+
+
+
Graph of y=e^x
-
- p=plot(e^x,xmin=-5,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(-5,0),(5,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\ln x
-
- p=plot(log(x),xmin=0,xmax=5,ymin=-5,ymax=5,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,1])
- p+=line([(0,-5),(0,5)],thickness=3,linestyle='dashed',color='red')
- p.SHOW_OPTIONS['xmin']=-5
- p
-
+
+
+
+
+
@@ -150,61 +153,55 @@
Graph of y=\sin(x)
-
-
-TBIL.trig_plot(sin(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True)
-
+
+
+
+
+
Graph of y=\csc x
-
-
-p=TBIL.trig_plot(csc(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..2]:
- p+=line([(i*pi,-2*pi),(i*pi,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
Graph of y=\cos x
-
-
-TBIL.trig_plot(cos(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True)
-
+
+
+
+
+
Graph of y=\sec x
-
-
-p=TBIL.trig_plot(sec(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..1]:
- p+=line([(i*pi+pi/2,-2*pi),(i*pi+pi/2,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
Graph of y=\tan x
-
-
-p=TBIL.trig_plot(tan(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..1]:
- p+=line([(i*pi+pi/2,-2*pi),(i*pi+pi/2,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
Graph of y=\cot x
-
-
-p=TBIL.trig_plot(cot(x),(x,-2*pi,2*pi),ymin=-2*pi,ymax=2*pi,ticks=[pi/2,1],aspect_ratio=1,gridlines=True,detect_poles=True)
-for i in [-2..2]:
- p+=line([(i*pi,-2*pi),(i*pi,2*pi)],thickness=3,linestyle='dashed',color='red')
-p
-
+
+
+
+
+
@@ -215,61 +212,55 @@ p
Graph of y=\sin^{-1}(x)
-
- p=plot(arcsin(x),xmin=-1,xmax=1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p.SHOW_OPTIONS['xmin']=-pi
- p.SHOW_OPTIONS['xmax']=pi
- p
-
+
+
+
+
+
Graph of y=\csc^{-1}(x)
-
- p=plot(arccsc(x),xmin=-pi,xmax=-1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=plot(arccsc(x),xmin=1,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,0),(pi,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\cos^{-1}(x)
-
- p=plot(arccos(x),xmin=-1,xmax=1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p.SHOW_OPTIONS['xmin']=-pi
- p.SHOW_OPTIONS['xmax']=pi
- p
-
+
+
+
+
+
Graph of y=\sec^{-1}(x)
-
- p=plot(arcsec(x),xmin=-pi,xmax=-1,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=plot(arcsec(x),xmin=1,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,pi/2),(pi,pi/2)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\tan^{-1}(x)
-
- p=plot(arctan(x),xmin=-pi,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,pi/2),(pi,pi/2)],thickness=3,linestyle='dashed',color='red')
- p+=line([(-pi,-pi/2),(pi,-pi/2)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
Graph of y=\cot^{-1}(x)
-
- p=plot(arccot(x),xmin=-pi,xmax=-0.001,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=plot(arccot(x),xmin=0.001,xmax=pi,ymin=-pi,ymax=pi,thickness=3,aspect_ratio=1,detect_poles=True,gridlines=True, ticks=[1,pi/4],tick_formatter=[SR(1),pi])
- p+=line([(-pi,0),(pi,0)],thickness=3,linestyle='dashed',color='red')
- p
-
+
+
+
+
+
diff --git a/source/precalculus/source/meta/prefigure/graph-absolute.xml b/source/precalculus/source/meta/prefigure/graph-absolute.xml
new file mode 100644
index 000000000..bdc31387b
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-absolute.xml
@@ -0,0 +1,12 @@
+
+ f(x)=fabs(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arccos.xml b/source/precalculus/source/meta/prefigure/graph-arccos.xml
new file mode 100644
index 000000000..93d3b34fe
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arccos.xml
@@ -0,0 +1,12 @@
+
+ f(x)=acos(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arccot.xml b/source/precalculus/source/meta/prefigure/graph-arccot.xml
new file mode 100644
index 000000000..fb177aa07
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arccot.xml
@@ -0,0 +1,19 @@
+
+ f(x)=atan(1/x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arccsc.xml b/source/precalculus/source/meta/prefigure/graph-arccsc.xml
new file mode 100644
index 000000000..28eefac07
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arccsc.xml
@@ -0,0 +1,16 @@
+
+ f(x)=asin(1/x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arcsec.xml b/source/precalculus/source/meta/prefigure/graph-arcsec.xml
new file mode 100644
index 000000000..b20813c6f
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arcsec.xml
@@ -0,0 +1,16 @@
+
+ f(x)=acos(1/x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arcsin.xml b/source/precalculus/source/meta/prefigure/graph-arcsin.xml
new file mode 100644
index 000000000..3a2807e92
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arcsin.xml
@@ -0,0 +1,12 @@
+
+ f(x)=asin(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-arctan.xml b/source/precalculus/source/meta/prefigure/graph-arctan.xml
new file mode 100644
index 000000000..2cc07ff61
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-arctan.xml
@@ -0,0 +1,18 @@
+
+ f(x)=atan(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-cos.xml b/source/precalculus/source/meta/prefigure/graph-cos.xml
new file mode 100644
index 000000000..089d047c9
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-cos.xml
@@ -0,0 +1,12 @@
+
+ f(x)=cos(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-cot.xml b/source/precalculus/source/meta/prefigure/graph-cot.xml
new file mode 100644
index 000000000..0c18fd78e
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-cot.xml
@@ -0,0 +1,24 @@
+
+ f(x)=1/tan(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-csc.xml b/source/precalculus/source/meta/prefigure/graph-csc.xml
new file mode 100644
index 000000000..e96206eb1
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-csc.xml
@@ -0,0 +1,24 @@
+
+ f(x)=1/sin(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-exponential.xml b/source/precalculus/source/meta/prefigure/graph-exponential.xml
new file mode 100644
index 000000000..2349a2ce2
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-exponential.xml
@@ -0,0 +1,16 @@
+
+ f(x)=2^x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-exponentiale.xml b/source/precalculus/source/meta/prefigure/graph-exponentiale.xml
new file mode 100644
index 000000000..7ab95850f
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-exponentiale.xml
@@ -0,0 +1,16 @@
+
+ f(x)=e^x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml b/source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml
new file mode 100644
index 000000000..9f7b5e044
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-logarithm-natural.xml
@@ -0,0 +1,16 @@
+
+ f(x)=log(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-logarithm.xml b/source/precalculus/source/meta/prefigure/graph-logarithm.xml
new file mode 100644
index 000000000..e4b8a9c6c
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-logarithm.xml
@@ -0,0 +1,16 @@
+
+ f(x)=log(x)/log(2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-sec.xml b/source/precalculus/source/meta/prefigure/graph-sec.xml
new file mode 100644
index 000000000..a51d4ec05
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-sec.xml
@@ -0,0 +1,22 @@
+
+ f(x)=1/cos(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-sin.xml b/source/precalculus/source/meta/prefigure/graph-sin.xml
new file mode 100644
index 000000000..ce17bb23f
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-sin.xml
@@ -0,0 +1,12 @@
+
+ f(x)=sin(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-square-root.xml b/source/precalculus/source/meta/prefigure/graph-square-root.xml
new file mode 100644
index 000000000..dd96c3150
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-square-root.xml
@@ -0,0 +1,12 @@
+
+ f(x)=sqrt(x)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graph-tan.xml b/source/precalculus/source/meta/prefigure/graph-tan.xml
new file mode 100644
index 000000000..734b370fb
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graph-tan.xml
@@ -0,0 +1,22 @@
+
+ f(x)=tan(x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus1.xml b/source/precalculus/source/meta/prefigure/graphx-minus1.xml
new file mode 100644
index 000000000..c10169525
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus1.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-1)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus2.xml b/source/precalculus/source/meta/prefigure/graphx-minus2.xml
new file mode 100644
index 000000000..bfe239545
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus2.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus3.xml b/source/precalculus/source/meta/prefigure/graphx-minus3.xml
new file mode 100644
index 000000000..3fc4b893d
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus3.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx-minus4.xml b/source/precalculus/source/meta/prefigure/graphx-minus4.xml
new file mode 100644
index 000000000..651c0f04c
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx-minus4.xml
@@ -0,0 +1,18 @@
+
+ f(x)=x^(-3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx.xml b/source/precalculus/source/meta/prefigure/graphx.xml
new file mode 100644
index 000000000..b1d7308a4
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx2.xml b/source/precalculus/source/meta/prefigure/graphx2.xml
new file mode 100644
index 000000000..074613453
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx2.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x^2
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx3.xml b/source/precalculus/source/meta/prefigure/graphx3.xml
new file mode 100644
index 000000000..0187b56b9
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx3.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x^3
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/meta/prefigure/graphx4.xml b/source/precalculus/source/meta/prefigure/graphx4.xml
new file mode 100644
index 000000000..95bd0fff8
--- /dev/null
+++ b/source/precalculus/source/meta/prefigure/graphx4.xml
@@ -0,0 +1,12 @@
+
+ f(x)=x^3
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From c37ce8eddf23d4ba75f6f193708ab544139bdbe4 Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Fri, 16 Jan 2026 21:08:38 +0000
Subject: [PATCH 2/9] TE6 image
---
source/precalculus/source/08-TE/06.ptx | 12 +++------
.../prefigure/TE6-elevation-depression.xml | 26 +++++++++++++++++++
2 files changed, 29 insertions(+), 9 deletions(-)
create mode 100644 source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
diff --git a/source/precalculus/source/08-TE/06.ptx b/source/precalculus/source/08-TE/06.ptx
index c7347b64a..c478269a0 100644
--- a/source/precalculus/source/08-TE/06.ptx
+++ b/source/precalculus/source/08-TE/06.ptx
@@ -129,15 +129,9 @@
-
-p=line([(0,8),(10,8),(0,0),(10,0)],color="black",thickness=3)
-p+=arc((0,0),1,sector=(0, arctan(8/10)),color="black")
-p+=arc((10,8),1,sector=(pi, pi+arctan(8/10)),color="black")
-p+=text("Angle of elevation",(3,0.5),color="black",fontsize=16)
-p+=text("Angle of depression",(6.5,7.5),color="black",fontsize=16)
-p.axes(False)
-p
-
+
+
+
The angle of elevation and the angle of depression are congruent.
diff --git a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
new file mode 100644
index 000000000..a787e9a8c
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
@@ -0,0 +1,26 @@
+
+ f(x)=2.5-x^2/2
+ a = 1
+
+
+
+
+
+
+ Angle of depression
+
+
+
+ Angle of elevation
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 82a229168614e276966782a39898b73fdaa25598 Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Fri, 16 Jan 2026 21:09:59 +0000
Subject: [PATCH 3/9] Remove cruft
---
.../source/08-TE/prefigure/TE6-elevation-depression.xml | 2 --
1 file changed, 2 deletions(-)
diff --git a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
index a787e9a8c..f1add925f 100644
--- a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
@@ -1,6 +1,4 @@
- f(x)=2.5-x^2/2
- a = 1
From 5ecc308fff12bfac7092e0d8f3633b6140f2f9ef Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Fri, 16 Jan 2026 21:47:33 +0000
Subject: [PATCH 4/9] TE6 image
---
source/precalculus/source/08-TE/06.ptx | 2 +-
.../source/08-TE/prefigure/TE6-elevation-depression.xml | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/source/precalculus/source/08-TE/06.ptx b/source/precalculus/source/08-TE/06.ptx
index c478269a0..2ba5c034b 100644
--- a/source/precalculus/source/08-TE/06.ptx
+++ b/source/precalculus/source/08-TE/06.ptx
@@ -129,7 +129,7 @@
-
+
diff --git a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
index f1add925f..368cfd6e9 100644
--- a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
@@ -5,11 +5,11 @@
- Angle of depression
+ Angle of depression
- Angle of elevation
+ Angle of elevation
From 79accb1d3d6c3ae2e4d469e71740a446d6bcf38f Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Fri, 16 Jan 2026 22:19:47 +0000
Subject: [PATCH 5/9] TE1 images
---
source/precalculus/source/08-TE/01.ptx | 59 ++++---------------
.../08-TE/prefigure/TE1-difference-1.xml | 32 ++++++++++
.../08-TE/prefigure/TE1-difference-2.xml | 30 ++++++++++
.../08-TE/prefigure/TE1-unit-circle.xml | 18 ++++++
4 files changed, 93 insertions(+), 46 deletions(-)
create mode 100644 source/precalculus/source/08-TE/prefigure/TE1-difference-1.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE1-difference-2.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE1-unit-circle.xml
diff --git a/source/precalculus/source/08-TE/01.ptx b/source/precalculus/source/08-TE/01.ptx
index f040cf1d2..71569a8bc 100644
--- a/source/precalculus/source/08-TE/01.ptx
+++ b/source/precalculus/source/08-TE/01.ptx
@@ -20,16 +20,9 @@
For example, consider a point P on the unit circle, with coordinates (x,y) . If we draw a right triangle (as shown in the figure below), the Pythagorean Theorem says that x^2+y^2=1 .
-
-p=circle ((0,0), 1)
-p += line([(0,0),(.707,.707), (.707,0), (0,0)],thickness=3,color="black",ticks=[SR(1),SR(1)])
-p += text("$x$", (0.3,-0.1),color="black", fontsize=14)
-p += text("$y$", (.8, 0.4), color="black",fontsize=14)
-p += text("$P=(x,y)$", (.9, .8), color="black",fontsize=14)
-p += text("$1$", (.3, .4), color="black",fontsize=14)
-p.axes(True)
-p
-
+
+
+
But, remember, that the x -coordinate of the point corresponds to \cos\theta and the y -coordinate corresponds to \sin\theta . Thus, we get: \sin^2\theta + \cos^2\theta = 1 . Pythagorean Identities are used in solving many trigonometric problems where one trigonometric ratio is given and we are expected to find the other trigonometric ratios. The next two activities will lead us to find the other two Pythagorean Identities.
@@ -290,42 +283,16 @@ p
-
-
-beta=pi/8
-alpha=3*pi/4
-q=plot([],aspect_ratio=1,ticks=[[],[]])
-q+=circle((0,0),1,color="#ddd")
-q+=line([(0,0),(cos(beta),sin(beta))],color="blue",thickness=2)
-q+=arc((0,0),0.2,sector=(0,beta),color="black")
-q+=text(r"$\beta$", (0.3*cos(beta/2),0.3*sin(beta/2)),color="black",fontsize=14)
-q+=line([(0,0),(cos(alpha),sin(alpha))],color="blue",thickness=2)
-q+=arc((0,0),0.15,sector=(0,alpha),color="black")
-q+=text(r"$\alpha$", (0.2*cos(alpha/2),0.2*sin(alpha/2)),color="black",fontsize=14)
-q+=line([(cos(beta),sin(beta)),(cos(alpha),sin(alpha))],color="blue",thickness=2)
-q+=text(r"$P$",(1.1*cos(alpha),1.1*sin(alpha)),color="black",fontsize=14)
-q+=text(r"$Q$",(1.1*cos(beta),1.1*sin(beta)),color="black",fontsize=14)
-q+=text(r"$O$",(-0.1,-0.1),color="black",fontsize=14)
-q
-
-
-
-
-beta=pi/8
-alpha=3*pi/4
-p=plot([],aspect_ratio=1,ticks=[[],[]])
-p+=circle((0,0),1,color="#ddd")
-p+=line([(0,0),(cos(0),sin(0))],color="blue",thickness=2)
-p+=line([(0,0),(cos(alpha-beta),sin(alpha-beta))],color="blue",thickness=2)
-p+=arc((0,0),0.1,sector=(0,alpha-beta),color="black")
-p+=text(r"$\alpha-\beta$", (0.15*cos((alpha-beta)/2)+0.1,0.15*sin((alpha-beta)/2)),color="black",fontsize=14)
-p+=line([(cos(alpha-beta),sin(alpha-beta)),(cos(0),sin(0))],color="blue",thickness=2)
-p+=text(r"$A$",(1.1*cos(alpha-beta),1.1*sin(alpha-beta)),color="black",fontsize=14)
-p+=text(r"$B$",(1.1*cos(0),1.1*sin(0)+0.05),color="black",fontsize=14)
-p+=text(r"$O$",(-0.1,-0.1),color="black",fontsize=14)
-p
-
-
+
+
+
+
+
+
+
+
+
+
Triangle POQ and its rotation clockwise by \beta , Triangle AOB
diff --git a/source/precalculus/source/08-TE/prefigure/TE1-difference-1.xml b/source/precalculus/source/08-TE/prefigure/TE1-difference-1.xml
new file mode 100644
index 000000000..95c8c7496
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE1-difference-1.xml
@@ -0,0 +1,32 @@
+
+alpha=3*pi/4
+beta=pi/6
+q=(cos(beta),sin(beta))
+p=(cos(alpha),sin(alpha))
+o=(0,0)
+
+
+
+ Q
+ P
+ O
+
+
+
+
+
+ \alpha
+ \beta
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE1-difference-2.xml b/source/precalculus/source/08-TE/prefigure/TE1-difference-2.xml
new file mode 100644
index 000000000..598b6cf41
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE1-difference-2.xml
@@ -0,0 +1,30 @@
+
+alpha=3*pi/4-pi/6
+beta=0
+q=(cos(beta),sin(beta))
+p=(cos(alpha),sin(alpha))
+o=(0,0)
+
+
+
+ B
+ A
+ O
+
+
+
+
+
+ \alpha-\beta
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE1-unit-circle.xml b/source/precalculus/source/08-TE/prefigure/TE1-unit-circle.xml
new file mode 100644
index 000000000..5c46f908c
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE1-unit-circle.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ P=(x,y)
+ 1
+ x
+ y
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 621d06d3f142e9445dfdb943610048f9d0b4a440 Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Fri, 16 Jan 2026 22:23:29 +0000
Subject: [PATCH 6/9] Use angle-marker
---
.../08-TE/prefigure/TE6-elevation-depression.xml | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
index 368cfd6e9..56d0ba76f 100644
--- a/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE6-elevation-depression.xml
@@ -1,16 +1,10 @@
-
+
-
-
- Angle of depression
-
-
-
- Angle of elevation
-
+ Angle of depression
+ Angle of elevation
From bf700905696dfa2fc1aa222772eb15c56b80cfd5 Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Sat, 17 Jan 2026 00:15:35 +0000
Subject: [PATCH 7/9] TE5 diagrams
---
source/precalculus/source/08-TE/05.ptx | 287 ++++--------------
.../prefigure/TE5-law-of-cosines-fluency1.xml | 20 ++
.../08-TE/prefigure/TE5-law-of-cosines.xml | 30 ++
.../prefigure/TE5-law-of-sines-ambiguous1.xml | 24 ++
.../prefigure/TE5-law-of-sines-ambiguous2.xml | 29 ++
.../prefigure/TE5-law-of-sines-ambiguous3.xml | 24 ++
.../prefigure/TE5-law-of-sines-ambiguous4.xml | 25 ++
.../prefigure/TE5-law-of-sines-fluency1.xml | 25 ++
.../prefigure/TE5-law-of-sines-fluency2.xml | 25 ++
.../prefigure/TE5-law-of-sines-fluency3.xml | 24 ++
.../prefigure/TE5-law-of-sines-fluency4.xml | 24 ++
.../prefigure/TE5-law-of-sines-fluency5.xml | 23 ++
.../08-TE/prefigure/TE5-law-of-sines.xml | 28 ++
13 files changed, 365 insertions(+), 223 deletions(-)
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines-fluency1.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous1.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous2.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous3.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous4.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines.xml
diff --git a/source/precalculus/source/08-TE/05.ptx b/source/precalculus/source/08-TE/05.ptx
index bbbbc8fae..811dadddd 100644
--- a/source/precalculus/source/08-TE/05.ptx
+++ b/source/precalculus/source/08-TE/05.ptx
@@ -24,26 +24,12 @@
Suppose you are given the following triangle, where h is the altitude of triangle ABC . By drawing the altitude, we've now created two right triangles. If we label the point where the altitude intersects C as point D , then we can call the triangles ACD and BCD .
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0),(0,3)],thickness=3,color="black")
-p += text("$a$", (2.1,1.6),color="black",fontsize=24)
-p += text("$b$", (-1.1, 1.6), color="black",fontsize=24)
-p += text("$c$", (1, -0.1), color="black", fontsize=24)
-p += text("$h$", (0.15,1.5), color="black",fontsize=24)
-p += line( [(-2,-0.1), (0.8,-0.1)], color="black")
-p += line( [(-2,-0.15), (-2,-0.05)], color="black")
-p += line( [(1.2,-0.1), (4,-0.1)], color="black")
-p += line( [(4,-0.15), (4,-0.05)], color="black")
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$D$", (0.1,-0.4), color="black", fontsize=24)
-p.axes(False)
-p
-
-
+ Triangle ABC with sides a , b , and c , with an altitude h drawn from C to D .
+
+
+
+
+
@@ -154,20 +140,9 @@ p
Suppose you are given triangle ABC where A=35 , B=25 , and a=10 as shown in the figure below.
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a=10$", (2.5,1.8),color="black",fontsize=24)
-p += text("$b$", (-1.1, 1.6), color="black",fontsize=24)
-p += text("$c$", (1, -0.1), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$25^\circ$", (3.3,.2), color="black", fontsize=20)
-p += text("$35^\circ$", (-1.5,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
+
+
+
@@ -290,22 +265,8 @@ p
Suppose you are given triangle ABC where A=76 , B=34 , and c=9 as shown in the figure below.
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a$", (2,1.8),color="black",fontsize=24)
-p += text("$b$", (-1.2, 1.6), color="black",fontsize=24)
-p += text("$c=9$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$34^\circ$", (3.3,.2), color="black", fontsize=20)
-p += text("$76^\circ$", (-1.5,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
-
+
+
@@ -393,22 +354,11 @@ p
Suppose you are given triangle ABC , where A = 30 , a = 7 , and b = 16 as shown in the figure below.
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a=7$", (2.2,1.8),color="black",fontsize=24)
-p += text("$b=16$", (-1.7, 1.6), color="black",fontsize=24)
-p += text("$c$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$34^\circ$", (3.3,.2), color="black", fontsize=20)
-p += text("$30^\circ$", (-1.5,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
-
+
+
+
+
+
@@ -482,21 +432,12 @@ p
Students should be able to draw a triangle like this:
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a=10$", (2.3,1.8),color="black",fontsize=24)
-p += text("$b=16$", (-1.7, 1.6), color="black",fontsize=24)
-p += text("$c$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$30^\circ$", (-1.6,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
-
+
+
+
+
+
+
The following parts of the triangle are missing: B , C , and c .
@@ -609,21 +550,11 @@ p
Students should be able to draw a triangle like this:
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a=20$", (2.3,1.8),color="black",fontsize=24)
-p += text("$b=16$", (-1.7, 1.6), color="black",fontsize=24)
-p += text("$c$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$30^\circ$", (-1.6,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
-
+
+
+
+
+
The following parts of the triangle are missing: B , C , and c .
@@ -692,20 +623,9 @@ p
-
-p=Graphics()
-p+=line([(0,0),(2,2)],thickness=2,color="black")
-p+=text("$b$",(0.89,1.1),color="black",fontsize=14)
-p+=line([(0,0),(3.5,0)],linestyle="dotted",color="black")
-p+=arc((0,0),0.2,sector=(0,pi/4),color="black")
-p+=text("$A$",(-0.1,-0.1),color="black",fontsize=14)
-p+=text("$C$",(2,2.1),color="black",fontsize=14)
-p+=arc((2,2),1.75,sector=(pi,2*pi),color="blue",linestyle="dashed")
-p+=line([(2,2),(2+1.75*cos(5*pi/3),2+1.75*sin(5*pi/3))],color="blue",thickness=2)
-p+=text("$a$",(2.7,1.1),fontsize=14)
-p.axes(False)
-p
-
+
+
+
If a is too short for a given angle A and side b , no matter
how that leg is swung around the dashed circle, it will not meet a third side of any
@@ -714,24 +634,9 @@ p
-
-p=Graphics()
-p+=line([(0,0),(2,2)],thickness=2,color="black")
-p+=text("$b$",(0.89,1.1),color="black",fontsize=14)
-p+=line([(0,0),(3.5,0)],linestyle="dotted",color="black")
-p+=arc((0,0),0.2,sector=(0,pi/4),color="black")
-p+=text("$A$",(-0.1,-0.1),color="black",fontsize=14)
-p+=text("$C$",(2,2.1),color="black",fontsize=14)
-a=pi/12
-r=2/cos(a)
-p+=arc((2,2),r,sector=(pi,2*pi),color="blue",linestyle="dashed")
-p+=line([(2,2),(2+r*cos(3*pi/2+a),2+r*sin(3*pi/2+a))],color="blue",thickness=2)
-p+=line([(2,2),(2+r*cos(3*pi/2-a),2+r*sin(3*pi/2-a))],color="blue",thickness=2)
-p+=text("$a$",(2.4,1.1),fontsize=14)
-p+=text("$a$",(1.6,1.1),fontsize=14)
-p.axes(False)
-p
-
+
+
+
If a is larger, the circle of radius a centered at C intersects the
@@ -740,38 +645,16 @@ p
-
-
-p=Graphics()
-p+=line([(0,0),(2,2)],thickness=2,color="black")
-p+=text("$b$",(0.89,1.1),color="black",fontsize=14)
-p+=line([(0,0),(3.5,0)],linestyle="dotted",color="black")
-p+=arc((0,0),0.2,sector=(0,pi/4),color="black")
-p+=text("$A$",(-0.1,-0.1),color="black",fontsize=14)
-p+=arc((2,2),2,sector=(pi,2*pi),color="blue",linestyle="dashed")
-p+=line([(2,2),(2,0)],color="blue",thickness=2)
-p+=text("$a$",(2.1,1.1),fontsize=14)
-p.axes(False)
-p
-
-
-
-
-p=Graphics()
-p+=line([(0,0),(2,2)],thickness=2,color="black")
-p+=text("$b$",(0.89,1.1),color="black",fontsize=14)
-p+=line([(0,0),(6,0)],linestyle="dotted",color="black")
-p+=arc((0,0),0.2,sector=(0,pi/4),color="black")
-p+=text("$A$",(-0.2,-0.1),color="black",fontsize=14)
-a=pi/3
-r=2/cos(a)
-p+=arc((2,2),r,sector=(pi,2*pi),color="blue",linestyle="dashed")
-p+=line([(2,2),(2+r*cos(3*pi/2+a),2+r*sin(3*pi/2+a))],color="blue",thickness=2)
-p+=text("$a$",(4.1,1.1),fontsize=14)
-p.axes(False)
-p
-
-
+
+
+
+
+
+
+
+
+
+
If the length of a is the same as the height of the triangle, the two possibilities converge
@@ -851,21 +734,11 @@ p
Students should draw the triangle like this:
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a$", (2.3,1.8),color="black",fontsize=24)
-p += text("$b=14$", (-1.7, 1.6), color="black",fontsize=24)
-p += text("$c=7$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$70^\circ$", (-1.6,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
-
+
+
+
+
+
The following parts of the triangle are missing: B , C , and a .
@@ -897,27 +770,14 @@ p
Suppose you are given the following triangle, where h is the altitude of triangle ABC .
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0),(0,3)],thickness=3,color="black")
-p += text("$a$", (2.1,1.6),color="black",fontsize=24)
-p += text("$b$", (-1.1, 1.6), color="black",fontsize=24)
-p += text("$m$", (-1, 0.2), color="black",fontsize=24)
-p += text("$c$", (1, -0.1), color="black", fontsize=24)
-p += text("$h$", (0.15,1.5), color="black",fontsize=24)
-p += text("$D$", (0.15,0.2), color="black",fontsize=24)
-p += line( [(-2,-0.1), (0.8,-0.1)], color="black")
-p += line( [(-2,-0.15), (-2,-0.05)], color="black")
-p += line( [(1.2,-0.1), (4,-0.1)], color="black")
-p += line( [(4,-0.15), (4,-0.05)], color="black")
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p.axes(False)
-p
-
-
+ Triangle ABC with sides a , b , and c , with an
+ altitude h drawn from C to D . The segment AD is labeled d .
+
+
+
+
+
+
@@ -1063,21 +923,11 @@ p
Students should draw the triangle like this:
-
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a$", (2.3,1.8),color="black",fontsize=24)
-p += text("$b=14$", (-1.7, 1.6), color="black",fontsize=24)
-p += text("$c=7$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p += text("$70^\circ$", (-1.6,.2), color="black", fontsize=20)
-p.axes(False)
-p
-
-
+
+
+
+
+
The following parts of the triangle are missing: B , C , and a .
@@ -1152,18 +1002,9 @@ p
Students should draw the triangle like this:
-
-p=Graphics()
-p += line([(0,0),(4,0), (0,3), (-2,0),(0,0)],thickness=3,color="black")
-p += text("$a=30$", (2.3,1.8),color="black",fontsize=24)
-p += text("$b=20$", (-1.7, 1.6), color="black",fontsize=24)
-p += text("$c=17$", (1, -0.2), color="black", fontsize=24)
-p += text("$A$", (-2.2,0), color="black", fontsize=24)
-p += text("$B$", (4.2,0), color="black", fontsize=24)
-p += text("$C$", (0,3.2), color="black", fontsize=24)
-p.axes(False)
-p
-
+
+
+
The following parts of the triangle are missing: A , B , and C .
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines-fluency1.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines-fluency1.xml
new file mode 100644
index 000000000..cb58faf6d
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines-fluency1.xml
@@ -0,0 +1,20 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+
+ b=20
+ a=30
+ c=17
+ A
+ B
+ C
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines.xml
new file mode 100644
index 000000000..241a64048
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-cosines.xml
@@ -0,0 +1,30 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+D=(0,0)
+
+
+ h
+ b
+ a
+ c
+ d
+ A
+ B
+ C
+ D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous1.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous1.xml
new file mode 100644
index 000000000..582748c8e
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous1.xml
@@ -0,0 +1,24 @@
+
+A=(0,0)
+B=(3.5,0)
+b=(2+1.75*cos(5*pi/3),2+1.75*sin(5*pi/3))
+C=(2,2)
+t=45
+
+ b
+ a
+
+ A
+ C
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous2.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous2.xml
new file mode 100644
index 000000000..8eea47578
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous2.xml
@@ -0,0 +1,29 @@
+
+A=(0,0)
+B=(3.5,0)
+C=(2,2)
+a=pi/12
+r=2/cos(a)
+b=(2+r*cos(3*pi/2+a),2+r*sin(3*pi/2+a))
+b2=(2+r*cos(3*pi/2-a),2+r*sin(3*pi/2-a))
+
+
+ b
+ a
+ a
+
+ A
+ C
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous3.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous3.xml
new file mode 100644
index 000000000..fcd9d741d
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous3.xml
@@ -0,0 +1,24 @@
+
+A=(0,0)
+B=(3.5,0)
+C=(2,2)
+b=(2,0)
+
+
+ b
+ a
+
+ A
+ C
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous4.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous4.xml
new file mode 100644
index 000000000..3e0f2c29e
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-ambiguous4.xml
@@ -0,0 +1,25 @@
+
+A=(0,0)
+B=(6,0)
+C=(2,2)
+a=pi/3
+r=2/cos(a)
+b=(2+r*cos(3*pi/2+a),2+r*sin(3*pi/2+a))
+
+ b
+ a
+
+ A
+ C
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml
new file mode 100644
index 000000000..cc0191864
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml
@@ -0,0 +1,25 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+t=45
+
+ b
+ a=10
+ c
+ A
+ B
+ C
+ 25^\circ
+ 35^\circ
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml
new file mode 100644
index 000000000..d57efac0c
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml
@@ -0,0 +1,25 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+t=45
+
+ b=16
+ a=7
+ c
+ A
+ B
+ C
+ 34^\circ
+ 30^\circ
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml
new file mode 100644
index 000000000..b391e7526
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml
@@ -0,0 +1,24 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+t=45
+
+ b=16
+ a=10
+ c
+ A
+ B
+ C
+
+ 30^\circ
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml
new file mode 100644
index 000000000..a56052811
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml
@@ -0,0 +1,24 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+t=45
+
+ b=16
+ a=20
+ c
+ A
+ B
+ C
+
+ 30^\circ
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml
new file mode 100644
index 000000000..48cda96db
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml
@@ -0,0 +1,23 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+t=45
+
+ b=14
+ a
+ c=7
+ A
+ B
+ C
+ 70^\circ
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines.xml
new file mode 100644
index 000000000..951d50ecd
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines.xml
@@ -0,0 +1,28 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+D=(0,0)
+
+
+ h
+ b
+ a
+ c
+ A
+ B
+ C
+ D
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From df5810b0a60fc19552ae12601f4ceaea520dac4a Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Sat, 17 Jan 2026 00:19:54 +0000
Subject: [PATCH 8/9] Missing diagram
---
source/precalculus/source/08-TE/05.ptx | 5 ++++
.../prefigure/TE5-law-of-sines-fluency12.xml | 24 +++++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency12.xml
diff --git a/source/precalculus/source/08-TE/05.ptx b/source/precalculus/source/08-TE/05.ptx
index 811dadddd..ff0b4d368 100644
--- a/source/precalculus/source/08-TE/05.ptx
+++ b/source/precalculus/source/08-TE/05.ptx
@@ -265,6 +265,11 @@
Suppose you are given triangle ABC where A=76 , B=34 , and c=9 as shown in the figure below.
+
+
+
+
+
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency12.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency12.xml
new file mode 100644
index 000000000..d4d49d275
--- /dev/null
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency12.xml
@@ -0,0 +1,24 @@
+
+A=(-2,0)
+B=(4,0)
+C=(0,3)
+
+ b
+ a
+ c=9
+ A
+ B
+ C
+ 34^\circ
+ 76^\circ
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From c6eef9dec1bb7eac1cd36644461ee6702f455b25 Mon Sep 17 00:00:00 2001
From: Drew Lewis
Date: Sat, 17 Jan 2026 00:20:51 +0000
Subject: [PATCH 9/9] Cleanup
---
.../source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml | 1 -
.../source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml | 1 -
.../source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml | 1 -
.../source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml | 1 -
.../source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml | 1 -
5 files changed, 5 deletions(-)
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml
index cc0191864..5afb2fb58 100644
--- a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency1.xml
@@ -2,7 +2,6 @@
A=(-2,0)
B=(4,0)
C=(0,3)
-t=45
b
a=10
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml
index d57efac0c..44036168c 100644
--- a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency2.xml
@@ -2,7 +2,6 @@
A=(-2,0)
B=(4,0)
C=(0,3)
-t=45
b=16
a=7
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml
index b391e7526..c7e77ed40 100644
--- a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency3.xml
@@ -2,7 +2,6 @@
A=(-2,0)
B=(4,0)
C=(0,3)
-t=45
b=16
a=10
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml
index a56052811..d18a1f5f7 100644
--- a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency4.xml
@@ -2,7 +2,6 @@
A=(-2,0)
B=(4,0)
C=(0,3)
-t=45
b=16
a=20
diff --git a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml
index 48cda96db..c17191e6a 100644
--- a/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml
+++ b/source/precalculus/source/08-TE/prefigure/TE5-law-of-sines-fluency5.xml
@@ -2,7 +2,6 @@
A=(-2,0)
B=(4,0)
C=(0,3)
-t=45
b=14
a