我在JSXGraph中的函数图和直线之间定义了intersection。当我移动直线时,交叉点会按预期更新其位置。但是当我移动函数图时,交叉点消失了。我需要在这里进行一些特殊配置吗?这是jsxgraph的错误吗?以下是问题的实时说明:
http://maldive.ccnmtl.columbia.edu/js/functiongraph-intersection.html
以下是代码:
var l1 = board.create('line', [
[2.5, 2.5],
[3.5, 3.5]
], {
name: 'line 1',
withLabel: true,
label: { position: 'rt', offset: [10, -20] },
strokeColor: 'blue',
strokeWidth: 2,
fixed: false
});
var f = function(x) {
var alpha = 0.3;
return (1 - alpha) *
(1.4 *
1.6 ** alpha) *
(x ** -alpha);
};
var l2 = board.create('functiongraph', [f], {
name: 'line 2',
withLabel: true,
strokeWidth: 2,
strokeColor: 'orange',
fixed: false
});
var i = board.create('intersection', [l1, l2, 0], {
name: 'intersection',
fixed: true,
showInfobox: false
});
答案 0 :(得分:2)
是的,确实这是JSXGraph中的一个错误。在版本0.99.6及之前,线和连续曲线之间的交点由根查找算法确定。现在,问题在于通过对曲线点(其是绘图算法的输出)应用变换来实现拖动曲线。在根查找算法中不考虑此变换,因为使用了函数项。
相反,两条曲线之间的交点是使用作为曲线绘制算法输出的点确定的。这里,已经应用了转换。这就是交叉点适用于曲线y = x
。
源代码现在包含一个错误修复程序,将在今天的每晚构建中提供。从现在开始,在线和曲线之间的交点处完成曲线/曲线交点。精度会有很小的损失,但这是不可见的。
感谢您指出这一点!