aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolden Rohrer <hr@hrhr.dev>2021-01-21 03:33:31 -0500
committerHolden Rohrer <hr@hrhr.dev>2021-01-21 04:00:19 -0500
commit2b146b8391fd5ca9c8c70d7530ad3968721324e9 (patch)
treebba07d17b7396006f9bc717d054e68099521a3fb
parent4dc09d93cc9a6df1f0a7d6b228300252192c1fc0 (diff)
have a complete build for secondary docs, but tables and imgs not fully integrated
-rw-r--r--Makefile54
-rw-r--r--fmt/com.h4
-rw-r--r--fmt/doc.h6
-rw-r--r--logbook2.tex68
-rw-r--r--poster.tex5
-rw-r--r--poster/results.i (renamed from src/results.i)0
-rw-r--r--poster2.tex111
-rw-r--r--poster2/results.i25
-rw-r--r--poster2/voronoi.i5
-rw-r--r--py/data2.py21
-rw-r--r--py/deathtable2.py2
-rw-r--r--py/pvals.py61
-rw-r--r--py/stats.py38
-rw-r--r--report2.tex59
-rw-r--r--report2/graphs.i6
-rw-r--r--report2/pics.i6
-rw-r--r--report2/tables.i9
-rw-r--r--src/research2.i55
-rw-r--r--tables.i21
19 files changed, 460 insertions, 96 deletions
diff --git a/Makefile b/Makefile
index 152d80b..988cc35 100644
--- a/Makefile
+++ b/Makefile
@@ -5,8 +5,11 @@
PDFTEX = pdftex
PY = python3
-all: report.pdf poster.pdf logbook.pdf report2.pdf poster2.pdf \
+PDF = report.pdf poster.pdf logbook.pdf report2.pdf poster2.pdf \
logbook2.pdf
+all: $(PDF)
+
+TABLE = gen/deathtable.i gen/deathtable2.i gen/table.i gen/pvals.i
clean:
rm -rf {report,poster,logbook}{,2}.{pdf,log} qr gen graph imgs
@@ -19,25 +22,48 @@ qr:
qrencode http://hrhr.dev/report.pdf -o qr/pdf.png
qrencode http://git.hrhr.dev/scifair/about -o qr/git.png
-report.pdf: report.tex src/abstract.i src/intro.i src/methods.i \
-src/analysis.i report/graphs.i report/pics.i src/biblio.i
+report.pdf: src/abstract.i src/intro.i src/methods.i src/analysis.i \
+report/graphs.i report/pics.i src/biblio.i
-poster.pdf: poster.tex qr fmt/multicol.h src/hypo.i src/abstr.i src/methods.i \
-poster/voronoi.i src/results.i src/vars.i src/notes.i src/analysis.i \
+poster.pdf: qr fmt/multicol.h src/hypo.i src/abstr.i src/methods.i \
+poster/voronoi.i poster/results.i src/vars.i src/notes.i src/analysis.i\
poster/img1.i poster/img2.i poster/img3.i poster/img4.i poster/img5.i \
img/diagram.jpg img/2019-12-13-3.jpg img/c.jpg img/a.jpg img/code.png
-logbook.pdf: logbook.tex src/biblio.i src/hypo.i src/vars.i \
-src/methods.i src/bullets.i
+logbook.pdf: src/biblio.i src/hypo.i src/vars.i src/methods.i \
+src/bullets.i
+
+report2.pdf: src/abstr2.i src/intro2.i src/research2.i \
+src/methods2.i src/mats2.i src/analysis2.i src/conc2.i report2/graphs.i\
+report2/tables.i report2/pics.i imgs graph/depth_width.png \
+graph/nearest_neighbor.png
+
+poster2.pdf: src/hypo2.i src/abstr2.i poster2/img1.i poster2/img2.i \
+poster2/img3.i poster2/img4.i poster2/img5.i src/research2.i \
+src/mats2.i src/methods2.i src/vars2.i img/obstacle-large.jpg \
+img/2019-10-18-1.jpg img/2019-12-13-2.jpg \
+img/final-settlement-fake-pits.jpg img/2019-12-13-3.jpg \
+img/overhead-fake-pits.jpg img/Overhead-with-obstacle.jpg \
+img/corner-settle.jpg img/fake-pits.jpg img/a.jpg img/code.png
+
+logbook2.pdf: src/research2.i src/biblio.i src/hypo2.i src/mats2.i \
+src/vars2.i src/methods2.i imgs graph/depth_width.png \
+graph/nearest_neighbor.png report/tables.i src/conc2.i src/bullets.i
report.pdf logbook.pdf: img/2019-10-30-1.jpg img/2019-11-21-1.jpg \
img/2019-11-21-2.jpg img/2019-11-21-3.jpg img/2019-12-02-1.jpg src/conc.i \
img/2019-12-13-1.jpg img/2019-12-13-3.rot.jpg fmt/doc.h report/tables.i
-report.pdf poster.pdf logbook.pdf: fmt/com.h imgs graph/made \
-tables.i gen/deathtable.i gen/table.i fmt/font.h src/mats.i \
-img/2019-12-02-2.jpg img/2019-10-18-2.jpg img/2019-10-18-1.jpg \
-img/2019-11-21-4.jpg img/2019-12-13-2.jpg
+poster2.pdf: imgs
+
+report.pdf poster.pdf logbook.pdf: imgs graph/made \
+tables.i fmt/font.h src/mats.i img/2019-12-02-2.jpg \
+img/2019-10-18-2.jpg img/2019-10-18-1.jpg img/2019-11-21-4.jpg \
+img/2019-12-13-2.jpg
+
+report2.pdf logbook2.pdf: fmt/doc.h
+
+$(PDF): $(TABLE) fmt/com.h
imgs: py/data.py py/img.py
mkdir -p imgs
@@ -50,9 +76,15 @@ gen/dir:
gen/deathtable.i: py/data.py py/deathtable.py gen/dir
$(PY) py/deathtable.py > gen/deathtable.i
+gen/deathtable2.i: py/data2.py py/deathtable2.py gen/dir
+ $(PY) py/deathtable2.py > gen/deathtable2.py
+
gen/table.i: py/data.py py/table.py gen/dir
$(PY) py/table.py > gen/table.i
+gen/pvals.i: py/data2.py py/pvals.py gen/dir
+ $(PY) py/pvals.py > gen/pvals.i
+
graph/dir:
mkdir -p graph
touch graph/dir
diff --git a/fmt/com.h b/fmt/com.h
index 8083172..d2ffd29 100644
--- a/fmt/com.h
+++ b/fmt/com.h
@@ -1,5 +1,9 @@
%% links
+\let\oldinput\input
+\input color %blue links!
+\let\input\oldinput % color tries to redefine input
+
\def\anysplit#1{%
\ifx#1\relax\let\next\relax\else
#1\discretionary{}{}{}\let\next\anysplit
diff --git a/fmt/doc.h b/fmt/doc.h
index 60195f5..09bf4e9 100644
--- a/fmt/doc.h
+++ b/fmt/doc.h
@@ -1,14 +1,10 @@
% Generic format file pulled out from format.tex
-\let\oldinput\input
-\input color %blue links!
-\let\input\oldinput % color tries to redefine input
-
\input fmt/font.h
%% Fonts
\font\fourteenbf=ptmb at 14pt
-\font\fourteenrm=ptmb at 14pt
+\font\fourteenrm=ptmr at 14pt
\font\twelverm=ptmr at 12pt
\twelverm
diff --git a/logbook2.tex b/logbook2.tex
index e69de29..009e2c5 100644
--- a/logbook2.tex
+++ b/logbook2.tex
@@ -0,0 +1,68 @@
+% Should generate a logbook and replace assets/logbook.pdf
+
+\input fmt/doc.h
+\input fmt/com.h
+\let\bf\fourteenbf
+\let\bold\bf
+\def\abreak{\bigbreak\filbreak\medbreak}
+
+\noindent{\bf Background Research:}
+
+\input src/research2.i
+
+ \abreak
+
+{\input src/biblio.i\relax}
+
+ \abreak
+
+\input src/hypo2.i
+
+ \abreak
+
+\noindent{\bf Materials:}
+
+\input src/mats2.i
+
+ \abreak
+
+\noindent{\bf Independent and Dependent Variables:}
+
+\input src/vars2.i
+
+ \abreak
+
+\noindent{\bf Procedure:}
+
+\input src/methods2.i
+
+ \abreak
+
+\noindent{\bf Graphs:}
+
+\twopicture{imgs/2019-10-16.png}{imgs/2019-10-30.png}{}
+\twopicture{imgs/2019-12-3.png}{imgs/2019-12-5.png}{}
+\twopicture{imgs/2019-12-19.png}{imgs/2019-12-20.png}{Voronoi diagrams showing the territory of each antlion that formed a pit and well as the location, depth, and width of each pit}
+
+\picture{graph/depth_width.png}{Shows pit depth and width in relation to the square root of the trial area (bigger dots mean more pits of that size)}
+\picture{graph/nearest_neighbor.png}{Shows the average nearest neighbor calculation for each trial group in relation to the square root of trial area, to create a ratio}
+
+\abreak
+
+\noindent{\bf Tables:}
+
+\input report2/tables.i
+
+ \abreak
+
+\noindent{\bf Conclusion:}
+
+\input src/conc2.i
+
+ \abreak
+
+\noindent{\bf Experimental Notes:}
+
+\input src/bullets.i
+
+\bye
diff --git a/poster.tex b/poster.tex
index 0a2fd65..0185c72 100644
--- a/poster.tex
+++ b/poster.tex
@@ -13,9 +13,6 @@
\input fmt/font.h
\input fmt/multicol.h
\input fmt/com.h
-\let\oldinput\input
-\input color
-\let\input\oldinput
\fboxsep=0pt
\input poster/palette.h
@@ -98,7 +95,7 @@
\image poster/img3.i
\incl{Methods}{src/methods.i}
\incl{Voronoi Diagrams}{poster/voronoi.i}
-\incl{Results}{src/results.i}
+\incl{Results}{poster/results.i}
\incl{Variables}{src/vars.i}
\image poster/img4.i
\incl{Experiment Notes}{src/notes.i}
diff --git a/src/results.i b/poster/results.i
index 73b8538..73b8538 100644
--- a/src/results.i
+++ b/poster/results.i
diff --git a/poster2.tex b/poster2.tex
index e69de29..fcfff9f 100644
--- a/poster2.tex
+++ b/poster2.tex
@@ -0,0 +1,111 @@
+%% Formatting %%
+\newdimen\gap\gap=.5in
+\newcount\cols\cols=4
+\newdimen\vskp\vskp=4.3in
+\newdimen\botmarg\botmarg=1in
+
+\pdfpagewidth=48in
+\newdimen\width\width=\pdfpagewidth
+\pdfpageheight=36in\vsize=\pdfpageheight
+\voffset=\vskp\advance\voffset by -1in
+\advance\vsize by -\vskp\advance\vsize by -\botmarg
+\catcode`\@11
+\input fmt/font.h
+\input fmt/multicol.h
+\input fmt/com.h
+\fboxsep=0pt
+\input poster2/palette.h
+
+%% pictures
+
+\def\pic#1#2{\pdfximage width #1{#2}\pdfrefximage\pdflastximage}
+\def\picture#1#2#3{\vbox{\pic{#3}{#1}\hsize=#3\caption{#2}}}
+\def\picturetop#1#2#3{\vtop{\pic{#3}{#1}\hsize=#3\caption{#2}}}
+
+\def\section#1{{%
+ \leftskip0pt\rightskip\leftskip\noindent\colorbox{section}{%
+ \vbox{%
+ \vskip5pt%
+ \centerline{\head\color{sectiontext}#1}%
+ \vskip10pt%
+ }%
+ }%
+ \par
+}\noindent}%\bigbreak
+\def\incl#1#2{\penalty-500\section{#1}\input #2\bigbreak}
+
+\catcode`\@13
+
+%% particularly hairy \makeheadline code
+
+\def\makeheadline{\vbox to 0pt{\vskip -\vskp
+ \hbox to 0pt{%
+ \hskip-1in\colorbox{head}{%
+ \widthline{%
+ \vbox to \vskp{}\the\headline}
+ }
+ \hss}
+ \vss}
+\nointerlineskip}
+
+\def\bf{\fam\bffam\bftext}
+\def\it{\fam\itfam\ittext}
+\def\rm{\fam0\rmtext}
+\font\title=cmss10 at 72pt
+\font\sub=cmss10 at 48pt
+\font\head=cmb10 at 24pt
+\font\etrm=cmr10 at 18pt
+\font\etbf=cmb10 at 18pt
+\font\etit=cmmi10 at 18pt
+\def\text{\let\bftext\etbf\let\ittext\etit\let\rmtext\etrm\rm}
+
+\textfont1=\etit
+\textfont0=\etrm
+
+\font\sytext=cmsy10 at 18pt
+\textfont2=\sytext
+\font\syscr=cmsy8 at 12pt
+\scriptfont2=\syscr
+\font\sysscr=cmsy5 at 8pt
+\scriptscriptfont2=\sysscr
+
+\parindent=.5in
+\spacing=110
+\text
+\nopagenumbers
+\pagecolor{page}
+\leftskip=12pt\rightskip=\leftskip
+\emergencystretch=.15in
+
+%% Document %%
+
+\headline={%
+ \vbox to \vskp{\vskip1in%
+ \color{title}
+ \fullcenter{%
+ \title Antlion Herding Patterns with Interrupted
+ Communication Pathways}%
+ \vskip.5in
+ \fullcenter{\sub Holden Rohrer and Radeen Dixon}%
+ \fullline{\sub\hskip0pt plus .2fil%
+ Source Code\hfil Report Full Text
+ \hskip0pt plus .2fil}%
+ \vfil}\hskip1in%
+}
+\incl{Essential Question and Hypothesis}{src/hypo2.i}
+\incl{Abstract}{src/abstr2.i}
+\image poster2/img1.i
+\incl{Background Information}{src/research2.i}
+\image poster2/img2.i
+\incl{Materials}{src/mats2.i}
+\image poster2/img3.i
+\incl{Methods}{src/methods2.i}
+\incl{Voronoi Diagrams}{poster2/voronoi.i}
+\incl{Results}{poster2/results.i}
+\incl{Variables}{src/vars2.i}
+\image poster2/img4.i
+%\incl{Experiment Notes}{src/notes2.i}
+{\spacing105\incl{Data Analysis}{src/analysis2.i}}
+\image poster2/img5.i
+\incl{Conclusion}{src/conc.i}
+\supereject\end
diff --git a/poster2/results.i b/poster2/results.i
new file mode 100644
index 0000000..4b33992
--- /dev/null
+++ b/poster2/results.i
@@ -0,0 +1,25 @@
+\input tables.i
+
+\font\tablefont=cmr10 at 11pt
+\font\lrgtbl=cmr10 at 14pt
+{\offinterlineskip\par}
+\kern -\baselineskip
+\line{%
+ \picturetop{graph/depth_width.png}{Antlions' pits' depths and widths
+ correlate strongly with square root of trial area, meaning that
+ antlions are aware of how to optimally obtain ants for the group.
+ Bigger dots mean more pits of that size in that trial
+ area}{6in}\hfil
+ \picturetop{img/pcr.jpg}{DNA Ladder and PCR tests were used to detect
+ Cytochrome-B gene appearance in a primed DNA mixture from crushed
+ antlions.}{4in}%
+}
+\kern-1.3in\line{%
+ \picture{graph/nearest_neighbor.png}{The geometric average of trial
+ edge length correlates closely with nearest neighbor distance,
+ demonstrating consistent spacing by antlions.}{6in}%
+ \hfil
+ {\tablefont\vbox{\deaths\vskip1in}}\hfil%
+}
+
+\centerline{\lrgtbl\territory}
diff --git a/poster2/voronoi.i b/poster2/voronoi.i
index 0e2e20e..409975f 100644
--- a/poster2/voronoi.i
+++ b/poster2/voronoi.i
@@ -30,10 +30,5 @@
In order to determine the true correlation between environmental factors and spacial distribution of the ant\-lions four sub trial were conducted after the initial $24\times24$ trial, where the enclosure size was reduced to $12\times12$. The Voronoi diagrams for this subtrial for each of environmental conditions and a $12\times12$ control are shown to the left.
Given the fact that the Voronoi area (the area of land that is closest to a given pit) remaIns relatively constant across all trials and sub\-trials it can effectively be concluded that the antlions have a non-random distribution pattern. Furthermore, since the mode of communication of the antlions seems to be undisturbed by both the introduction of fake pits, obstacles and the removal of trails, it can be concluded that the non-random distribution observed is not due to communication, but rather canabalsim, which is the regulating factor in the antlions distribution pattern.
-
-
-
-
-
}
}
diff --git a/py/data2.py b/py/data2.py
index 505a79d..a073f4b 100644
--- a/py/data2.py
+++ b/py/data2.py
@@ -2,6 +2,7 @@
from scipy.spatial import Voronoi, voronoi_plot_2d, KDTree, distance
from enum import Enum
import matplotlib.pyplot as plt
+from matplotlib.path import Path
fancy = {'pits':'Artificial Pits', 'obstacles':'Artificial Obstacles',
'trails':'Trail Erasure'}
@@ -38,6 +39,9 @@ class Trial:
def plot(self, save=False):
vor = Voronoi([pit.loc for pit in self.pits])
voronoi_plot_2d(vor)
+ if self.method == 'obstacles':
+ for obstacle in self.fake:
+ plt.fill(*obstacle.unzip())
plt.xlabel('%s (dimension %dx%dcm)' % (fancy[self.method], self.size[0], self.size[1]))
if save:
plt.savefig('%s-%dx%d.png'%(self.method,self.size[0],self.size[1]),
@@ -53,6 +57,16 @@ class Trial:
class Obstacle:
def __init__(self, coords):
self.coords = coords
+ self.path = Path(coords)
+
+ def contains(self, point):
+ return self.path.contains_point(point)
+
+ def multicontains(self, points):
+ return self.path.contains_points(points)
+
+ def unzip(self):
+ return ([x[0] for x in self.coords],[x[1] for x in self.coords])
trials = [
Trial('trails', 1, 2, [24,24], [
@@ -135,8 +149,8 @@ trials = [
Pit((22,16),2,4),
], fake=[
Obstacle([(8,3),(1,7),(7,16)]),
- Obstacle([(18,1),(16,7),(21,4),(21,7)]),
- Obstacle([(17,15),(18,20),(23,19),(21,20)])
+ Obstacle([(18,1),(16,7),(21,7),(21,4)]),
+ Obstacle([(17,15),(18,20),(21,20),(23,19)])
]),
Trial('obstacles', 3, 0, [12,12], [
Pit((2,11),2,3),
@@ -149,6 +163,5 @@ trials = [
Pit((10,11),2,4),
Pit((6,3),3,5),
Pit((12,9),1,2),
- ], fake=[ Obstacle([(10,2),(11,9),(3,5),(3,8)]) ]),
+ ], fake=[ Obstacle([(10,2),(11,9),(3,8),(3,5)]) ]),
]
-
diff --git a/py/deathtable2.py b/py/deathtable2.py
index 401d42e..ec0f171 100644
--- a/py/deathtable2.py
+++ b/py/deathtable2.py
@@ -6,7 +6,7 @@ Nearest Neighbor (avg) & Width (avg) & Depth (avg)\\cr\\tabrule')
for trial in trials:
print('& '.join(['$'+'\\times'.join([str(el) for el in trial.size])+'$',
- names[trial.method], str(trial.recl), str(trial.dead),
+ fancy[trial.method], str(trial.recl), str(trial.dead),
str(len(trial.pits)), '%.2f' % mean(trial.nearest_neighbor()),
'%.2f' % mean([pit.diam for pit in trial.pits]),
'%.2f' % mean([pit.depth for pit in trial.pits])])+'\\cr\\tabrule')
diff --git a/py/pvals.py b/py/pvals.py
new file mode 100644
index 0000000..9f46826
--- /dev/null
+++ b/py/pvals.py
@@ -0,0 +1,61 @@
+from data2 import trials, fancy
+from scipy.stats import cramervonmises
+from bisect import bisect_left
+from random import random
+
+def distance(pit1, pit2):
+ out = ((pit2[1]-pit1[1])**2 + (pit2[0]-pit1[0])**2)**(1/2)
+ if (out == 0):
+ return 100
+ else:
+ return out
+
+def cdf(a,nnsim,tup):
+ return [bisect_left(nnsim, x)/len(nnsim) for x in a]
+
+def calcpval(trialno):
+ trial = trials[trialno]
+ size = trial.size[0]
+ pits = len(trial.pits)
+
+ nnsim = []
+ for j in range(1000):
+ curpits = []
+ k = 0
+ while k < pits:
+ add = (random()*size,random()*size)
+ if trial.method == 'obstacles':
+ for obs in trial.fake:
+ if obs.contains(add):
+ continue
+ if trial.method == 'pits':
+ for pit in trial.fake:
+ if distance(add,pit.loc) < pit.diam/2:
+ continue
+ curpits.append(add)
+ k += 1
+ for pit in curpits:
+ l = size
+ for pit2 in curpits:
+ l = min(l,distance(pit,pit2))
+ nnsim.append(l)
+
+ nnsim.sort()
+
+ nnreal = trials[trialno].nearest_neighbor()
+ stat = cramervonmises(nnreal,cdf,(nnsim,()))
+ return stat.pvalue
+
+sizes = [[12,12],[24,24]]
+meths = ['obstacles','pits','trails']
+pvals = [['']*len(sizes) for x in range(len(meths))]
+for n in range(len(trials)):
+ trial = trials[n]
+ pvals[meths.index(trial.method)][sizes.index(trial.size)] = '%.4f' % calcpval(n)
+
+print('\\tabrule $12\\times12$&$24\\times24$\\cr\\tabrule')
+for row in range(len(meths)):
+ print(fancy[meths[row]],end='')
+ for col in range(len(sizes)):
+ print('&'+pvals[row][col],end='')
+ print('\\cr\\tabrule')
diff --git a/py/stats.py b/py/stats.py
deleted file mode 100644
index b79e56f..0000000
--- a/py/stats.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from data2 import trials
-from scipy.stats import cramervonmises
-from bisect import bisect_left
-from random import random
-
-def distance(pit1, pit2):
- out = ((pit2[1]-pit1[1])**2 + (pit2[0]-pit1[0])**2)**(1/2)
- if (out == 0):
- return 100
- else:
- return out
-
-def cdf(a,nnsim,tup):
- return [bisect_left(nnsim, x)/len(nnsim) for x in a]
-
-def calcpval(trialno):
- size = trials[trialno].size[0]
- pits = len(trials[trialno].pits)
-
- nnsim = []
- for j in range(10000):
- curpits = []
- for k in range(pits):
- curpits.append([random()*size,random()*size])
- for pit in curpits:
- l = size
- for pit2 in curpits:
- l = min(l,distance(pit,pit2))
- nnsim.append(l)
-
- nnsim.sort()
-
- nnreal = trials[trialno].nearest_neighbor()
- stat = cramervonmises(nnreal,cdf,(nnsim,()))
- return stat.pvalue
-
-for n in range(len(trials)):
- print(calcpval(n))
diff --git a/report2.tex b/report2.tex
index e69de29..64ccae7 100644
--- a/report2.tex
+++ b/report2.tex
@@ -0,0 +1,59 @@
+\overfullrule=0pt
+
+\input fmt/doc.h
+\input fmt/com.h
+
+\parindent=.5in
+%% Headers
+\expandafter\ifx\csname abstract\endcsname\relax\fi
+\newtoks\abstract
+\newtoks\text
+\def\cover{{
+ \hbox{}\vskip0pt plus 2fill
+ {\parindent=0in\leftskip=0pt plus 1fill\rightskip=\leftskip
+ \parskip=\bigskipamount \the\text}
+ \vskip 0pt plus .5fill
+ {\fourteenbf\centerline{Abstract}\par}
+ {\parindent0pt\parfillskip0pt\leftskip=.5in\rightskip=\leftskip
+ \baselineskip=14pt\relax
+ \the\abstract\par}
+ \vskip0pt plus 2fill
+ \eject
+}}
+
+\pageno=1
+\nopagenumbers
+\headline={\baselineskip=0.5in \twelverm \hfil \ifnum\pageno=1\else Dixon \& Rohrer \the\pageno \fi}
+\text={
+Antlions' Group Distribution and Behavior under Varying Spatial Constraints\par
+Holden Rohrer and Radeen Dixon\par
+Georgia Science Fair\par
+Source: \link{https://git.hrhr.dev/scifair}\par
+}
+\abstract={\input src/abstr2.i}
+\cover
+
+\section{Introduction}\input src/intro2.i
+\section{Background Research}\input src/research2.i
+\section{Procedure}\input src/methods2.i
+\section{Materials}\input src/mats2.i
+\section{Data Analysis}\input src/analysis2.i
+\section{Conclusion}\input src/conc2.i
+
+\vfil\eject
+
+\section{Appendix A: Graphs}\input report2/graphs.i
+
+\vfil\eject
+
+\section{Appendix B: Tables}\input report2/tables.i
+
+\vfil\eject
+
+\section{Appendix C: Pictures}\input report2/pics.i
+
+\vfil\eject
+
+\input src/biblio.i
+
+\bye
diff --git a/report2/graphs.i b/report2/graphs.i
new file mode 100644
index 0000000..8fb8ad3
--- /dev/null
+++ b/report2/graphs.i
@@ -0,0 +1,6 @@
+\twopicture{imgs/2019-10-16.png}{imgs/2019-10-30.png}{}
+\twopicture{imgs/2019-12-3.png}{imgs/2019-12-5.png}{}
+\twopicture{imgs/2019-12-19.png}{imgs/2019-12-20.png}{Voronoi diagrams showing the territory of each antlion that formed a pit and well as the location, depth, and width of each pit}
+
+\picture{graph/depth_width.png}{Shows pit depth and width in relation to the square root of the trial area}
+\picture{graph/nearest_neighbor.png}{Shows the average nearest neighbor calculation for each trial group in relation to the square root of trial area, to create a ratio. Larger dots means more pits had that same area and depth or width.}
diff --git a/report2/pics.i b/report2/pics.i
new file mode 100644
index 0000000..f02cf06
--- /dev/null
+++ b/report2/pics.i
@@ -0,0 +1,6 @@
+\twopicture{img/2019-10-18-1.jpg}{img/2019-10-18-2.jpg}{Pictures of the 32x33 trial group, a six inch ruler is shown for scale.}
+\twopicture{img/2019-10-30-1.jpg}{img/2019-11-21-1.jpg}{Initial pictures of the 24x25 trial group including the new cardboard barrier for reference.}
+\twopicture{img/2019-11-21-2.jpg}{img/2019-11-21-3.jpg}{(Left) A photograph of the first 16x17 trial, note antlion trails that are shown, a six inch ruler is shown for scale. (Right) A picture of the reinforced cardboard barrier to prevent antlions from escaping.}
+\twopicture{img/2019-11-21-4.jpg}{img/2019-12-02-1.jpg}{Two alternate views of the 16x17 trial size, note antlion trails and toothpicks denoting the location of antlion pits.}
+\twopicture{img/2019-12-02-2.jpg}{img/2019-12-13-1.jpg}{(Left) A close up image of the 16x17 trial size, note pits and dead antlions, ruler shown for scale (Right) A close up image of the 8x9 trial size, note smaller and less consistent pits, a six inch ruler shown for scale}
+\twopicture{img/2019-12-13-2.jpg}{img/2019-12-13-3.rot.jpg}{(Left) A picture of an antlion being removed from the trial period (Right) An image of an antlion in its temporary container}
diff --git a/report2/tables.i b/report2/tables.i
new file mode 100644
index 0000000..8f2eb5f
--- /dev/null
+++ b/report2/tables.i
@@ -0,0 +1,9 @@
+\input tables.i
+{%\baselineskip=13pt
+\centerline{\deaths}
+%\global\advance\pics by 1\relax
+%\nobreak\centerline{Figure \number\pics: Number of Deaths and Pits Successfully Formed in Each Trial/Subtrial}
+
+\centerline{\territory}
+\vfil\eject
+}
diff --git a/src/research2.i b/src/research2.i
index a8a1bf0..144a4b4 100644
--- a/src/research2.i
+++ b/src/research2.i
@@ -1,4 +1,4 @@
-To design the experiment and understand the organisms' underlying
+To design the experiment and understand the organisms' underlying
behaviors that might affect it, extensive background research was
required---specifically on the spatial distribution patterns of
antlions. First, a previous study analyzing the spatial patterning and
@@ -58,30 +58,29 @@ that could be tested and confirmed throughout the experiment, allowing
for a source to cross-check results and procedures in order to perfect
the procedure of the experiment.
- Finally, in order to effectively conduct a follow up
-examination of the nations spatial patterns and distributions the
-previous years research and results was thoroughly examined. This
-examination helped provide information on the most effective procedure,
-materials, and dependent variables to measure, as the previous years
-notes were used to improve upon the preexisting examination process.
-Along with this the examination of the previous years teachers clearly
-illustrated that the rate of cannibalism and the average pit depth and
-width were correlated with the size of the enclosure of the antlions,
-as the rate of cannibalism increased as the enclosure decreased in size
-while the pit depth and width decreased as the enclosure decreased in
-size. This distinction helped illustrate the natural patterns of the
-organisms and allowed for the clear development of a follow up
-experiment, as the examination of the initial trial developed a clear
-natural pattern that could be examined through the introduction of
-other various environmental stimuli. Based on this analysis, the
-emergent property of the antlions distribution was clearly to arrange
-themselves in an organized fashion however the antlions lacked a known
-effective mode of communication, as prior research revealed that insect
-larvae lack secretion glands for communication and proper vocal
-anatomy. The lack of a mode of communication but the presence of a
-clear spatial pattern lead to the development of the question of how
-the organisms were able to arrange themselves in such an intricate
-pattern, and prompted the follow up study to examine how the organisms
-were able to distribute in such an organized fashion by either
-identifying a mode of communication or determining that the
-distribution was due to simple mathematics.
+Finally, in order to effectively conduct a follow up examination of the
+nations spatial patterns and distributions the previous years research
+and results was thoroughly examined. This examination helped provide
+information on the most effective procedure, materials, and dependent
+variables to measure, as the previous years notes were used to improve
+upon the preexisting examination process. Along with this the
+examination of the previous years teachers clearly illustrated that the
+rate of cannibalism and the average pit depth and width were correlated
+with the size of the enclosure of the antlions, as the rate of
+cannibalism increased as the enclosure decreased in size while the pit
+depth and width decreased as the enclosure decreased in size. This
+distinction helped illustrate the natural patterns of the organisms and
+allowed for the clear development of a follow up experiment, as the
+examination of the initial trial developed a clear natural pattern that
+could be examined through the introduction of other various
+environmental stimuli. Based on this analysis, the emergent property of
+the antlions distribution was clearly to arrange themselves in an
+organized fashion however the antlions lacked a known effective mode of
+communication, as prior research revealed that insect larvae lack
+secretion glands for communication and proper vocal anatomy. The lack of
+a mode of communication but the presence of a clear spatial pattern lead
+to the development of the question of how the organisms were able to
+arrange themselves in such an intricate pattern, and prompted the follow
+up study to examine how the organisms were able to distribute in such an
+organized fashion by either identifying a mode of communication or
+determining that the distribution was due to simple mathematics.
diff --git a/tables.i b/tables.i
index 511b818..a6f7842 100644
--- a/tables.i
+++ b/tables.i
@@ -4,6 +4,7 @@
\newskip\tableskipamount\tableskipamount=2pt plus 1fill
\def\tableskip{\hskip\tableskipamount}
\def\cell#1{\tableskip\strut\ignorespaces #1\unskip\tableskip\vrule}
+
\def\deaths{%
\setbox0=\vbox{\offinterlineskip
\halign{\vrule\cell{##}&&\cell{##}\cr\noalign{\hrule}
@@ -14,6 +15,7 @@ Trial Size& Date& Introduced& Deaths& Pits formed\cr\noalign{\hrule}
\vbox{\box0{\hsize\dimen0\caption{Number of Deaths and Pits Successfully
Formed in Each Trial/Subtrial}}}%
}
+
\def\territory{%
\setbox0=\vbox{\strut\hrule}\dimen0=.5\ht0
\edef\rowht{\the\dimen0}
@@ -27,3 +29,22 @@ Dimensions (in)& Pit Depth (cm)& Pit Width (cm)& Nearest Neighbor
\vbox{\box0\hbox to \dimen0{\hss\vbox{\caption{The Pit Depths, Widths, and
``Territory,'' Observed in Each Trial}}\hss}}%
}
+
+\def\tabrule{\noalign{\hrule}}
+\def\stats#1{%
+\setbox0=\vbox{\offinterlineskip
+\halign{\vrule\cell{##}&&\cell{##}\cr
+\input gen/deathtable2.i
+}}%
+\dimen0\wd0
+\vbox{\box0\hbox to \dimen0{\hss\vbox{\caption{#1}}\hss}}
+}
+
+\def\pvals#1{%
+\setbox0=\vbox{\offinterlineskip
+\halign{\vrule\cell{##}&&\cell{##}\cr
+\input gen/pvals.i
+}}%
+\dimen0\wd0
+\vbox{\box0\hbox to \dimen0{\hss\vbox{\caption{#1}}\hss}}%
+}