平面间夹角
几何画板及绘图内容加载中,请稍等……
①本范例演示了两个平面之间夹角的计算与可视化;②涉及的核心数学概念包括向量叉积、空间几何、角度计算;③作图要点提炼自构造摘要,使用了Polygon(多边形)、Vector(向量)、Line(直线)、Angle(角度)等GeoGebra命令与对象;④适合高中及以上学段学习立体几何、向量与空间角的应用,可用于教学演示与几何探究。
GeoGebra 命令及参数
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 绘图提示语参考
绘制两个相交的平面,其中一个平面由点F11和F12定义,另一个平面由点F21、F22和F23定义。使用向量交叉积计算两个平面之间的夹角,并通过点I000找到两个平面的交线。首先创建四个点F11、F12、F21、F22、F23,然后创建两个平面,接着计算平面夹角,最后找到交线并标记交点I000。
以上提示语为根据原始绘图命令整理而来,仅供参考。