# Khan/khan-exercises

Lots-o-refactoring in points_lines_and_planes

1 parent 46eb634 commit b9ffd98f9c00f7af0696190678f0e6dac21c3c86 beneater committed Apr 18, 2012
Showing with 240 additions and 520 deletions.
1. +240 −520 exercises/points_lines_and_planes.html
760 exercises/points_lines_and_planes.html
 @@ -1,575 +1,295 @@ - + - Points, Lines, and Planes + Points, lines, and planes -
+
+ randRange(-100, 100) / 150 + randRange(-100, 100) / 500 + randFromArray(["A", "F", "K", "U"]) + randFromArray(["B", "G", "L", "V"]) + randFromArray(["C", "H", "M", "W"]) + randFromArray(["D", "I", "N", "X"]) + randFromArray(["E", "J", "O", "Y"]) + randFromArray(["R", "S", "T", "P"]) +
- - - - (1/150)*randRange(-100, 100) - (1/500)*randRange(-100, 100) - - - (1/150)*randRange(0, 100) - (1/100)*randRange(-314, 314) - - [6 + (0 - 6)* cos(TILT) - (0 - 2)* sin(TILT), 2 + ( 0 - 6 ) * sin(TILT) + ( 0 - 2 ) * cos(TILT)] - [6 + (10 - 6)* cos(TILT) - (0 - 2)* sin(TILT), 2 + ( 10 - 6 ) * sin(TILT) + ( 0 - 2 ) * cos(TILT)] - [6 + (12 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)] - [6 + (2 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 2 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)] - - [6 + (3 - 6)* cos(TILT+TILT2) - (3 - 2)* sin(TILT+TILT2), 2 + ( 3 - 6 ) * sin(TILT+TILT2) + ( 3 - 2 ) * cos(TILT+TILT2)] - [6 + (9 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)] - - [6 + (6 - 6)* cos(TILT) - (2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 2 - 2 ) * cos(TILT)] - [6 + (6 - 6)* cos(TILT) - (6 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 6 - 2 ) * cos(TILT)] - [6 + (6 - 6)* cos(TILT) - (0 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 0 - 2 ) * cos(TILT)] - [6 + (6 - 6)* cos(TILT) - (-3 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -3 - 2 ) * cos(TILT)] - - [6 + (6 - 6)* cos(TILT) - (0.4 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 0.4 - 2 ) * cos(TILT)] - [6 + (6 - 6)* cos(TILT) - (.8 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( .8 - 2 ) * cos(TILT)] - - [6 + (6 - 6)* cos(TILT) - (1.2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 1.2 - 2 ) * cos(TILT)] - [6 + (6 - 6)* cos(TILT) - (1.6 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 1.6 - 2 ) * cos(TILT)] - - [6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)] - [6, 2] - [6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)] - [6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)] - - [6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)] - - { r: 0.1, fill: "red", stroke: "none" } - { r: 0.1, fill: "blue", stroke: "none" } - { r: 0.1, fill: "green", stroke: "none" } - { r: 0.1, fill: "orange", stroke: "none" } - { r: 0.1, fill: "purple", stroke: "none" } - - - randFromArray( [ "A", "F", "K", "U" ] ) - randFromArray( [ "B", "G", "L", "V" ] ) - randFromArray( [ "C", "H", "M", "W" ] ) - randFromArray( [ "D", "I", "N", "X" ] ) - randFromArray( [ "E", "J", "O", "Y" ] ) - randFromArray( [ "R", "S", "T", "P" ] ) - -
+

