# Khan/khan-exercises

### Subversion checkout URL

You can clone with
or
.

# Points, Lines, and Planes exercise#18699

Closed
wants to merge 5 commits into from
+575 −0

### 4 participants

Hey, I was working on one of the queue'd up items, the "Points, Lines, and Planes" exercise.

I'm not sure how to make pull requests, but hopefully it goes through. :-)

 dddao first commit 3fedfd5 dddao Update exercises/points_lines_and_planes.html a516d25

I noticed a few typos for the hints of the first problem. I updated it, but I don't know if it's been changed in the pull request as well.

Cute pic, and yes it does update the pull request when you push to a branch you've put in a pull request for.

 dddao 4/08 8:33 PM, typo in the hints section for problem 1, reworded anoth… …er hint, and changed the solution format for problems 3-5 so that "Yes" choice always comes before "No" f6a18e2
commented on the diff
exercises/points_lines_and_planes.html
 ((64 lines not shown)) + +
+
+ + + +
+

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: "->" } );
 Owner beneater added a note Apr 10, 2012 You could simply do the calculation here, rather than defining all the s above, like this: line([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)], {arrows: "->"});  dddao added a note Apr 10, 2012 I think the only place where the endPt variables are used are in the graphie sections. I'm kind of new so I don't know much about general coding practices or efficiency, but is it generally a better idea not to define variables if they're actually constants and can be subbed in the code? to join this conversation on GitHub. Already have an account? Sign in to comment
commented on the diff
exercises/points_lines_and_planes.html
 ((113 lines not shown)) +
eba
+
eab
+
bea
+
bae
+
aec
+
ace
+
eca
+
eac
+
cae
+
cea
+
bec
+
bce
+
ebc
+
ecb
+
cbe
+
ceb
 Owner beneater added a note Apr 10, 2012 It might make sense to add a helper function (perhaps to utils/probability.js) that returns all the permutations, then you could do something like: 
P
 Where permutations([a, b, c, e], 3) is a function that returns an array of all the permutations of any 3 of [a, b, c, e]. The data-each will insert multiple 
s, that way you don't have to list them all. Also, 4 nPr 3 = 24 and you've only listed 18, so there are a few missing. Owner beneater added a note Apr 10, 2012 Oh wait, it's not 4 nPr 3 since not every permutation is valid -- the points have to be non-colinear, so it's 3 nPr 2 * 3 which is 18, so never mind. dddao added a note Apr 10, 2012 Yeah, it should be 18 or (4 nPr 2)*3. to join this conversation on GitHub. Already have an account? Sign in to comment
 dddao 4/09 8PM I forgot about Ben's last hint for Problem 5. But I'm not su… …re I could connect them in a way that wouldn't be confusing. Any configuration of four points with D included will be not co-planar, but if you connect them, your mind can still perceive them as being a quadrilateral, which can be put on a plane. Instead, I'll add a second hint about connecting three points at a time to form triangles, and then asking if those triangles are co-planar. 87256ed dddao Added a "Now" in there to make it sound like it's a magic trick. e1171db

I'm closing this pull request because it's old and can't be merged automatically. Sorry! Thanks for contributing to Khan Academy!

closed this
Commits on Apr 6, 2012
1. dddao authored
2. dddao authored
Commits on Apr 9, 2012
1. dddao authored
…er hint, and changed the solution format for problems 3-5 so that "Yes" choice always comes before "No"
Commits on Apr 10, 2012
1. dddao authored
…re I could connect them in a way that wouldn't be confusing. Any configuration of four points with D included will be not co-planar, but if you connect them, your mind can still perceive them as being a quadrilateral, which can be put on a plane.

Instead, I'll add a second hint about connecting three points at a time to form triangles, and then asking if those triangles are co-planar.
2. dddao authored
Showing with 575 additions and 0 deletions.
1. +575 −0 exercises/points_lines_and_planes.html
575 exercises/points_lines_and_planes.html
 @@ -0,0 +1,575 @@ + + + + + Points, Lines, and Planes + + + +
+ +
+ + + + + (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" ] ) + +
+ +
+
+ + + +
+

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: "->" } ); Owner beneater added a note Apr 10, 2012 You could simply do the calculation here, rather than defining all the s above, like this: line([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)], {arrows: "->"});  dddao added a note Apr 10, 2012 I think the only place where the endPt variables are used are in the graphie sections. I'm kind of new so I don't know much about general coding practices or efficiency, but is it generally a better idea not to define variables if they're actually constants and can be subbed in the code? to join this conversation on GitHub. Already have an account? Sign in to comment + 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"); + +
+
+ + +
+
abe
+
aeb
+
eba
+
eab
+
bea
+
bae
+
aec
+
ace
+
eca
+
eac
+
cae
+
cea
+
bec
+
bce
+
ebc
+
ecb
+
cbe
+
ceb
Owner beneater added a note Apr 10, 2012 It might make sense to add a helper function (perhaps to utils/probability.js) that returns all the permutations, then you could do something like: 
P
 Where permutations([a, b, c, e], 3) is a function that returns an array of all the permutations of any 3 of [a, b, c, e]. The data-each will insert multiple 
s, that way you don't have to list them all. Also, 4 nPr 3 = 24 and you've only listed 18, so there are a few missing. Owner beneater added a note Apr 10, 2012 Oh wait, it's not 4 nPr 3 since not every permutation is valid -- the points have to be non-colinear, so it's 3 nPr 2 * 3 which is 18, so never mind. dddao added a note Apr 10, 2012 Yeah, it should be 18 or (4 nPr 2)*3. to join this conversation on GitHub. Already have an account? Sign in to comment + +
+

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.

+
+
+ + + +
+ +
+ + \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 ] + +
+ +
+

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"); + +
+
+ +
+

SOLUTION

+ +
+
• fake_SOLUTION1
• +
• fake_SOLUTION2
• +
• fake_SOLUTION3
• +
• \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}.

+
+
+ + + +
+ +
+ + 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 ] + +
+ + +
+

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

+ +
+
• 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"); + +
+
+ +
+

solution

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

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?
+ Actually, can you draw a straight line through any two points?

+ +
+
+ + + + +
+ +
+ + + 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 ] + +
+ + +
+

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]
• +
+
+ + +
+

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?

+
+
+ +
+
+ +
Something went wrong with that request. Please try again.