「今月の問題」 第17回 (平成13年2月)


上図のように平行四辺形ABCDがあります。
線分ADとCBは平行四辺形の対角線です。

今、線分CD上に点Eを3:1にとり、線分BEを引きました

この時、
        
(三角形@の面積) (三角形Aの面積) (三角形Bの面積)  の比を求めて下さい。

 

 

答えは 5:3:2です。


高橋さんの解答

ADとBEの交点をF,ADとBCの交点をOとします。三角形DEFと三角形ABFは
相似で、相似比は1:4より、DF:AF=1:4 DF=1とするとAF=4 AD=5
AO=ODより、AO=2.5 OF=4-2.5=1.5
よって面積比は、AO:AF:FDとなり2.5:1.5:1=5:3:2

別解を...CD上にGをBEとOGが平行になるようにとります。
OG平行BEより、CG:GE=CO:OB=1:1、CG=GE=星1.5
OG平行FEより,OF:FD=GE:ED=星1.5:星1=3:2 AO=ODより、
面積比は5:3:2です。


LIONさんの解答

ADとBEの交点をF、2つの対角線の交点をGとすると、
AB:DE=AF:DF=4:1、AG:DG=1:1より、
AG:GF:FD=5:3:2


あげさん、BossFさん、CRYING DOLPHINさんの解答

 線分ADと線分BCの交点をF、ADとBEの交点をGとする。
AF:DF=1:1(平行四辺形の性質より自明)
△ABGと△DEGで考えると4:1の相似形のため、AG:DG=4:1
AF:DF=5:5、AG:DG=8:2 → AF:FG:GD=5:3:2
△BAF、△BFG、△BGDの高さは同一のため、底辺にあたる
AF、FG、GDの比が面積比となる。
よって、△BAF:△BFG:△BGD=5:3:2


浜田さんからの回答

今回はCで作ってみました。
  C(0,0),D(1,0)
として点A(x,y)(−1<x≦1,0<y≦2)の位置を乱数によって決めます.Aにともない点B(x+CD,y)が決まり,点Eの位置と@,A,Bの面積が決まります.
 この試行を1000回繰り返し,比の平均を求めます.
 結果は,試行回数に関わらず,常に
  1:0.600000:0.400000
となりました.
 つまり,答は,
  5:3:2
となります.
 ちなみにこのプログラムでは,近似計算しかしていませんので,たとえ答があっていたとしても,算数的(数学的)な正解とはなりません.

/* 17.C */
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double rnd(void);
main(){
 double x[8],y[8],a[3],b[3],p[3],hen[4],s,menseki[4],wa[4];
 int j1,j2,j3,j4,j[4],j1_max=1000;
 /* 比を求める */
 x[1]=0; /* C */
 y[1]=0;
 x[2]=1; /* D */
 y[2]=0;
 y[5]=0; /* E */
 wa[0]=0;
 wa[1]=0;
 for(j1=1;j1<=j1_max;j1++){
  x[0]=2*rnd()-1; /* A */
  y[0]=2*rnd();
  x[3]=x[0]+x[2]; /* B */
  y[3]=y[0]+y[2];
  x[4]=x[3]*.5; /* 対角線の交点 */
  y[4]=y[3]*.5;
  x[5]=.75; /* E */
  /* AD:y-Ay=(Dy-Ay)/(Dx-Ax)*(x-Ax) -> (Dx-Ax)(y-Ay)=(Dy-Ay)x-Ax) */
  /* -> (Ay-Dy)x+(Dx-Ax)y=Dx*Ay-Ax*Dy */
  a[0]=y[0]-y[2];
  b[0]=x[2]-x[0];
  p[0]=x[2]*y[0]-x[0]*y[2];
  /* BE:(By-Ey)x+(Ex-Bx)y=Ex*By-Bx*Ey */
  a[1]=y[3]-y[5];
  b[1]=x[5]-x[3];
  p[1]=x[5]*y[3]-x[3]*y[5];
  x[6]=(b[1]*p[0]-b[0]*p[1])/(a[0]*b[1]-a[1]*b[0]); /* AD,BEの交点 */
  y[6]=(a[0]*p[1]-a[1]*p[0])/(a[0]*b[1]-a[1]*b[0]);
  /* 034, 346, 236 */
  for(j2=0;j2<=2;j2++){
   j[0]=3*(j2==1)+2*(j2==2);
   j[1]=3*(j2!=1)+4*(j2==1);
   j[2]=4*(j2==0)+6*(j2>0);
   s=0;
   for(j3=0;j3<=2;j3++){
    j4=(j3+1)%3;
    hen[j3]=sqrt((x[j[j3]]-x[j[j4]])*(x[j[j3]]-x[j[j4]])+(y[j[j3]]-y[j[j4]])*(y[j[j3]]-y[j[j4]]));
    s+=hen[j3];
   }
   s*=.5;
   menseki[j2]=s;
   for(j3=0;j3<=2;j3++){
    menseki[j2]*=s-hen[j3]; /* ヘロンの公式 */
   }
   menseki[j2]=sqrt(menseki[j2]);
   if(j2>0){
    wa[j2-1]+=menseki[j2]/menseki[0];
   }
  }
  printf("%d回試行 -> 1:%lf:%lf\n",j1,wa[0]/j1,wa[1]/j1); /* 今までの平均 */
 }
}
double rnd(void){
 return((double)rand()/32767.1);
}


mhayashi さんの解答

ADとBCの交点をO、ADとBEの交点をPとする.
三角形PABと三角形PDEは相似であり,
相似比は4:1より面積比は16:1となる.
ここで三角形PDEの面積を1とすると三角形PABの面積は16となる.

三角形PBDと三角形PDEに注目すると,
PB:PE=4:1より,三角形PBDの面積は4となり,
したがって三角形BEDの面積は5となる.
ここで三角形BEDと三角形BCDに注目してみると,
高さ共通で底辺の比が1:4より,三角形BCDの面積は20となる.

三角形OABと三角形BCDの面積比は,1:2であることは
明らかなので,三角形OABの面積は10となる.
また三角形PABの面積が16なので三角形OPBの面積は6となる.
三角形PBDの面積は

以上より,
三角形OAB:三角形OPB:三角形PBD=10:6:4=5:3:2
となる.