【C#】3点の座標に囲まれた三角形の面積を返す関数
関連記事
【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
神武さまの行列が通過中も,ずっと考えてた,三角形の面積を返す関数@仕事
緊急に帰ってきて,調べてみた(笑
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; }これで落ち着いたわ(爆
以後はゆっくりしまする♥
コメント
宮崎ー台湾 国際定期便が週2往復に増便へ 来月30日から(25/2/15)
『にっぽん縦断 こころ旅』4月から田中美佐子が新たな旅人に 火野正平さんが14年間担当
オリックス・バファローズのキャンプ見学に行ってきた,昨日(爆(25/2/9)
【大雪】9日も降り続く見込み 交通影響に警戒 雪崩など注意を(25/2/9)
日産、ホンダとの統合合意撤回へ(25/2/5)
【特殊詐欺:トクリュウ】+1-844-173-3313から電話キター 特殊詐欺だぁ~~これはアカンヤツ
備蓄米放出へ準備、流通不足で初 政府、買い戻し条件に売り出し