Trigonometric Slide Rule

Motivation

On Twitter, Dan L (@d2thelhurst) asked (editing of [vector] is mine):

Hey physics, what do you think of “cos only” method of finding [vector] components? Compl angle and only use cos instead of same °, other trig func

His motivation was that students have trouble remembering which vector component requires cosine versus sine.  For a long time, I’ve wanted to collaborate with our 9th grade geometry teachers to run a few quick trigonometry measurement labs, in which students take data in physics class and analyze/use the data in math class.  I’d want to do it Modeling-style, where we don’t give them names for the ratios, just try to understand the relationship between angles and sides in a right triangle.  Students would (hopefully) come away with a better understanding of similarity and trigonometric ratios.  However, until the day comes that I finally write said curricular materials, I had the idea of making a trigonometric “slide rule” that students could use to look up angles and determine the cosines and sines (without necessarily using those names).

GeoGebra version

See the Trigonometric Slide Rule on GeoGebraTube.  This version is the easiest to use and gives you answers.  No graph reading.  Of course, if we are using a computer, we might as well use the computer to solve the full polar to rectangular problem, but if you want students to understand ratios, it’s probably best to leave them a little mental work.

Paper-and-pencil version

For students

One version blanks the grid outside the circle, and one version has a grid outside the circle.  Students should be able to estimate the cosine and sine of angles to 2 decimal places.

For teachers

This version lists the coordinates of points every 5 degrees.  The coordinates have 3 decimal places.

Source code

I used Asymptote to create the graphics.  I have my version set to output PDF by default, but otherwise, here’s the sourcecode:

import graph;

defaultpen(fontsize(10));
pen thick_p = linewidth(1.5);
pen axis_p = black+fontsize(8);
pen grid_major_p = gray(0.5)+linewidth(1.0);
pen grid_minor_p = gray(0.7)+linewidth(0.5);
pen circle_p = thick_p+black;
pen radial_p = black;
pen radial_accent_p = linewidth(1.5)+radial_p;
pen degree_p = black;

real tick_major = 0.1;
real tick_minor = 0.02;
real tick_low = 0.97;
real tick_high = 1.03;
int tick_every = 5;

// letter paper with 0.5" margins:
real width = 8.5 inches - 2*0.5 inches;
real height = 11 inches - 2*0.5 inches;
size(width, height);

scale(true, true);
xlimits(-1.1,1.1);
ylimits(-1.1,1.1);

real axis_extend = 1.0;
real xmin = -axis_extend;
real xmax = axis_extend;
real ymin = -axis_extend;
real ymax = axis_extend;

real dummy(real x) { return 1.001*x; }
draw(graph(dummy,-1.0,1.0),invisible);
pen thin=linewidth(0.5*linewidth());
xaxis("",axis=LeftRight,axis_p,xmin=-1.1,xmax=1.1,Ticks(format="%",beginlabel=false,endlabel=false,Step=tick_major,step=tick_minor,begin=true,end=true,extend=true,pTick=grid_major_p,ptick=grid_minor_p),above=false);
yaxis("",axis=LeftRight,axis_p,ymin=-1.1,ymax=1.1,Ticks(format="%",beginlabel=false,endlabel=false,Step=tick_major,step=tick_minor,begin=true,end=true,extend=true,pTick=grid_major_p,ptick=grid_minor_p),above=false);
xaxis("",axis=YZero,axis_p,xmin=xmin,xmax=xmax,LeftTicks(beginlabel=false,endlabel=false,Step=tick_major,step=tick_minor,begin=false,end=false,NoZero,extend=false,pTick=axis_p,ptick=grid_minor_p),above=false);
yaxis("",axis=XZero,axis_p,ymin=ymin,ymax=ymax,RightTicks(beginlabel=false,endlabel=false,Step=tick_major,step=tick_minor,begin=false,end=false,NoZero,extend=false,pTick=axis_p,ptick=grid_minor_p),above=false);
draw((-1,0)--(1,0),axis_p+thick_p);
draw((0,-1)--(0,1),axis_p+thick_p);

path unitsquare = (-1,-1)--(-1,1)--(1,1)--(1,-1)--cycle;
//filldraw(Circle((0,0),1)^^(scale(1.1)*unitsquare),evenodd+white,white); // mask the grid outside the circle
for(int angle = 1; angle < 360; ++angle) {
  if (angle % tick_every == 0) continue;
  draw(tick_low*dir(angle)--dir(angle),radial_p);
}
string angle_label;
for(int angle = 0; angle < 360; angle+=tick_every) {
  draw(0.97*dir(angle)--tick_high*dir(angle),radial_accent_p);
  angle_label = "$"+format("%d",angle)+"^{\circ}$";
  //angle_label = "$"+format("%d",angle)+"^{\circ}\ ("+format("%#1.3f",Cos(angle))+","+format("%#1.3f",Sin(angle))+")$"; // for cheat sheet
  label(rotate(angle)*Label(angle_label),tick_high*dir(angle),dir(angle),degree_p);
}
draw(Circle((0,0),1),circle_p);
Advertisements

