任意2曲線の交点計算
2010.09.01

Language

トピックス

閉じた図形のマウスヒットテスト
2010.08.26


閉じていない図形のマウスヒットテスト
2010.08.26


任意2曲線の交点計算
2010.09.01


点から曲線への垂線の計算
2010.09.01


2曲線への共通垂線の計算
2016.10.20


Input Method Frameworkによる
テキストエディター
2010.12.01


部品ライブラリ
2012.09.16


専用カラーチューザー
2012.9.23



Chapter: 1. ソースコードダウンロード, 2. テスト結果, 3. テスト項目・方法, 4. Test code

1. ソースコードダウンロード

=> IntersectionPts.zip



2. テスト結果戻る=>page top

図1 交点計算結果

: 類似のテスト => DrawTop test コマンド

操作ビデオ
幾何計算ライブラリテスト

3. テスト項目・方法戻る=>page top

交点計算を実行するメソッドはCurve2DUtil.get IntersectionPtsである。
このメソッドの信頼性、処理速度についてテストする。
一方の曲線を平行移動して、接触に近いような厳しい条件を作り出してテストする。

public static CrossCurvePT[] getIntersectionPts(Curve2D curve1, Curve2D curve2)
引数:

curve1 - 第1 Curve2D オブジェクト。
curve2 - 第2 Curve2D オブジェクト。

戻り値:

交点をCrossCurvePTオブジェクトの配列を返す。交点がないときは長さ0の配列を返す。



4. Test code戻る=>page top

4.1 クラス一覧

クラス

説明

IntersectionPts

public class IntersectionPts extends JFrame
Jframe, JScrollPane, JViewport, Panelオブジェクトを作成し組み立てる。
IntersectionPtsPanel

public class IntersectionPtsPanel extends JPanel

このオブジェクトの上に図1の図形と交点を描画する。

TestCase public class TestCase
=> TestCase of the RegionHitTest.
TestCurve public class TestCurve
=> TestCurve of the RegionHitTest.
パラメトリック曲線 Segment2D, Curve2D, Rectangle2DE, RoundRectangle2DE, Ellipse2DE, Line2DE, Polyline2DE,
CubicCurve2DE, GeneralCurve2DE, FergusonCurve2D
幾何計算ライブラリ Curve2DUtil.getIntersectionPts, CrossCurvePT, Matrix, Matrix2D


4.2 クラス仕様
4.2.1 public class IntersectionPtsPanel extends JPanel

メソッド

説明

createTestCase

public void createTestCase()

TestCaseオブジェクトを作成する。

paint public void paint(Graphics g)
処理:
このクラス(Panel)のオブジェクトに図形と交点を描画する。
TestCaseオブジェクトの各々に対して、次の処理を行う。
Curve2DUtil.getIntersectionPtsメソッドで2曲線の交点計算。

交点はCrossCurvePTの配列に出力。

・交点を小さな矩形で表示する。
・描画領域の下にTestCaseオブジェクトのタイトル(文字列)を描画する。


Copyright (c) 2009-2013
All other trademarks are property of their respective owners.