diff --git a/exercises/m3sdb-ed.html b/exercises/m3sdb-ed.html new file mode 100644 index 00000000..e60b1081 --- /dev/null +++ b/exercises/m3sdb-ed.html @@ -0,0 +1,453 @@ + + + + + 菱形的面積 + + + + +
+
+
+
+ randRangeNonZero( -1, 1 ) + randRangeUnique( 5, 11, 2 ) + IS_SQUARE == 1 ? [ A, A ] : [ A, B ] + randRange( 0, 359 ) + (function(){ + var els = []; + els.push( polar( _DIAS1, S ), polar( _DIAS2, S + 90 ), polar( _DIAS1, S + 180 ), polar( _DIAS2, S + 270 ), polar( _DIAS1, S ) ); + return els; + })() + (function(){ + var eli = []; + for( var i = 0; i < 4; i++ ) { + eli.push( reflectPoint( [ _PATHS[ i ], _PATHS[ i + 1 ] ], [ 0, 0 ] ) ); + } + eli.push( eli[ 0 ] ); + return eli; + })() + randRangeUnique( 0, 3, 2 ) + [ BLUE, ORANGE, GREEN ][ _RC[ 0 ] ] + max( _DIAS1, _DIAS2 ) + 0, _DIAS1 * 2 * _DIAS2 * 2 / 2 + [ BLUE, ORANGE, GREEN ][ _RC[ 1 ] ] + randRange( 1, 3 ) +
+ +
+

請計算以下菱形的面積(單位:公分)。

+
+ +
+
+ init( { range: [ [ -R * 2, R * 2 ], [ -R * 2, R * 2 ] ], scale : 10 } ); + path( _PATHS, { fill : COLORS, stroke : COLORS, opacity : 0.25 } ); + path( _PATHS, { stroke : COLORS } ); + + if( IS_SQUARE == 1 ) { + if( ty == 1 ) { + path( _ARROUND_PATHS, { strokeWidth : 1 } ); + label( polar( _DIAS1 + 4, S ), "\\Large{" + _DIAS1 * 2 + "}" ); + label( polar( _DIAS1 + 4, S + 90 ), "\\Large{" + _DIAS1 * 2 + "}" ); + } else if( ty == 2 ) { + line( _PATHS[ 0 ], _PATHS[ 2 ] ); + line( _PATHS[ 1 ], _PATHS[ 3 ], { stroke : C_COLORS } ); + label( polar( 2, S + 225 ), _DIAS1 * 2 ); + label( polar( 2, S + 45 ), _DIAS1 * 2, { color : C_COLORS } ); + } else { + var p1 = polar( _DIAS1 + 2.5, S + 90 ); + var re1 = reflectPoint( [ _ARROUND_PATHS[ 0 ], _ARROUND_PATHS[ 1 ] ], _PATHS[ 0 ] ); + var re2 = reflectPoint( [ _ARROUND_PATHS[ 0 ], _ARROUND_PATHS[ 1 ] ], _PATHS[ 2 ] ); + var mid = lineMidpoint( [ re1, re2 ] ); + line( _PATHS[ 0 ], re1, { strokeWidth : 1 } ); + line( _PATHS[ 2 ], re2, { strokeWidth : 1 } ); + path( parallelLine( [ [ 0, 0 ], _PATHS[ 2 ] ], p1 ), { strokeWidth : 1 } ); + path( parallelLine( [ [ 0, 0 ], _PATHS[ 0 ] ], p1 ), { strokeWidth : 1 } ); + label( polar( _DIAS1 + 5, S + 90 ), _DIAS1 * 2 ); + + var intersec = findIntersection( [ _PATHS[ 0 ], re1 ], parallelLine( [ [ 0, 0 ], _PATHS[ 2 ] ], p1 ) ); + var inang = cartToPolar( intersec ); + var inangOver = polar( inang[0] - 3, inang[1] ); + line( inangOver, getPedal( inangOver, _PATHS[ 0 ], [ intersec[0], intersec[1] ] ), { strokeWidth : 1, stroke : KhanUtil.RED } ); + + var intersec2 = findIntersection( [ _PATHS[ 2 ], re2 ], parallelLine( [ [ 0, 0 ], _PATHS[ 0 ] ], p1 ) ); + line( inangOver, getPedal( inangOver, [ intersec2[0], intersec2[1] ], [ intersec[0], intersec[1] ] ), { strokeWidth : 1, stroke : KhanUtil.RED } ); + + line( _PATHS[ 1 ], _PATHS[ 3 ], { stroke : C_COLORS } ); + label( polar( 2, S + 45 ), _DIAS1 * 2, { color : C_COLORS } ); + } + } else { + line( _PATHS[ 0 ], [ 0, 0 ], { stroke : RED } ); + line( _PATHS[ 1 ], [ 0, 0 ], { stroke : PURPLE } ); + line( _PATHS[ 2 ], [ 0, 0 ], { stroke : COLORS } ); + line( _PATHS[ 3 ], [ 0, 0 ], { stroke : COLORS } ); + + var m1 = lineMidpoint( [ _PATHS[ 0 ], [ 0, 0 ] ] ); + var m1_polar = cartToPolar( m1 ); + label( polar( m1_polar[ 0 ], m1_polar[ 1 ] - 20 ), A, { color : RED } ); + + var m2 = lineMidpoint( [ _PATHS[ 1 ], [ 0, 0 ] ] ); + var m2_polar = cartToPolar( m2 ); + label( polar( m2_polar[ 0 ], m2_polar[ 1 ] + 20 ), B, { color : PURPLE } ); + } +
+
+ +
+ _ANS平方公分 +
+ +
+
+

