0

我是 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>

我希望有人能帮我解决这个问题!将感激不尽。谢谢

4

1 回答 1

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 上创建一张票。

于 2015-09-24T08:51:34.460 回答