如何使多边形的顶点在 JSXGraph 中不可见

how to make the vertices of a polygon not visible in JSXGraph

这是一个初学者问题。 当我使用 board.create('polygon',[[0,0],[0,1],[1,1],[1,0]]) 时,JSXgraph 创建了一个顶点和边界线可见的多边形。我可以用 board.create('polygon',[[0,0],[0,1],[1,1],[1,0]],{withLines: false}) 隐藏边框,但我不知道如何隐藏顶点。我在 manual 中看到可以更改顶点的属性,但我不知道语法如何做到这一点。我可以通过将顶点分别定义为点并在多边形的定义中使用点名称来绕过,但我更愿意通过向多边形的属性列表添加一些东西来实现相同的目的。任何帮助将不胜感激。

基本上有两种可能性:

  • 直接通过
  • 设置顶点的可见性

     var board = JXG.JSXGraph.initBoard("jxgbox", {
                boundingbox: [-5, 5, 5, -5],
                axis: false
            });
      var pol = board.create('polygon',[[0,0],[0,1],[1,1],[1,0]], 
                  {vertices: {visible:false}});
.jxgbox {
    /* for IE 7 */
    position: relative;
    overflow: hidden;
    background-color: #ffffff;
    border-style: solid;
    border-width: 1px;
    border-color: #356AA0;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -ms-touch-action: none;
}

.JXGtext {
    /* May produce artefacts in IE. Solution: setting a color explicitly. */
    background-color: transparent;
    font-family: Arial, Helvetica, Geneva, sans-serif;
    padding: 0;
    margin: 0;
}

.JXGinfobox {
    border-style: none;
    border-width: 1px;
    border-color: black;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.5/jsxgraphcore.js"></script>
<div id="jxgbox" class="jxgbox" style="width:600px; height:600px;"></div>

  • 稍后设置可见性:
var pol = board.create('polygon',[[0,0],[0,1],[1,1],[1,0]], 
             {vertices:  {visible:true}});
for (i = 0; i < pol.vertices.length - 1; i++) {
    pol.vertices[i].setAttribute({visible: false});
}