菱形的面積由長方形變化而來,

+

菱形面積 = 兩對角線相乘 \times \dfrac{1}{2}

+
+
+

根據題目的條件,對角線分別為
+ _DIAS1 \times 2 = _DIAS1 * 2
+ _DIAS2 \times 2 = _DIAS2 * 2

+

因為此圖形為正方形,兩對角線相同。

+

菱形面積 = _DIAS1 * 2 \times _DIAS2 * 2 \times \dfrac{1}{2}

+

\phantom{菱形面積} = _DIAS1 * 2 * _DIAS2 * 2 \times \dfrac{1}{2}

+

\phantom{菱形面積} = _ANS

+

答案為 _ANS 平方公分。

+
+
+ +
+ +
+
+ randRange( 0, 3 ) + [ '甲', '丙', '丁', '乙' ][ J ] + randFromArray( [ [ 4, 4, 4, 4 ], [ 4, 6, 4, 6 ] ] ) + (function(){ + var s = []; + $.each( _SIDES, function( i, elem ) { + s.push( polar( elem, i * 90 ) ); + }); + s.push( s[ 0 ] ); + return s; + })() + [ BLUE, ORANGE, GREEN ][ randRange( 0, 2 ) ] + lineMidpoint( [ [ 0, 0 ], _PATHS[ 0 ] ] ) + lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ) +
+ +
+

菱形的面積是_STR的______倍。

+
+ +
+
+ init( { range: [ [ - 7, 7 ], [ - 6, 6 ] ], scale: 30 } ); + + graph.pathFill = path( _PATHS, { stroke : COLORS, fill : COLORS, opacity : 0.5 } ); + graph.pathUnFill = path( _PATHS, { stroke : COLORS } ); + graph.line1 = line( _PATHS[ 0 ], _PATHS[ 2 ], { stroke : COLORS } ); + graph.line2 = line( _PATHS[ 1 ], _PATHS[ 3 ], { stroke : COLORS } ); + + graph.lab1 = label( polar( 2, 135 ), "\\Large{" + '甲' + "}" ); + graph.lab2 = label( polar( 2, 135 + 90 ), "\\Large{" + '丙' + "}" ); + graph.lab3 = label( polar( 2, 135 + 180 ), "\\Large{" + '丁' + "}" ); + graph.lab4 = label( polar( 2, 135 + 270 ), "\\Large{" + '乙' + "}" ); + +
+
+ +
+ 4 +
+ +
+
+

菱形面積 = 兩對角線相乘 \times \dfrac{1}{2}

+

假設兩條對角線各為 _SIDES[ 0 ] * 2 公分、 _SIDES[ 1 ] * 2 公分

+

則菱形面積 = _SIDES[ 0 ] * 2 \times _SIDES[ 1 ] * 2 \times \dfrac{1}{2} = _SIDES[ 0 ] * 2 * _SIDES[ 1 ]

