ベジエクリッピング法の応用例(JavaScript版)

このページの95%以上はベ ジエクリッピング法を用いた解法の例(曲線/曲面間の最短距離検出/交差判定など)
Bezier Clipping法は;1980年に曲面のレイトレーシングのため開発(SIGGRAPHで発表)
ベジエ曲線の凸包を利用し、多項式を線形計算のみで解が得られる
このページは結果画像を公開しておりますが、論文作成中につきプログラムは一部しか公開できません。

2 次元の例

複数例(論文用)

BezFunc: ベジエ関数の解

ratBezFunc: 有理4次ベジエ関数の解



BezLine: 線分から4次曲線の距離

ratBezLine: 有理ベジエ曲線と線分

ratBezLine 有理5次ベジエ曲線と線分の交差


高次曲線間の最短点


BezCurve: 曲線間の交差

radBezCurve: 有理ベジエ曲線間の交差



ratBezPoint :点から有理曲線の最短距離



ratBezCircle :円と有理曲線の交差

3次元の例



BezSurf :曲面のパラメトリック座標抽出

pnrBezSurf :点と曲面との最短距離


rat3Dface :平面と有理曲面との最短距離

rat3DCurve
空間有理ベジエ曲線間の最短距離/



ratCurveFace :
有理曲線軌道/球と有理曲面の最短距離


ratSurSphere :
有理曲面の半球と有理曲面の干渉






3次元空間で有理3次曲線間の最短


  1. ratSphCurve :


球と3次元空間有理曲線の最短距離
衝突



moveCircle :球とベジエ曲線との衝突判

包含球



ratSurTriangle :三角形と有理曲面の干渉

ratSurHkyuu :
有理曲面(三角形パッチ)の半球と有理曲面の干渉


メタボール



ratBezCircle :円(楕円)と有理曲線の交差

ratSurMball :メタボールと有理曲面の干渉

リ アルタイムメタボール


  1. MbalCurSur :メ タボールと有理曲線曲面(陰影)の干渉


レイマーチング


レ イマーチング2D

レ イマーチング3D

FFD



ratBezLine: 有理ベジエ曲線と線分の交差 変形前

ratBezLine: 有理ベジエ曲線と線分の交差 変形後




補足



BezMult :2ベジエ関数の乗算


  1. 判 定関数の次数
    非 有理
    有 理

    平面(線分)と曲面(曲線)の距離

    n
    n
    平面(線分)と曲線(曲面)の最短点 n-1
    2n-1

    点から曲面(曲線)の最短点

    2n-1
    3n-1

    曲面(曲線)と曲面(曲線)の最短点

    2n-1
    3n-1
    球(円、楕円)と曲面(曲線)の交差判 定 2n
    2n

  2. 有理関数の場合;