【C#】3点の座標に囲まれた三角形の面積を返す関数
関連記事
- 【#CSharp】C#が2025年「プログラミング言語オブ・ザ・イヤー」獲得 【2026年01月16日(金)】
- なんと!今週の土曜日も仕事してますた.来週の土曜日も仕事臭い.TCPソケット通信をゴリゴリ書いてる 【2025年08月30日(土)】
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
神武さまの行列が通過中も,ずっと考えてた,三角形の面積を返す関数@仕事
緊急に帰ってきて,調べてみた(笑
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;
}
これで落ち着いたわ(爆以後はゆっくりしまする♥

コメント
広島カープの羽月隆太郎容疑者、「ゾンビたばこ」使用の疑いで逮捕
【#総選挙】衆議院選挙 きょう公示 12日間の選挙戦へ
青森 スノーモービル乗るため入山の約10人と連絡取れず 遭難か
【#不発弾】宮崎市中心部の不発弾 17日に処理 避難指示や交通規制予定(26/1/17)
【総選挙】立民 公明 衆院選に向け新党結成で合意(26/1/15)
【大雪】大雪と雷及び突風に関する全般気象情報 第3号(26/1/1)
ブルーレイはオワコン? ソニー生産終了が意味する「次世代メディア」の失敗
ビジネスホテルで火事 1人遺体で見つかる 宿泊客4人けが 水戸
【#ドラセナ】御神木たる幸福の木(ドラセナ):花芽がほころびだした!すごい香りで部屋が満たされてる!