Numeral systems, Or Until I get a proper math blog…

I have a young daughter and have been thinking for the past few years about how we count in the United States.  While there are many interesting alternative number systems, not all of these are useful for teaching a young child to count.  Many commentators on mathematics education have cited the? Chinese system for its monosyllabic digits and ease of composing them into the numbers 0-99, and others have pointed to other interesting mnemonic? features.  However, what I have in mind is inspired by what the late Tom O’Brien has done (paywalled).  I think that for older students, we can use the positional system without the extra letters, but I’ll leave them in for now. So, here’s my version of his system.

Digits 0-9 (monosyllabic versions)
Symbol Name
0 rho (as in zee-rho)
1 one
2 two
3 three
4 four
5 five
6 six
7 ven (as in seh-ven)
8 eight
9 nine
Base units (monosyllabic versions). If the SI prefix for ten were just one syllable, I might consider using it instead of “T”. I also don’t like the mixed distribution of uppercase and lowercase prefixes in SI. I would like to switch up the long vowel sounds (for powers of 10 greater than 0) and short vowel sounds (for powers of 10 less than 0), but I’ll save that for later. In particular, regard anything beyond ty=T as provisional.
Place value Symbol Name
10-3 k kū (pronounced koo)
10-2 h ta (pronounced tah)
10-1 t te (pronounced teh/oak)
100 U (not normally used) tu (not normally but pronounced tuh)
101 T ty (pronounced tee
102 H to (pronounced toh/toh)
103 K ku (pronounced kuh)
104 TK ky (pronounced kee
105 HK ko (pronounced koh)
106 M mu (pronounced muh)
107 TM my (pronounced mee
108 HM mo (pronounced moh)
109 B bu (pronounced buh)

Putting it all together

  • To get a sense of where this meets our current system, 43 becomes 4T3 and is read “fourty three”.
  • To get a sense of where this enforces uniformity over tradition, 37 becomes 3T7 and is read “threety ven”.
  • Try counting from 0 (rho) to 3T (threety).
  • For a more complicated example, 73029 becomes 7TK3K7T8 and is read “venky threeku twoty nine, but we would probably leave off the base units and write it in the traditional way with 0 (rho) as a placeholder.
  • For an even more complicated example, 3.142 becomes 31t4h2k and is read “three onete fourta twokū”, but we would probably also leave off the base units and write it in the traditional way.

Posters

Thanks to Fedex Office’s half price posters with mounting and laminating, I was able to turn the seven posters I’ve been creating over the past year into real products, 18 inch by 24 inch prints.  There will be a few errors—I’ve already found one grammatical error—but hopefully they’ll be more useful than not as reminders for students even if their size isn’t large enough for every student to read everything.

Image

Update: You can now find source code for this and other posters in my GitHub repository.

Diffusion and Brownian Motion

I was captivated by a series of tweets and videos from @MR_ABUD in connection with a Modeling Chemistry workshop, in particular:

I considered the contributions of how the drop entered the water and the relative densities of the water and dye to the rate of diffusion.  To eliminate some of the effects of the falling of the drop of dye through the water, I decided to do my own experiment in a shallow bowl.

I couldn’t use the blue food coloring because it contained something oily that quickly spread to cover the surface of the plate.  What I like about this video is that I did the experiment wrong.  I clearly plunged the right Q-tip too hard into the right (cold) plate, as seen by the ring of red.  There was evidently more food coloring in the right plate too.  However, even so you can see how the meager amount of red food coloring in the left (hot) water spread slowly in tendrils and became less concentrated.  I like doing this in the shallow dish, but in the future I will probably use a wick to transfer the food coloring to the center of the plate or maybe a glass tube that I can slowly withdraw.  Still, subtle observations win the day here.  By the way, I used these plates so that I could add approximately the same volume and height of water.

Here are the final pictures of the hot and cold, respectively, plates:

Red food coloring in hot water

Red food coloring in cold water

As another attempt to look at rates of diffusion to build a model of molecular motion, I wonder if wet paper towels would damp out some of the sloshing of the movement from depositing the food coloring but still allow diffusion.  We would have to measure the motion of the food coloring over a longer time, however.