SShoalMetric
AIコーディングワークスペース

多角形の符号付き面積

座標の絶対値が1000000以下の整数頂点3~256個から、符号付き面積の2倍を返します。

● ● ●ShoalMetric●
ワークフロー · 多角形の符号付き面積 ×
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
✳座標の絶対値が1000000以下の整数頂点3~256個から、符号付き面積の2倍を返します。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
  1. 適用前に確認

    実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

  2. モデル

    OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。

  3. プロジェクト

    逆順と同一直線上の頂点を試し、自己交差は代数的に扱い、不正な座標を拒否します。

ワークフロー

多角形の符号付き面積

ワークフロー ↗
ワークフロー
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
AIコーディングワークスペース

座標の規約を、それを使うコードと結び付ける

ShoalMetricは、計算結果を利用するアプリケーションの文脈で計算を検討するためのWindows向けAIコーディング環境です。プロジェクトフォルダーを選び、座標の規約、期待する出力、アプリケーションが拒否すべきケースを説明してください。接続したアシスタントには、変更を提案する前に検証処理と利用側を調べてもらいます。意味が独立した数式の中に留まらず、幾何計算の作業に具体的なソフトウェア上の境界を設けられます。

polygon.pyを扱う作業では、点の順序を逆にすると符号付き面積の結果が変わる理由を尋ねられます。多角形の例を示し、呼び出し側に必要なのが向き、大きさ、あるいは別の表現なのかを明記してください。頂点が渡される順序も含め、その要件に照らして修正案をレビューします。目指すのは、アプリケーションのどこで使っても結果の意味が合意どおりになるコードです。

調査後は、単純な形状、逆順、仕様で扱う退化ケースを使ってプロジェクトの検証を実行します。計算と下流の動作を比較し、差異を会話に持ち帰ってください。ShoalMetricはOpenAI互換またはAnthropicのモデル接続に対応し、必要に応じて認証情報を使います。利用可能な場合はプロバイダーの規則に従って制限のないモデルを選べますが、ツール、コンテキスト容量、応答の制限は設定したモデルとサーバーに依存します。期待する幾何学的動作の検証は利用者が行う必要があります。

環境内で確認すべき幾何計算の前提

面積が負ならエラーとして扱うべきですか?

呼び出し側が向きを保持するために符号付きの量を使うかによります。符号を変更したり絶対値を取ったりする前に、必要な意味を指定し、結果を利用するコードへの影響を確認してください。

頂点の逆順をテストに含める理由は?

向きが仕様に含まれるか、実装がそれを保持するかが分かります。結果が独立に分かっている形状を使い、逆順にしたときの数値出力と呼び出し側の動作の両方を確認してください。

例はあらゆる多角形を検証しますか?

面積の計算だけからそう判断しないでください。交差や他の幾何学的性質の検査が必要なら、要件を別途示し、計算だけで保証されると思い込まず関連する実装を調べてください。

座標の上限はどう決めますか?

アプリケーションと数値表現の制約に基づいて決めます。アシスタントに限界値を伝え、それがどう強制されるか確認し、境界付近の値をテストしてください。サンプルコードの上限が、別のデータ規模での精度や性能を保証するわけではありません。

Windows版をダウンロード ↗

ShoalMetric · 更新日 2026-10-25