【C#】3点の座標に囲まれた三角形の面積を返す関数
関連記事
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【#RaspberryPI】ラズパイでsudo起動の.Net6アプリがデバグできない件 【2023年04月22日(土)】
神武さまの行列が通過中も,ずっと考えてた,三角形の面積を返す関数@仕事
緊急に帰ってきて,調べてみた(笑
3辺の距離が判っているんなら,ヘロンの公式なるものを使えばいいらしい
3辺a,b,cが決まっているんなら,下の式にて
//ヘロンの公式
//s=(a+b+c)/2
//S=√s(s-a)(s-b)(s-c)
今回は,3点の座標から面積を出したいので
まず2点間の距離を3セット出して,ヘロンの公式にぶち込めばよろしい感じ
C#なソースはこちら(ただし,未コンパイル,未テスト)
//3点の座標に囲まれた三角形の面積 public float TriangleArea(float x1, float y1, float x2, float y2, float x3, float y3) { float result = 0; float ln1 = LineLen(x1, y1, x2, y2); float ln2 = LineLen(x2, y2, x3, y3); float ln3 = LineLen(x3, y3, x1, y1); //ヘロンの公式 //s=(a+b+c)/2 //S=√s(s-a)(s-b)(s-c) float s1 = (ln1 + ln2 + ln3) / 2.0f; float s2 = s1 * (s1 - ln1) * (s1 - ln2) * (s1 - ln3); result = Math.Sqrt(s2); return result; } //2点間の距離を返す public float LineLen(float x1, float y1, float x2, float y2) { float result = 0; float l1 = Math.Pow(x1 - x2, 2.0f) + Math.Pow(y1 - y2, 2.0f); result = Math.Sqrt(l1); return result; }これで落ち着いたわ(爆
以後はゆっくりしまする♥
コメント
風が強いな,オイ!
【#象印】給湯ポットがついに壊れたピエン
【訃報】島崎俊郎さん死去 「オレたちひょうきん族」などで人気
【速報】宮崎市の大淀川河口付近で6人乗りの船が転覆 2人が意識不明の重体
【#巨大地震】フィリピンでM7.6の地震 津波注意報発令中(23/12/3)
食欲が無いでがす