From c1d7138c68a9f15c8b53df0fb32de9be49d7e03b Mon Sep 17 00:00:00 2001 From: mkwiser Date: Sat, 6 Sep 2014 03:27:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=9D=E5=A1=9E=E5=B0=94=E4=B8=8E=E7=BA=BF?= =?UTF-8?q?=E6=AE=B5=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/graphics/isBezierLineCross.js | 31 ++++++++++++++++++++++++++++ src/graphics/isBezierSegmentCross.js | 28 +++++++++++++++++++++++++ src/graphics/isSegmentCross.js | 27 ++++++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 src/graphics/isBezierLineCross.js create mode 100644 src/graphics/isBezierSegmentCross.js create mode 100644 src/graphics/isSegmentCross.js diff --git a/src/graphics/isBezierLineCross.js b/src/graphics/isBezierLineCross.js new file mode 100644 index 0000000..953e779 --- /dev/null +++ b/src/graphics/isBezierLineCross.js @@ -0,0 +1,31 @@ +/** + * @file isBezierLineCross.js + * @author mengke01 + * @date + * @description + * 判断贝塞尔曲线与直线相交 + */ + +define( + function(require) { + + /** + * 判断贝塞尔曲线与直线相交 + * + * @param {Object} p0 起点 + * @param {Object} p1 控制点 + * @param {Object} p2 终点 + * @param {Object} s1 直线点1 + * @param {Object} s2 直线点2 + * @return {boolean|Object} 是否相交 + */ + function isBezierLineCross(p0, p1, p2, s1, s2) { + // y = kx + b + // x = at^2 + bt + c + // y = bt^2 + et + f + //(ka-d)t^2 + (kb-e)t + (kc+b-f) = 0 + } + + return isBezierLineCross; + } +); diff --git a/src/graphics/isBezierSegmentCross.js b/src/graphics/isBezierSegmentCross.js new file mode 100644 index 0000000..809f2ba --- /dev/null +++ b/src/graphics/isBezierSegmentCross.js @@ -0,0 +1,28 @@ +/** + * @file isBezierSegmentCross.js + * @author mengke01 + * @date + * @description + * 判断贝塞尔曲线与线段相交 + */ + +define( + function(require) { + + /** + * 判断贝塞尔曲线与线段相交 + * + * @param {Object} p0 起点 + * @param {Object} p1 控制点 + * @param {Object} p2 终点 + * @param {Object} s1 线段点1 + * @param {Object} s2 线段点2 + * @return {boolean|Object} 是否相交 + */ + function isBezierSegmentCross(p0, p1, p2, s1, s2) { + + } + + return isBezierSegmentCross; + } +); diff --git a/src/graphics/isSegmentCross.js b/src/graphics/isSegmentCross.js new file mode 100644 index 0000000..91fe922 --- /dev/null +++ b/src/graphics/isSegmentCross.js @@ -0,0 +1,27 @@ +/** + * @file isSegmentCross.js + * @author mengke01 + * @date + * @description + * 线段是否相交 + */ + +define( + function(require) { + + /** + * 线段是否相交 + * + * @param {Object} s1 点1 + * @param {Object} s2 点2 + * @param {Object} t1 点1 + * @param {Object} t1 点2 + * @return {boolean|Object} 是否相交 + */ + function isSegmentCross(s1, s2, t1, t2) { + + } + + return isSegmentCross; + } +);