2025年度「プログラミング言語1」のページ

発展問題

2025年4月21日出題

  1. 三角形の心についての問題。平面上の三角形の各頂点の座標を入力し、以下に示す点の座標を出力するプログラムをそれぞれ書け。(ヒント参考データあり)

    入出力の書式は各自で決め、取扱説明書に書式を記載すること。

    1. X1   内心
    2. X2   重心
    3. X3   外心
    4. X4   垂心
    5. X5   九点円の中心(外心と垂心の中点)
    6. X6   類似重心(ルモワーヌ点、グレーベ点)
    7. X7   ジェルゴンヌ点
    8. X8   ナーゲル点
ヒント

それぞれの心について、以下の手順を実行するプログラムを書くとよいでしょう。

  1. 六つの数を入力し、三角形の頂点の座標 A = ( x A , y A ) ,  B = ( x B , y B ) ,  C = ( x C , y C ) とする。
  2. B C , C A , A B の長さ a , b , c a = ( x B x C ) 2 + ( y B y C ) 2 b = ( x C x A ) 2 + ( y C y A ) 2 c = ( x A x B ) 2 + ( y A y B ) 2 で計算する。
  3. λ = f ( a , b , c ) ,  μ = f ( b , c , a ) ,  ν = f ( c , a , b ) を計算する。 ただし、 f は心ごとに決まっている関数で、「三角形の心」に書かれている。
  4. 心の座標 ( xX , yX ) x X = λ x A + μ x B + ν x C λ + μ + ν y X = λ y A + μ y B + ν y C λ + μ + ν で計算する。
  5. xXyXを出力する。
参考データ
A=(0,0), B=(1,0), C=(107169,835169) の場合
x座標 y座標
A 0.00000000000000000000 0.00000000000000000000
B 1.00000000000000000000 0.00000000000000000000
C 0.63313609467455621301 0.28005111399288123278
X1 0.61538461538461538461 0.13002373149669485807
X2 0.54437869822485207100 0.09335037133096041092
X3 0.50000000000000000000 −0.27467513278676788768
X4 0.63313609467455621301 0.82940137956641700816
X5 0.56656804733727810650 0.27736312338982456023
X6 0.65734265734265734265 0.16548474917761163755
X7 0.62878195824494808529 0.21135933131538206247
X8 0.40236686390532544378 0.02000365099949151662

奈良女子大学生活環境学部文化情報学科生活情報通信科学コース