Javascript jsxgraph:functiongraph和line之间的交点消失

Javascript jsxgraph:functiongraph和line之间的交点消失,javascript,jsxgraph,Javascript,Jsxgraph,我在JSXGraph中定义了functiongraph和直线之间的距离。移动直线时,交点将按预期更新其位置。但是当我移动functiongraph时,交叉点消失了。我需要在这里做一些特殊的配置吗?这是jsxgraph的一个bug吗?以下是问题的现场演示: 下面是代码: var l1 = board.create('line', [

我在JSXGraph中定义了functiongraph和直线之间的距离。移动直线时,交点将按预期更新其位置。但是当我移动functiongraph时,交叉点消失了。我需要在这里做一些特殊的配置吗?这是jsxgraph的一个bug吗?以下是问题的现场演示:

下面是代码:

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                                                                                                              
}); 

是的,这确实是JSXGraph中的一个bug。在版本0.99.6及之前的版本中,直线和连续曲线之间的交点由根查找算法确定。现在的问题是,拖动曲线是通过对曲线点(打印算法的输出)应用变换来实现的。在寻根算法中不考虑这种转换,因为使用了函数项

相反,两条曲线之间的交点是使用曲线打印算法的输出点确定的。在这里,已经应用了转换。这就是为什么交点适用于曲线
y=x

源代码现在包含了一个bug修复,它将在今天的夜间构建中提供。从现在起,直线和曲线之间的交点将与曲线/曲线交点一样进行。精度会有一点损失,但这是不可见的


谢谢你指出这一点

如果使用
y=x
作为行的函数,会发生什么情况?@ChrisG很好的建议。我已经更新了代码,将我的functiongraph定义为
-x+5
,这样它就可以很好地与图中的另一行相交。你可以在这里看到这个更新版本:问题仍然存在,所以似乎是functiongraph的问题。我的意思是用一个函数替换蓝线,所以你有两个函数。@ChrisG哦,好的,是的!这确实有效:所以,我想我现在可以把它作为一个解决办法。尽管如此,functiongraph与一条线组合时的行为可能会得到改进。