Pythonでポリゴンの周囲を見つけるプログラム
順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの周囲を見つける必要があります。
したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は16になります。
2つの辺の長さは3で、2つの辺の長さは5なので、2 * 5 + 2 * 3=16です。
これを解決するには、次の手順に従います-
- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です
- ユークリッド距離である((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))の平方根を返します
- (x1、y1)と(x2、y2)の間
- メインの方法から、次の手順を実行します
- N:=ポイントのサイズ
- (firstx、firsty):=points [0]
- (prevx、prevy):=(firstx、firsty)
- res:=0
- 1からN-1の範囲のiについては、
- (nextx、nexty):=points [i]
- res:=res + getInfo(prevx、prevy、nextx、nexty)
- prevx:=nextx
- prevy:=nexty
- res:=res + getInfo(prevx、prevy、firstx、firsty)
- return res
例
理解を深めるために、次の実装を見てみましょう-
from math import sqrt def getInfo(x1, y1, x2, y2): return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) def solve(points): N = len(points) firstx, firsty = points[0] prevx, prevy = firstx, firsty res = 0 for i in range(1, N): nextx, nexty = points[i] res = res + getInfo(prevx,prevy,nextx,nexty) prevx = nextx prevy = nexty res = res + getInfo(prevx,prevy,firstx,firsty) return res points = [(0, 0), (0,5), (3, 5), (3,0)] print(solve(points))
入力
[(0, 0), (0,5), (3, 5), (3,0)]
出力
16.0
-
Pythonプログラムで円柱の周囲を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 直径と高さを入力し、円柱の周囲長を見つけます。 周囲長は、円柱、つまり長方形の側面図に他なりません。 したがって、周囲長=2 *(h + d) ここで、dは円柱の直径です hは円柱の高さです それでは、実装を見てみましょう 例 # Function to calculate the perimeter of a cylinder def perimeter( diameter, height ) : return 2 * ( diameter + height )
-
円柱の周囲を見つけるためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −直径と高さを入力し、円柱の周囲長を求めます 周囲は円柱の側面図、つまり長方形に他なりません したがって、周囲長=2 *(h + d) ここで、dは円柱の直径です hは円柱の高さです それでは、実装を見てみましょう 例 # Function to calculate the perimeter of a cylinder def perimeter( diameter, height ) : return 2 * ( diameter + height ) # ma