+
+ graph.lab1.hide(); + graph.lab2.hide(); + graph.lab3.hide(); + graph.lab4.hide(); + graph.line1.hide(); + graph.line2.hide(); + + graph.line3 = line( _PATHS[ 2 ], _PATHS[ 0 ], { stroke : RED } ); + graph.line4 = line( _PATHS[ 1 ], _PATHS[ 3 ], { stroke : PURPLE } ); + graph.lab5 = label( [ L1[ 0 ], L1[1] + 1 ], _SIDES[ 0 ] * 2, { color : RED } ); + graph.lab6 = label( [ L2[ 0 ] - 1, L2[1] ], _SIDES[ 1 ] * 2, { color : PURPLE } ); +
+
+
+

_STR為一個三角形,
底邊和高是我們假設對角線的 \dfrac{1}{2}

+

因此_STR的底邊是 _SIDES[ 0 ] 公分,高是 _SIDES[ 1 ] 公分

+

_STR的面積 = _SIDES[ 0 ] \times _SIDES[ 1 ] \times \dfrac{1}{2} = roundTo( 0, _SIDES[ 1 ] * _SIDES[ 0 ] / 2 )

+
+ graph.lab1.show(); + graph.lab2.show(); + graph.lab3.show(); + graph.lab4.show(); + graph.pathFill.hide(); + graph.lab5.hide(); + graph.lab6.hide(); + graph.line3.hide(); + graph.line4.hide(); + line( [ 0, 0 ], _PATHS[ 0 ], { } ); + line( [ 0, 0 ], _PATHS[ 1 ], { } ); + line( [ 0, 0 ], _PATHS[ 2 ], { } ); + line( [ 0, 0 ], _PATHS[ 3 ], { } ); + + if( J == 0 ) { + path( [ _PATHS[ 2 ], [ 0, 0 ], _PATHS[ 1 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 1 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 2 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 2 ] ] ); + label( [ L3[ 0 ] + 0.5, L3[ 1 ] ], _SIDES[ 1 ], { color : RED } ); + label( [ L4[ 0 ], L4[ 1 ] - 0.5 ], _SIDES[ 0 ], { color : PURPLE } ); + } else if( J == 1 ) { + path( [ _PATHS[ 2 ], [ 0, 0 ], _PATHS[ 3 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 2 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 3 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 2 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 3 ] ] ); + label( [ L3[ 0 ], L3[ 1 ] + 0.5 ], _SIDES[ 0 ], { color : RED } ); + label( [ L4[ 0 ] + 0.5, L4[ 1 ] ], _SIDES[ 1 ], { color : PURPLE } ); + } else if( J == 2 ) { + path( [ _PATHS[ 4 ], [ 0, 0 ], _PATHS[ 3 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 3 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 4 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 3 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 4 ] ] ); + label( [ L3[ 0 ] - 0.5, L3[ 1 ] ], _SIDES[ 1 ], { color : RED } ); + label( [ L4[ 0 ], L4[ 1 ] + 0.5 ], _SIDES[ 0 ], { color : PURPLE } ); + } else { + path( [ _PATHS[ 4 ], [ 0, 0 ], _PATHS[ 1 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 4 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 1 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 4 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ); + label( [ L3[ 0 ], L3[ 1 ] - 0.5 ], _SIDES[ 0 ], { color : RED } ); + label( [ L4[ 0 ] - 0.5, L4[ 1 ] ], _SIDES[ 1 ], { color : PURPLE } ); + } +
+
+
+

菱形的面積 \div _STR = roundTo( 0, _SIDES[ 1 ] * _SIDES[ 0 ] * 2 ) \div roundTo( 0, _SIDES[ 1 ] * _SIDES[ 0 ] / 2 ) = 4

+

所以菱形的面積是_STR4 倍。

+
+
+ +
+ +
+
+ randRange( 1, 10 ) + randRangeUnique( 0, 4, 2 ) + [ '甲', '丙', '丁', '乙' ][ J ] + [ '甲', '丙', '丁', '乙' ][ K ] + randFromArray( [ [ 4, 4, 4, 4 ], [ 4, 6, 4, 6 ] ] ) + (function(){ + var s = []; + $.each( _SIDES, function( i, elem ) { + s.push( polar( elem, i * 90 ) ); + }); + s.push( s[ 0 ] ); + return s; + })() + randRangeUnique( 0, 3, 2 ) + [ BLUE, ORANGE, GREEN ][ C1 ] + [ BLUE, ORANGE, GREEN ][ C2 ] + lineMidpoint( [ [ 0, 0 ], _PATHS[ 0 ] ] ) + lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ) +
+ +
+

菱形中,_STR_STR2的面積相同嗎?

+

菱形中,甲、乙、丙、丁的面積相同嗎?

+
+ +
+
+ init( { range: [ [ - 7, 7 ], [ - 6, 6 ] ], scale: 30 } ); + + graph.pathFill = path( _PATHS, { stroke : COLORS, fill : COLORS, opacity : 0.5 } ); + graph.pathUnFill = path( _PATHS, { stroke : COLORS } ); + graph.line1 = line( _PATHS[ 0 ], _PATHS[ 2 ], { stroke : COLORS } ); + graph.line2 = line( _PATHS[ 1 ], _PATHS[ 3 ], { stroke : COLORS } ); + + graph.lab1 = label( polar( 2, 135 ), "\\Large{" + '甲' + "}" ); + graph.lab2 = label( polar( 2, 135 + 90 ), "\\Large{" + '丙' + "}" ); + graph.lab3 = label( polar( 2, 135 + 180 ), "\\Large{" + '丁' + "}" ); + graph.lab4 = label( polar( 2, 135 + 270 ), "\\Large{" + '乙' + "}" ); + +
+

\quad相同

+

\quad不相同

+
+ +
+
+
$('input:radio[name="radios"]:checked').val()
+
+ if(guess == null){ + return ""; + } + return guess == 0; +
+
+
+ +
+
+

菱形面積 = 兩對角線相乘 \times \dfrac{1}{2}

+

假設兩條對角線各為 _SIDES[ 0 ] * 2 公分、 _SIDES[ 1 ] * 2 公分

+

則菱形面積 = _SIDES[ 0 ] * 2 \times _SIDES[ 1 ] * 2 \times \dfrac{1}{2} = _SIDES[ 0 ] * 2 * _SIDES[ 1 ]

+
+ graph.lab1.hide(); + graph.lab2.hide(); + graph.lab3.hide(); + graph.lab4.hide(); + graph.line1.hide(); + graph.line2.hide(); + + graph.line3 = line( _PATHS[ 2 ], _PATHS[ 0 ], { stroke : RED } ); + graph.line4 = line( _PATHS[ 1 ], _PATHS[ 3 ], { stroke : PURPLE } ); + graph.lab5 = label( [ L1[ 0 ], L1[1] + 1 ], _SIDES[ 0 ] * 2, { color : RED } ); + graph.lab6 = label( [ L2[ 0 ] - 1, L2[1] ], _SIDES[ 1 ] * 2, { color : PURPLE } ); +
+
+
+

_STR為一個三角形,
底邊和高是大菱形對角線的 \dfrac{1}{2}

+

因此_STR的底邊是 _SIDES[ 0 ] 公分,高是 _SIDES[ 1 ] 公分

+

_STR的面積 = _SIDES[ 0 ] \times _SIDES[ 1 ] \times \dfrac{1}{2} = roundTo( 0, _SIDES[ 1 ] * _SIDES[ 0 ] / 2 )

+
+ graph.lab1.show(); + graph.lab2.show(); + graph.lab3.show(); + graph.lab4.show(); + graph.pathFill.hide(); + graph.lab5.hide(); + graph.lab6.hide(); + graph.line3.hide(); + graph.line4.hide(); + line( [ 0, 0 ], _PATHS[ 0 ], { } ); + line( [ 0, 0 ], _PATHS[ 1 ], { } ); + line( [ 0, 0 ], _PATHS[ 2 ], { } ); + line( [ 0, 0 ], _PATHS[ 3 ], { } ); + + if( J == 0 ) { + path( [ _PATHS[ 2 ], [ 0, 0 ], _PATHS[ 1 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 1 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 2 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 2 ] ] ); + label( [ L3[ 0 ] + 0.5, L3[ 1 ] ], _SIDES[ 1 ], { color : RED } ); + label( [ L4[ 0 ], L4[ 1 ] - 0.5 ], _SIDES[ 0 ], { color : PURPLE } ); + } else if( J == 1 ) { + path( [ _PATHS[ 2 ], [ 0, 0 ], _PATHS[ 3 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 2 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 3 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 2 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 3 ] ] ); + label( [ L3[ 0 ], L3[ 1 ] + 0.5 ], _SIDES[ 0 ], { color : RED } ); + label( [ L4[ 0 ] + 0.5, L4[ 1 ] ], _SIDES[ 1 ], { color : PURPLE } ); + } else if( J == 2 ) { + path( [ _PATHS[ 4 ], [ 0, 0 ], _PATHS[ 3 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 3 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 4 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 3 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 4 ] ] ); + label( [ L3[ 0 ] - 0.5, L3[ 1 ] ], _SIDES[ 1 ], { color : RED } ); + label( [ L4[ 0 ], L4[ 1 ] + 0.5 ], _SIDES[ 0 ], { color : PURPLE } ); + } else { + path( [ _PATHS[ 4 ], [ 0, 0 ], _PATHS[ 1 ] ], { fill : COLORS, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 4 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 1 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 4 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ); + label( [ L3[ 0 ], L3[ 1 ] - 0.5 ], _SIDES[ 0 ], { color : RED } ); + label( [ L4[ 0 ] - 0.5, L4[ 1 ] ], _SIDES[ 1 ], { color : PURPLE } ); + } +
+
+
+

_STR2也是一個三角形,
底邊和高是大菱形對角線的 \dfrac{1}{2}

+

因此_STR2的底邊是 _SIDES[ 0 ] 公分,高是 _SIDES[ 1 ] 公分

+

_STR2的面積 = _SIDES[ 0 ] \times _SIDES[ 1 ] \times \dfrac{1}{2} = roundTo( 0, _SIDES[ 1 ] * _SIDES[ 0 ] / 2 )

+
+ + if( K == 0 ) { + path( [ _PATHS[ 2 ], [ 0, 0 ], _PATHS[ 1 ] ], { fill : COLORS2, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 1 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 2 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 2 ] ] ); + label( [ L3[ 0 ] + 0.5, L3[ 1 ] ], _SIDES[ 1 ], { color : RED } ); + label( [ L4[ 0 ], L4[ 1 ] - 0.5 ], _SIDES[ 0 ], { color : PURPLE } ); + } else if( K == 1 ) { + path( [ _PATHS[ 2 ], [ 0, 0 ], _PATHS[ 3 ] ], { fill : COLORS2, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 2 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 3 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 2 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 3 ] ] ); + label( [ L3[ 0 ], L3[ 1 ] + 0.5 ], _SIDES[ 0 ], { color : RED } ); + label( [ L4[ 0 ] + 0.5, L4[ 1 ] ], _SIDES[ 1 ], { color : PURPLE } ); + } else if( K == 2 ) { + path( [ _PATHS[ 4 ], [ 0, 0 ], _PATHS[ 3 ] ], { fill : COLORS2, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 3 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 4 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 3 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 4 ] ] ); + label( [ L3[ 0 ] - 0.5, L3[ 1 ] ], _SIDES[ 1 ], { color : RED } ); + label( [ L4[ 0 ], L4[ 1 ] + 0.5 ], _SIDES[ 0 ], { color : PURPLE } ); + } else { + path( [ _PATHS[ 4 ], [ 0, 0 ], _PATHS[ 1 ] ], { fill : COLORS2, opacity : 0.5 } ); + line( [ 0, 0 ], _PATHS[ 4 ], { stroke : RED } ); + line( [ 0, 0 ], _PATHS[ 1 ], { stroke : PURPLE } ); + var L3 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 4 ] ] ); + var L4 = lineMidpoint( [ [ 0, 0 ], _PATHS[ 1 ] ] ); + label( [ L3[ 0 ], L3[ 1 ] - 0.5 ], _SIDES[ 0 ], { color : RED } ); + label( [ L4[ 0 ] - 0.5, L4[ 1 ] ], _SIDES[ 1 ], { color : PURPLE } ); + } +
+
+
+

可推證:甲、乙的面積皆相同

+

可推證:甲、乙、丙、丁的面積皆相同

+
+
+ +
+ +
+
+ + \ No newline at end of file