+ +
+
+ init({ + range: [ [-1, 15], [-5, 8] ], + scale: [ 30, 30 ] + }); + // plane + path([ + [6 + (0 - 6) * cos(TILT) - (0 - 2) * sin(TILT), 2 + (0 - 6) * sin(TILT) + (0 - 2) * cos(TILT)], + [6 + (10 - 6) * cos(TILT) - (0 - 2) * sin(TILT), 2 + (10 - 6) * sin(TILT) + (0 - 2) * cos(TILT)], + [6 + (12 - 6) * cos(TILT) - (4 - 2) * sin(TILT), 2 + (12 - 6) * sin(TILT) + (4 - 2) * cos(TILT)], + [6 + (2 - 6) * cos(TILT) - (4 - 2) * sin(TILT), 2 + (2 - 6) * sin(TILT) + (4 - 2) * cos(TILT)], + true + ]); + + style({ arrows: "->" }, function() { + + // line in the plane + line([6 + (3 - 6)* cos(TILT+TILT2) - (3 - 2)* sin(TILT+TILT2), 2 + ( 3 - 6 ) * sin(TILT+TILT2) + ( 3 - 2 ) * cos(TILT+TILT2)], + [6 + (9 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)]); + + // line in the plane (opposite direction hack to get double-headed arrow) + line([6 + (9 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], + [6 + (3 - 6)* cos(TILT+TILT2) - (3 - 2)* sin(TILT+TILT2), 2 + ( 3 - 6 ) * sin(TILT+TILT2) + ( 3 - 2 ) * cos(TILT+TILT2)]); + + // perpendicular line (top) + line([6 + (6 - 6)* cos(TILT) - (2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 2 - 2 ) * cos(TILT)], + [6 + (6 - 6)* cos(TILT) - (6 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 6 - 2 ) * cos(TILT)]); + + // Perpendicular line (bottom) + line([6 + (6 - 6)* cos(TILT) - (0 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 0 - 2 ) * cos(TILT)], + [6 + (6 - 6)* cos(TILT) - (-3 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -3 - 2 ) * cos(TILT)]); + }); + + // dashed line behind the plane + style({ strokeDasharray: "- " }, function() { + line([6 + (6 - 6)* cos(TILT) - (2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 2 - 2 ) * cos(TILT)], + [6 + (6 - 6)* cos(TILT) - (0 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( 0 - 2 ) * cos(TILT)]); + }); + + var r = randRange(0, 100) / 150; + var theta = randRange(-314, 314) / 100; + + // points + style({ r: 0.15, stroke: "none" }, function() { + circle([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], { fill: PINK }); + circle([6, 2], { fill: BLUE }); + circle([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], { fill: GREEN }); + circle([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], { fill: ORANGE }); + circle([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], { fill: "purple" }); + }); + + label([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], A, "above right" ); + label([6.1, 2], B, "above right"); + label([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], C, "above right" ); + label([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], D, "right" ); + label([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], E, "below" ); + + label([6 + (9.2 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9.2 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], "\\ell", "right"); + label([6 + (12.1 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12.1 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)], "\\mathcal{" + R + "}", "right"); +
+
-
- - - -
-

What is another way to name plane \mathcal{R}?

