【C#】3点の座標に囲まれた三角形の面積を返す関数
関連記事
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
神武さまの行列が通過中も,ずっと考えてた,三角形の面積を返す関数@仕事
緊急に帰ってきて,調べてみた(笑
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; }これで落ち着いたわ(爆
以後はゆっくりしまする♥
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)