JSXGraph - 从交叉点

时间:2015-09-21 13:11:55

标签: javascript jsxgraph

我是jsxgraph的新手,也不是那么精通js,我希望你能指出我正确的问题。

我正在尝试: 1)创建通过矩形的线的交叉点(将有大量这些线), 2)用不同颜色的多边形填充它们之间的空间。

以下是整段代码(由于某种原因,jsfiddle不想工作!:/): https://jsfiddle.net/czarrna/me55dw4h/4/

我的代码无法正常工作:/

var typical_mn = board.create('polygon', [t_1, t_2, t_3, t_4], {
  fillColor: '#ff9600',
  withLines: false
});

var p1_1 = board.create('intersection', [l_20, typical_mn, 0], {
  visible: true
});
var p1_2 = board.create('intersection', [l_20, typical_mn, 1], {
  visible: true
});

var p2_1 = board.create('intersection', [l_30, typical_mn, 0], {
  visible: true
});
var p2_2 = board.create('intersection', [l_30, typical_mn, 1], {
  visible: true
});

var p3_1 = board.create('intersection', [l_40, typical_mn, 0], {
  visible: true
});
var p3_2 = board.create('intersection', [l_40, typical_mn, 1], {
  visible: true
});

var pol_20_30 = board.create('polygon', [p1_1, p1_2, p2_1, p2_1], {
  fillColor: '#555',
  withLines: false
});

var pol_30_40 = board.create('polygon', [p2_1, p2_1, p3_1, p3_2], {
  fillColor: '#333',
  withLines: false
});
<script src="http://czarrna.kei.pl/jsxgraph/src/loadjsxgraph.js"></script>
<script src="http://czarrna.kei.pl/jsxgraph/distrib/jsxgraph.css"></script>
<div id="jxgbox" class="jxgbox" style="width: 500px; height: 500px;"></div>

我希望有人能帮助我!将感激不尽。谢谢

1 个答案:

答案 0 :(得分:2)

如今,jsfiddle中的外部库必须包含在https中。 JSXGraph可以通过https获得,例如https://cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.3/jsxgraphcore.js

目前,多边形和线之间没有交叉算法。但是可以将多边形边界与线相交。为此,多边形的withLines属性必须设置为true。然后可以使用borders数组访问边框。

在您的示例中,它看起来像

var typical_mn = board.create('polygon',[t_1,t_2,t_3, t_4], {fillColor:'#ff9600', withLines:true});

in_20 = board.create('intersection', [l_20, typical_mn.borders[0]],{visible:true});
in_30 = board.create('intersection', [l_30, typical_mn.borders[0]],{visible:true});
in_40 = board.create('intersection', [l_40, typical_mn.borders[0]],{visible:true});

线和多边形之间的交叉是一个有趣的功能,我将在github上创建一个票。