- -
- - init({ - range: [ [-1, 15], [-5, 8] ] - }); - path([ Plane_edgePt1, Plane_edgePt2, Plane_edgePt3, Plane_edgePt4, true ]); - line( Line_endPt1, Line_endPt2, { arrows: "->" } ); - line( Line_endPt2, Line_endPt1, { arrows: "->" } ); - line( Perp1_endPt1, Perp1_endPt2, {arrows: "->"}); - line( Perp2_endPt1, Perp2_endPt2, {arrows: "->"}); - - - line( Line_behindPlane1_Pt1, Line_behindPlane1_Pt2); - line( Line_behindPlane2_Pt1, Line_behindPlane2_Pt2); - - - circle( A, A_ATTRS ); - circle( B, B_ATTRS ); - circle( C, C_ATTRS ); - circle( D, D_ATTRS ); - circle( E, E_ATTRS ); - - - label([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], "a", "above right" ); - label([6.1, 2], "b", "above right"); - label([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], "c", "above right" ); - label([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], "d", "right" ); - label([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], "e", "below" ); - - - label([6 + (9.2 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9.2 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], "\\ell", "right"); - label([6 + (12.1 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12.1 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)], "\\mathcal{R}", "right"); - -
-
- +
+

+ What is another way to name plane \mathcal{R}? +

-
abe
-
aeb
-
eba
-
eab
-
bea
-
bae
-
aec
-
ace
-
eca
-
eac
-
cae
-
cea
-
bec
-
bce
-
ebc
-
ecb
-
cbe
-
ceb
+
A + B + E
+
A + C + E
+
A + E + B
+
A + E + C
+
B + A + E
+
B + C + E
+
B + E + A
+
B + E + C
+
C + A + E
+
C + B + E
+
C + E + A
+
C + E + B
+
E + A + B
+
E + A + C
+
E + B + A
+
E + B + C
+
E + C + A
+
E + C + B
-

Plane

-
+

Plane

+
- -
-

Planes can be named with three non-collinear points.
- Non-collinear points are points not on the same line.

-

Find three points in \mathcal{R} not on the same line. List them in any order.

-

For example, we can write \mathcal{R} as plane abe or plane ace or plane bec.

+
+
+

Planes can be named with three noncollinear points.

+
+ Noncollinear points are points that are not on the same line. +
+
+

+ Find any three points in the plane \mathcal{R} that are + not on the same line and list them in any order. +

+

+ For example, we can write \mathcal{R} as plane + A + B + E, plane A + C + E, + or plane B + E + C. +

- - -
- +
- - \overleftrightarrow{a b} - \overleftrightarrow{b a} - \overleftrightarrow{c b} - \overleftrightarrow{b c} - \overleftrightarrow{c a} - \overleftrightarrow{a c} - - \overleftrightarrow{a} - \overleftrightarrow{b} - \overleftrightarrow{c} - - \overline{a b} - \overline{b a} - \overline{c b} - \overline{b c} - \overline{c a} - \overline{a c} - - \overleftrightarrow{e c} - \overleftrightarrow{c e} - \overleftrightarrow{d a} - \overleftrightarrow{d b} - \overleftrightarrow{d c} - \overleftrightarrow{a d} - - - - [line_ab, line_ba, line_bc, line_cb, line_ac, line_ca] - - - randRange( 0, SOLUTIONS.length - 1 ) - SOLUTIONS[ IDX ] - - - [line_a, line_b, line_c] - - - randRange( 0, fake_SOLUTIONS1.length - 1 ) - fake_SOLUTIONS1[ IDX1 ] - - - [seg_ab, seg_ba, seg_bc, seg_cb, seg_ac, seg_ca] - - - randRange( 0, fake_SOLUTIONS2.length - 1 ) - fake_SOLUTIONS2[ IDX2 ] - - - [line_ec, line_ce, line_da, line_db, line_dc, line_ad] - - - randRange( 0, fake_SOLUTIONS3.length - 1 ) - fake_SOLUTIONS3[ IDX3 ] - + randFromArray([ + "\\overleftrightarrow{" + A + B + "}", + "\\overleftrightarrow{" + A + C + "}", + "\\overleftrightarrow{" + B + A + "}", + "\\overleftrightarrow{" + B + C + "}", + "\\overleftrightarrow{" + C + A + "}", + "\\overleftrightarrow{" + C + B + "}" + ]) + randFromArray([ + "\\overleftrightarrow{" + A + "}", + "\\overleftrightarrow{" + B + "}", + "\\overleftrightarrow{" + C + "}" + ]) + randFromArray([ + "\\overline{" + A + B + "}", + "\\overline{" + B + A + "}", + "\\overline{" + C + B + "}", + "\\overline{" + B + C + "}", + "\\overline{" + C + A + "}", + "\\overline{" + A + C + "}" + ]) + randFromArray([ + "\\overleftrightarrow{" + E + C + "}", + "\\overleftrightarrow{" + C + E + "}", + "\\overleftrightarrow{" + D + A + "}", + "\\overleftrightarrow{" + D + B + "}", + "\\overleftrightarrow{" + D + C + "}", + "\\overleftrightarrow{" + A + D + "}" + ])
-
-

What is another way to name line \ell?

- -
- - init({ - range: [ [-1, 15], [-5, 8] ] - }); - path([ Plane_edgePt1, Plane_edgePt2, Plane_edgePt3, Plane_edgePt4, true ]); - line( Line_endPt1, Line_endPt2, { arrows: "->" } ); - line( Line_endPt2, Line_endPt1, { arrows: "->" } ); - line( Perp1_endPt1, Perp1_endPt2, {arrows: "->"}); - line( Perp2_endPt1, Perp2_endPt2, {arrows: "->"}); - - - line( Line_behindPlane1_Pt1, Line_behindPlane1_Pt2); - line( Line_behindPlane2_Pt1, Line_behindPlane2_Pt2); - - - circle( A, A_ATTRS ); - circle( B, B_ATTRS ); - circle( C, C_ATTRS ); - circle( D, D_ATTRS ); - circle( E, E_ATTRS ); - - - label([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], "a", "above right" ); - label([6.1, 2], "b", "above right"); - label([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], "c", "above right" ); - label([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], "d", "right" ); - label([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], "e", "below" ); - - - label([6 + (9.2 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9.2 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], "\\ell", "right"); - label([6 + (12.1 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12.1 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)], "\\mathcal{R}", "right"); +

What is another way to name line \ell?

-
-
- -
-

SOLUTION

- -
-
• fake_SOLUTION1
• -
• fake_SOLUTION2
• -
• fake_SOLUTION3
• -
• \overleftrightarrow{a b c}
• - -
-
+
SOLUTION
+
+
• INCORRECT_1
• +
• INCORRECT_2
• +
• INCORRECT_3
• +
• \overleftrightarrow{A + B + C}
• +
-
-

You need any two points on the line.

-

Your points must have the \leftrightarrow above.
- Lines are named by two points and the \leftrightarrow, and
- the order of the letters doesn't matter.

-

\overleftrightarrow{a b}, \overleftrightarrow{b a}, \overleftrightarrow{b c}, \overleftrightarrow{c b}, \overleftrightarrow{a c}, \overleftrightarrow{c a}.

+
+

Lines are named using any two points on the line. The order doesn't matter.

+

The points must have the \leftrightarrow above because we're + naming a line, not a ray or a segment.

+

Another way to name line \ell is SOLUTION.

- -
- +
- - a, b, and c - a, c, and b - b, a, and c - b, c, and a - c, a, and b - c, b, and a - a, b, and d - a, c, and e - b, e, and c - e, c, and a - c, a, and d - c, b, and e - - - - [pts_abc, pts_acb, pts_bac, pts_bca, pts_cab, pts_cba, pts_abd, pts_ace, pts_bec, pts_eca, pts_cad, pts_cbe] - - - randRange( 0, points.length - 1 ) - -IDX + 11 - - - - [ 'Yes.', - 'Yes.', - 'Yes.', - 'Yes.', - 'Yes.', - 'Yes.', - 'No.', - 'No.', - 'No.', - 'No.', - 'No.', - 'No.' - ] - - - points[ IDX ] - sol[ IDX ] - + randFromArray([ + [[A, B, C], "Yes"], + [[A, B, D], "No"], + [[A, C, B], "Yes"], + [[A, C, E], "No"], + [[B, A, C], "Yes"], + [[B, C, A], "Yes"], + [[B, E, C], "No"], + [[C, A, B], "Yes"], + [[C, A, D], "No"], + [[C, B, A], "Yes"], + [[C, B, E], "No"], + [[E, C, A], "No"] + ])
+

Are the points toSentence(POINTS) collinear?

-
-

Are the points pts collinear?

- -
- - init({ - range: [ [-1, 15], [-5, 8] ] - }); - path([ Plane_edgePt1, Plane_edgePt2, Plane_edgePt3, Plane_edgePt4, true ]); - line( Line_endPt1, Line_endPt2, { arrows: "->" } ); - line( Line_endPt2, Line_endPt1, { arrows: "->" } ); - line( Perp1_endPt1, Perp1_endPt2, {arrows: "->"}); - line( Perp2_endPt1, Perp2_endPt2, {arrows: "->"}); - - - line( Line_behindPlane1_Pt1, Line_behindPlane1_Pt2); - line( Line_behindPlane2_Pt1, Line_behindPlane2_Pt2); - - - circle( A, A_ATTRS ); - circle( B, B_ATTRS ); - circle( C, C_ATTRS ); - circle( D, D_ATTRS ); - circle( E, E_ATTRS ); - - - label([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], "a", "above right" ); - label([6.1, 2], "b", "above right"); - label([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], "c", "above right" ); - label([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], "d", "right" ); - label([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], "e", "below" ); - - - label([6 + (9.2 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9.2 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], "\\ell", "right"); - label([6 + (12.1 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12.1 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)], "\\mathcal{R}", "right"); +
SOLUTION
+
+
• Yes
• +
• No
• +
-
+
+

Collinear means that they lie on the same line.

+

Can you draw a straight line through points toSentence(POINTS)?

+

Yes, points toSentence(POINTS) are collinear.

+

No, points toSentence(POINTS) are not collinear.

- -
-

solution

- -
-
• sol[0]
• -
• sol[11]
• -
-
- - - - -
-

Collinear means that they lie on the same line.

-

Are the named points all on the same line?

-
- -
- +
- - d and c - e and b - a and c - c and a - a and b - b and a - b and d - c and e - e and c - c and a - a and d - b and e - - - [pts_dc, pts_eb, pts_ac, pts_ca, pts_ab, pts_ba, pts_bd, pts_ce, pts_ec, pts_ca, pts_ad, pts_be] - - - randRange( 0, points.length - 1 ) - - - points[ IDX ] - "Yes." - "No." - -
- - -
-

Are the points pts collinear?

- -
- - init({ - range: [ [-1, 15], [-5, 8] ] - }); - path([ Plane_edgePt1, Plane_edgePt2, Plane_edgePt3, Plane_edgePt4, true ]); - line( Line_endPt1, Line_endPt2, { arrows: "->" } ); - line( Line_endPt2, Line_endPt1, { arrows: "->" } ); - line( Perp1_endPt1, Perp1_endPt2, {arrows: "->"}); - line( Perp2_endPt1, Perp2_endPt2, {arrows: "->"}); - - - line( Line_behindPlane1_Pt1, Line_behindPlane1_Pt2); - line( Line_behindPlane2_Pt1, Line_behindPlane2_Pt2); - - - circle( A, A_ATTRS ); - circle( B, B_ATTRS ); - circle( C, C_ATTRS ); - circle( D, D_ATTRS ); - circle( E, E_ATTRS ); - - - label([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], "a", "above right" ); - label([6.1, 2], "b", "above right"); - label([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], "c", "above right" ); - label([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], "d", "right" ); - label([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], "e", "below" ); - - - label([6 + (9.2 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9.2 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], "\\ell", "right"); - label([6 + (12.1 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12.1 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)], "\\mathcal{R}", "right"); - -
+ shuffle([A, B, C, D, E], 2)
-
-

solution

- -
-
• solution
• -
• wrong
• -
-
+

Are the points toSentence(POINTS) collinear?

+
Yes
+
+
• Yes
• +
• No
• +
-
-

Through any two points, there is exactly one line.

-

Points can be collinear even if the line isn't drawn in the figure.

-

Can you draw a straight line through these two points?
+

+

Through any two points, there is exactly one line.

+

Points can be collinear even if the line isn't drawn in the figure.

+

Can you draw a straight line through points toSentence(POINTS)? Actually, can you draw a straight line through any two points?

- -
+

Yes, points toSentence(POINTS) are collinear.

+
- - -
- +
- - - a, b, c, and e - a, c, and d - b, a, and c - b, c, a, and e - e, d, and a - c, d, and a - a, b, d, and e - a, c, d, and e - b, e, d, and c - e, c, d, and a - c, a, d, and b - c, b, d, and e - - - [pts_abce, pts_acd, pts_bac, pts_bcae, pts_eda, pts_cda, pts_abde, pts_acde, pts_bedc, pts_ecda, pts_cadb, pts_cbde] - - - randRange( 0, points.length - 1 ) - -IDX + 11 - - - - [ 'Yes.', - 'Yes.', - 'Yes.', - 'Yes.', - 'Yes.', - 'Yes.', - 'No.', - 'No.', - 'No.', - 'No.', - 'No.', - 'No.' - ] - - - points[ IDX ] - sol[ IDX ] - + randFromArray([ + [[A, B, C, E], "Yes", []], + [[A, B, D, E], "No", [A, B, E]], + [[A, C, D], "Yes", []], + [[A, C, D, E], "No", [A, C, E]], + [[B, A, C], "Yes", []], + [[B, C, A, E], "Yes", []], + [[E, C, D, A], "No", [E, C, A]], + [[B, E, D, C], "No", [B, E, C]], + [[C, A, D, B], "No", [C, A, B]], + [[C, B, D, E], "No", [C, B, E]], + [[C, D, A], "Yes", []], + [[E, D, A], "Yes", []] + ])
- -
-

Are the points pts coplanar?

- -
- - init({ - range: [ [-1, 15], [-5, 8] ] - }); - path([ Plane_edgePt1, Plane_edgePt2, Plane_edgePt3, Plane_edgePt4, true ]); - line( Line_endPt1, Line_endPt2, { arrows: "->" } ); - line( Line_endPt2, Line_endPt1, { arrows: "->" } ); - line( Perp1_endPt1, Perp1_endPt2, {arrows: "->"}); - line( Perp2_endPt1, Perp2_endPt2, {arrows: "->"}); - - - line( Line_behindPlane1_Pt1, Line_behindPlane1_Pt2); - line( Line_behindPlane2_Pt1, Line_behindPlane2_Pt2); - - - circle( A, A_ATTRS ); - circle( B, B_ATTRS ); - circle( C, C_ATTRS ); - circle( D, D_ATTRS ); - circle( E, E_ATTRS ); - - - label([6 + (4 - 6)* cos(TILT+TILT2) - (8/3 - 2)* sin(TILT+TILT2), 2 + ( 4 - 6 ) * sin(TILT+TILT2) + ( 8/3 - 2 ) * cos(TILT+TILT2)], "a", "above right" ); - label([6.1, 2], "b", "above right"); - label([6 + (8 - 6)* cos(TILT+TILT2) - (4/3 - 2)* sin(TILT+TILT2), 2 + ( 8 - 6 ) * sin(TILT+TILT2) + ( 4/3 - 2 ) * cos(TILT+TILT2)], "c", "above right" ); - label([6 + (6 - 6)* cos(TILT) - (-2 - 2)* sin(TILT), 2 + ( 6 - 6 ) * sin(TILT) + ( -2 - 2 ) * cos(TILT)], "d", "right" ); - label([6 + (17/6 + r*cos(theta) - 6)* cos(TILT) - (1.4 + r*sin(theta) - 2)* sin(TILT), 2 + ( 17/6 + r*cos(theta) - 6 ) * sin(TILT) + ( 1.4 + r*sin(theta) - 2 ) * cos(TILT)], "e", "below" ); - - - label([6 + (9.2 - 6)* cos(TILT+TILT2) - (1 - 2)* sin(TILT+TILT2), 2 + ( 9.2 - 6 ) * sin(TILT+TILT2) + ( 1 - 2 ) * cos(TILT+TILT2)], "\\ell", "right"); - label([6 + (12.1 - 6)* cos(TILT) - (4 - 2)* sin(TILT), 2 + ( 12.1 - 6 ) * sin(TILT) + ( 4 - 2 ) * cos(TILT)], "\\mathcal{R}", "right"); - -
-
- -
-

solution

- -
-
• sol[0]
• -
• sol[11]
• -
+

Are the points toSentence(POINTS) coplanar?

+ +

SOLUTION

+ +
+
• Yes
• +
• No
• +
+ +
+

Coplanar points are points that all lie on the same plane.

+

Can a flat surface pass through all the points without bending?

+

+ No, any flat surface that includes three of the points won't include the fourth. + For example, points toSentence(COPLANAR) are in plane + \mathcal{R}, but point D is not. +

+

+ Yes, points toSentence(POINTS) all lie within a single + flat surface. In this case, plane \mathcal{R}. +

+

+ Yes, there is always at least one flat surface that passes through + any three points. +

- - -
-

Coplanar points are points that lie on the same plane.

-

Pick three of the points and connect them. Now pick another three and connect them.
- Do both of the triangles lie on the same plane?

-

Can a flat surface pass through all the points without bending?

-
-
-
+