Angle Between Planes by TKH
Loading the math board and drawing, please wait…
This example demonstrates the calculation and visualization of the angle between two planes in 3D space. It involves core mathematical concepts such as vector cross product, spatial geometry, and angle measurement. Key GeoGebra commands and objects used in the construction include Polygon, Vector, Line, and Angle, as outlined in the construction summary. It is suitable for high school and above, particularly for teaching and exploring applications of vectors and spatial angles in solid geometry.
GeoGebra Commands & Parameters
Polygon(Control1, Control2, 4) → poly2, i, j, k, l, R000, S000PointIn(poly2) → ControlRPolygon(Control1, Control2, 4) → controlpoly, a_1, b_1, d, e, Control3, Control4Vector(O000, K1) → k1Vector(O000, J1) → j1Vector(O000, I1) → i1Segment(A, B) → L01Segment(B, C) → L03Segment(C, D) → L05Segment(D, A) → L07Segment(A, E) → L02Segment(B, F) → L04Segment(F, G) → L10Segment(G, H) → L11Segment(E, H) → L12Segment(E, F) → L09Segment(C, G) → L06Segment(D, H) → L08Textfield(TTT10) → inputBox1Textfield(TTT20) → inputBox2TextToUnicode(TTT10) → TTT11Object(UnicodeToLetter[Element[TTT11, 1]]) → PP11Object(UnicodeToLetter[Element[TTT11, 2]]) → PP12TextToUnicode(TTT20) → TTT21Object(UnicodeToLetter[Element[TTT21, 1]]) → PP21Object(UnicodeToLetter[Element[TTT21, 2]]) → PP22Object(UnicodeToLetter[Element[TTT21, 3]]) → PP23Object(UnicodeToLetter[Element[TTT21, 4]]) → PP24Segment(PP11, PP12) → LL11_1Polygon(PP21, PP22, PP23, PP24) → plane11, pp21, pp22, pp23, pp24Intersect(pp22, pp23) → test13Intersect(pp21, pp24) → test14Intersect(pp21, pp23) → test11Intersect(pp22, pp24) → test12Polygon(PP21, PP22, PP23) → plane12, pp23_1, pp21_1, pp22_1Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT10], 1]])) → FFF11Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT10], 2]])) → FFF12Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT20], 1]])) → FFF21Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT20], 2]])) → FFF22Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT20], 3]])) → FFF23Element((Invert[{{Element[FFF22, 1, 1] - Element[FFF21, 1, 1], Element[FFF23, 1, 1] - Element[FFF21, 1, 1], Element[FFF11, 1, 1] - Element[FFF12, 1, 1]}, {Element[FFF22, 2, 1] - Element[FFF21, 2, 1], Element[FFF23, 2, 1] - Element[FFF21, 2, 1], Element[FFF11, 2, 1] - Element[FFF12, 2, 1]}, {Element[FFF22, 3, 1] - Element[FFF21, 3, 1], Element[FFF23, 3, 1] - Element[FFF21, 3, 1], Element[FFF11, 3, 1] - Element[FFF12, 3, 1]}}] * (FFF11 - FFF21)), 3, 1) → rSegment(PPP1, PPP2) → LL12_1Segment(PPP1, PPP3) → LL13Segment(PPP3, PP12) → LL11Segment(PP11, PPP2) → LL12Line(PPPP11, LL12_1) → lll11Line(PPPP12, LL12) → lll12Intersect(lll12, lll11) → I000Segment(I000, PPPP11) → lllll12Segment(I000, PPPP12) → lllll11Line(PPPP21, LL13) → lll21Line(PPPP22, LL11) → lll22Intersect(lll22, lll21) → PPPPP2Segment(PPPP22, PPPPP2) → lllll21Segment(PPPP21, PPPPP2) → lllll22Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT20], 4]])) → FFF24If(FFFFF1 ≟ 0, FFFF12, FFFF13) → FFFFFF2If(FFFFFFF2 > 90°, FFFFFFF2 - 90°, 90° - FFFFFFF2) → FFFFFFF3Polygon(Control1, Control2, 4) → poly1, c, f, g, h, P000, Q000Textfield(TTT30) → inputBox3TextToUnicode(TTT30) → TTT31Object(UnicodeToLetter[Element[TTT31, 1]]) → PP31Object(UnicodeToLetter[Element[TTT31, 2]]) → PP32Object(UnicodeToLetter[Element[TTT31, 3]]) → PP33Object(UnicodeToLetter[Element[TTT31, 4]]) → PP34Object(UnicodeToLetter[Element[TTT41, 1]]) → PPP41Object(UnicodeToLetter[Element[TTT41, 2]]) → PPP42Object(UnicodeToLetter[Element[TTT51, 1]]) → PPP51Object(UnicodeToLetter[Element[TTT51, 2]]) → PPP52Intersection(TTT21, TTT31) → TTT61Object(UnicodeToLetter[Element[TTT61, 1]]) → PPP61Object(UnicodeToLetter[Element[TTT61, 2]]) → PPP62Object("F" + (UnicodeToLetter[Element[TTT41, 1]])) → FFF41Object("F" + (UnicodeToLetter[Element[TTT41, 2]])) → FFF42Object("F" + (UnicodeToLetter[Element[TTT51, 1]])) → FFF51Object("F" + (UnicodeToLetter[Element[TTT51, 2]])) → FFF52Object("F" + (UnicodeToLetter[Element[TTT61, 1]])) → FFF61Object("F" + (UnicodeToLetter[Element[TTT61, 2]])) → FFF62Polygon(PP31, PP32, PP33, PP34) → poly3, pp31, pp32, pp33, pp34Segment(PPP61, PPP62) → line6162Length(TTT21) → length21Length(TTT31) → length31If(length21 ≤ length31, TTT21, TTT31) → TTT71Object("F" + (UnicodeToLetter[Element[TTT71, 1]])) → FFF71Object("F" + (UnicodeToLetter[Element[TTT71, 2]])) → FFF72Polygon(PP31, PP32, PP33) → poly4, m, n, pAngle(PPP41, HHH41, PPP51) → line41Angle(PPP42, HHH42, PPP52) → line52Angle(PPP42, HHH42, PPP51) → line42Angle(PPP41, HHH41, PPP52) → line51Angle(PPP41, HHH41, PPP51) → lline41Angle(PPP42, HHH42, PPP51) → lline42Angle(PPP41, HHH41, PPP52) → lline51Unique(RemoveUndefined[{GGG41, GGG42, GGG51, GGG52}]) → aaaaaaaaaaaaaaaaaaaaaaaaaa_3Frequency(RemoveUndefined[{GGG41, GGG42, GGG51, GGG52}]) → aaaaaaaaaaaaaaaaaaaaaaaaaa_2Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT30], 1]])) → FFF31Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT30], 2]])) → FFF32Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT30], 3]])) → FFF33Object("F" + (UnicodeToLetter[Element[TextToUnicode[TTT30], 4]])) → FFF34Determinant({{Element[FFF31, 2, 1] - Element[FFF32, 2, 1], Element[FFF31, 3, 1] - Element[FFF32, 3, 1]}, {Element[FFF32, 2, 1] - Element[FFF33, 2, 1], Element[FFF32, 3, 1] - Element[FFF33, 3, 1]}}) → aangle21Determinant({{Element[FFF21, 2, 1] - Element[FFF22, 2, 1], Element[FFF21, 3, 1] - Element[FFF22, 3, 1]}, {Element[FFF22, 2, 1] - Element[FFF23, 2, 1], Element[FFF22, 3, 1] - Element[FFF23, 3, 1]}}) → aangle11Determinant({{Element[FFF21, 1, 1] - Element[FFF22, 1, 1], Element[FFF21, 2, 1] - Element[FFF22, 2, 1]}, {Element[FFF22, 1, 1] - Element[FFF23, 1, 1], Element[FFF22, 2, 1] - Element[FFF23, 2, 1]}}) → aangle13Determinant({{Element[FFF31, 1, 1] - Element[FFF32, 1, 1], Element[FFF31, 2, 1] - Element[FFF32, 2, 1]}, {Element[FFF32, 1, 1] - Element[FFF33, 1, 1], Element[FFF32, 2, 1] - Element[FFF33, 2, 1]}}) → aangle23Segment(PPP41, HHH41) → angle411Segment(HHH41, PPP51) → angle412Segment(PPP42, HHH42) → angle421Segment(HHH42, PPP51) → angle422Segment(PPP41, HHH41) → angle511Segment(HHH41, PPP52) → angle512Segment(PPP42, HHH42) → angle521Segment(HHH42, PPP52) → angle522Segment(PPP41, HHH41) → anglea411Segment(HHH41, PPP51) → anglea412Segment(PPP42, HHH42) → anglea421Segment(HHH42, PPP51) → anglea422Segment(PPP41, HHH41) → anglea511Segment(HHH41, PPP52) → anglea512If(length21 ≤ length31, TTT31, TTT21) → TTT81Object("F" + (UnicodeToLetter[Element[TTT71, 3]])) → FFF73Object("F" + (UnicodeToLetter[Element[TTT71, 4]])) → FFF74Object("F" + (UnicodeToLetter[Element[TTT81, 1]])) → FFF81Object("F" + (UnicodeToLetter[Element[TTT81, 2]])) → FFF82Object("F" + (UnicodeToLetter[Element[TTT81, 3]])) → FFF83Object("F" + (UnicodeToLetter[Element[TTT81, 4]])) → FFF84Element((Invert[{{Element[FFF82, 1, 1] - Element[FFF81, 1, 1], Element[FFF83, 1, 1] - Element[FFF81, 1, 1], Element[FFF71, 1, 1] - Element[FFF72, 1, 1]}, {Element[FFF82, 2, 1] - Element[FFF81, 2, 1], Element[FFF83, 2, 1] - Element[FFF81, 2, 1], Element[FFF71, 2, 1] - Element[FFF72, 2, 1]}, {Element[FFF82, 3, 1] - Element[FFF81, 3, 1], Element[FFF83, 3, 1] - Element[FFF81, 3, 1], Element[FFF71, 3, 1] - Element[FFF72, 3, 1]}}] * (FFF71 - FFF81)), 3, 1) → r712Element((Invert[{{Element[FFF82, 1, 1] - Element[FFF81, 1, 1], Element[FFF83, 1, 1] - Element[FFF81, 1, 1], Element[FFF72, 1, 1] - Element[FFF73, 1, 1]}, {Element[FFF82, 2, 1] - Element[FFF81, 2, 1], Element[FFF83, 2, 1] - Element[FFF81, 2, 1], Element[FFF72, 2, 1] - Element[FFF73, 2, 1]}, {Element[FFF82, 3, 1] - Element[FFF81, 3, 1], Element[FFF83, 3, 1] - Element[FFF81, 3, 1], Element[FFF72, 3, 1] - Element[FFF73, 3, 1]}}] * (FFF72 - FFF81)), 3, 1) → r723Element((Invert[{{Element[FFF82, 1, 1] - Element[FFF81, 1, 1], Element[FFF83, 1, 1] - Element[FFF81, 1, 1], Element[FFF73, 1, 1] - Element[FFF74, 1, 1]}, {Element[FFF82, 2, 1] - Element[FFF81, 2, 1], Element[FFF83, 2, 1] - Element[FFF81, 2, 1], Element[FFF73, 2, 1] - Element[FFF74, 2, 1]}, {Element[FFF82, 3, 1] - Element[FFF81, 3, 1], Element[FFF83, 3, 1] - Element[FFF81, 3, 1], Element[FFF73, 3, 1] - Element[FFF74, 3, 1]}}] * (FFF73 - FFF81)), 3, 1) → r734Element((Invert[{{Element[FFF82, 1, 1] - Element[FFF81, 1, 1], Element[FFF83, 1, 1] - Element[FFF81, 1, 1], Element[FFF74, 1, 1] - Element[FFF71, 1, 1]}, {Element[FFF82, 2, 1] - Element[FFF81, 2, 1], Element[FFF83, 2, 1] - Element[FFF81, 2, 1], Element[FFF74, 2, 1] - Element[FFF71, 2, 1]}, {Element[FFF82, 3, 1] - Element[FFF81, 3, 1], Element[FFF83, 3, 1] - Element[FFF81, 3, 1], Element[FFF74, 3, 1] - Element[FFF71, 3, 1]}}] * (FFF74 - FFF81)), 3, 1) → r741Segment(B, G) → LLL111Segment(C, F) → LLL112Segment(A, H) → LLL121Segment(D, E) → LLL122Intersect(LLL111, LLL112) → LLL131Intersect(LLL121, LLL122) → LLL132Angle(B, LLL131, C) → LLL141Angle(F, LLL131, G) → LLL142Angle(B, LLL131, F) → LLL143Angle(C, LLL131, G) → LLL144Angle(A, LLL132, D) → LLL151Angle(E, LLL132, H) → LLL152Angle(A, LLL132, E) → LLL153Angle(D, LLL132, H) → LLL154Segment(A, F) → LLL211Segment(B, E) → LLL212Segment(D, G) → LLL221Segment(C, H) → LLL222Intersect(LLL211, LLL212) → LLL231Intersect(LLL221, LLL222) → LLL232Angle(A, LLL231, B) → LLL241Angle(E, LLL231, F) → LLL242Angle(E, LLL231, A) → LLL243Angle(B, LLL231, F) → LLL244Angle(D, LLL232, C) → LLL251Angle(G, LLL232, H) → LLL252Angle(D, LLL232, H) → LLL253Angle(C, LLL232, G) → LLL254Segment(A, C) → LLL311Segment(B, D) → LLL312Segment(E, G) → LLL321Segment(F, H) → LLL322Intersect(LLL311, LLL312) → LLL331Intersect(LLL321, LLL322) → LLL332Angle(A, LLL331, B) → LLL341Angle(C, LLL331, D) → LLL342Angle(A, LLL331, D) → LLL343Angle(B, LLL331, C) → LLL344Angle(E, LLL332, F) → LLL351Angle(G, LLL332, H) → LLL352Angle(E, LLL332, H) → LLL353Angle(F, LLL332, G) → LLL354Intersect(pp31, pp33) → test21Intersect(pp32, pp34) → test22Intersect(pp32, pp33) → test23Intersect(pp31, pp34) → test24Segment(LLL131, LLL132) → LLL6Segment(LLL231, LLL232) → LLL62Segment(LLL331, LLL332) → LLL63
AI Drawing Prompt Reference
Draw two intersecting planes, one defined by points F11 and F12, and the other by points F21, F22, and F23. Calculate the angle between the two planes using the cross product of vectors, and find the intersection line of the two planes with point I000. First, create four points F11, F12, F21, F22, and F23, then create two planes, calculate the angle between them, and finally find the intersection line and mark the intersection point I000.
The prompt above was compiled from the original drawing commands and is for reference only.