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

二次ベジェ曲線の点

絶対値1e100以下の二次元制御点三個から二次ベジェ曲線の点を計算します。

● ● ●CurveHearth●
ワークフロー · 二次ベジェ曲線の点 ×
from math import isfinite
def quadratic_bezier(points, t):
    def valid(v):
        return type(v) in (int, float) and -1e100 <= v <= 1e100 and isfinite(v)
    if type(points) not in (list, tuple) or len(points) != 3:
        raise ValueError("three control points")
    if any(type(p) not in (list, tuple) or len(p) != 2 or not all(map(valid,p)) for p in points):
        raise ValueError("bounded finite 2D controls")
    if not valid(t) or not 0 <= t <= 1: raise ValueError("parameter 0 through 1")
    def mix(a,b): return tuple((1-t)*x+t*y for x,y in zip(a,b))
    return mix(mix(points[0],points[1]),mix(points[1],points[2]))
✳絶対値1e100以下の二次元制御点三個から二次ベジェ曲線の点を計算します。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
プロジェクト
両端と中点を試し、制御点を変更せずに非有限座標や零〜一の範囲外のパラメーターを拒否します。
適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
モデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
ワークフロー

二次ベジェ曲線の点

ワークフロー ↗
ワークフロー
from math import isfinite
def quadratic_bezier(points, t):
    def valid(v):
        return type(v) in (int, float) and -1e100 <= v <= 1e100 and isfinite(v)
    if type(points) not in (list, tuple) or len(points) != 3:
        raise ValueError("three control points")
    if any(type(p) not in (list, tuple) or len(p) != 2 or not all(map(valid,p)) for p in points):
        raise ValueError("bounded finite 2D controls")
    if not valid(t) or not 0 <= t <= 1: raise ValueError("parameter 0 through 1")
    def mix(a,b): return tuple((1-t)*x+t*y for x,y in zip(a,b))
    return mix(mix(points[0],points[1]),mix(points[1],points[2]))
AIコーディングワークスペース

見た目の期待をコードレビューに取り込む

曲線の見た目が違う原因は、数式の誤りではなくデータの規約かもしれません。CurveHearthは、その表示結果とプロジェクトの実装を結び付けるWindows向けAIコーディング環境です。期待する形、制御データ、それを使うコンポーネントを提示し、それらの間の処理経路を接続モデルに確認させてください。

作業の一例は、エディターのプレビューが使う二次曲線の補助関数のレビューです。制御点の順序、パラメーターの範囲、呼び出し側による座標の渡し方をアシスタントに確認させます。前提が明確になってから範囲を絞った修正を依頼してください。プレビューはアプリケーション作業の例であり、有用な成果は自分のプロジェクトで理解し検証できるコードです。

両端点の厳密なテストデータと中間値で提案を検証し、アプリケーションの座標系で描画結果を確認します。補助関数が無効入力や非有限入力の拒否を保証するなら、その入力も含めてください。関連するプロジェクトテストを実行し、依頼していない受け入れ範囲の変更を探します。見た目の改善に、より広い仕様変更が隠れることがあるためです。

CurveHearthは対応するOpenAI互換またはAnthropicのエンドポイントに接続します。サービスで利用できる場合は無検閲AIモデルを選択できますが、ツール、コンテキスト、制限は構成に依存します。会話はレビューを支援し、編集が要件を満たすかはテストデータとインターフェースの確認によって判断します。

補間の変更に関する質問

ゆがんだ曲線を説明するにはどのような情報が役立ちますか?

制御点を実際の順序で提示し、パラメーター値と呼び出し側の座標規約を示してください。期待する見た目も含めます。補間の誤りと、アプリケーションの別の場所にある変換や表示の前提を区別しやすくなります。

端点の確認だけで十分ですか?

役立ちますが不十分です。両端点を正しく返しても、中間値を誤る実装はあり得ます。独立に計算した内部のテスト値を少なくとも1つ追加し、それを使うアプリケーションで曲線の経路を確認してください。

補助関数は現在の区間外の値も受け入れるべきですか?

範囲を拡張する前に、外挿を仕様に含めるか決めてください。どの呼び出し側に必要か、現在は無効入力をどう扱うかを確認します。補間の修正に隠さず、範囲拡張を明示してください。

エディターを動かさずにCurveHearthで見た目を確認できますか?

コードの確認で描画結果まで証明できるとは考えないでください。エディターやアプリケーションで実際の座標変換と表示を確認します。計算の提案を別途レビューし、統合によって意図した形になるか検証してください。

Windows版をダウンロード ↗

CurveHearth · 更新日 2026-10-25