2016-09-21 8 views
0

Я работал с сетями из 80 до 1000 узлов, когда я реализовал узлы, которые были перевернуты вверх ногами.При использовании узлов cytoscape.js перевернуты вверх ногами

Я имею в виду, что первый квадрант рисовался там, где должен быть четвертый квадрант. Поэтому я решил работать только с четырьмя узлами и посмотреть, что произошло, в результате получилось следующее: the result was this. Каждый узел принадлежит к другому квадранту. Которые (50,50), (- 50,50), (- 50, -50) и (50, -50).

Я использую «предустановленный» макет, который, как ожидается, будет отображать их правильно (например, в декартовой плоскости). Я работаю только с последней версией «cytoscape.min.js».

Javascript в вопросе:

var cy = window.cy = cytoscape({ 
container: document.getElementById('cy'), 
layout: { name: 'preset'}, 
elements: [ 
{data: { id: '(0,0)'}, position: { x: 0, y: 0 }}, 
{data: { id: '++'}, position: { x: 50, y: 50 }}, 
{data: { id: '+-'}, position: { x: 50, y: -50 }}, 
{data: { id: '--'}, position: { x: -50, y: -50 }}, 
{data: { id: '-+'}, position: { x: -50, y: 50 }}, 

], 
style: [ 
    { 
     selector: 'node', 
     style: { 
      'content': 'data(id)', 
      'width': '2', 
      'height': '2', 
      'color': '#000', 
      'font-size': '10', 
      'opacity': 0.9, 
      'shape': 'ellipse', 
      'z-index': '9999' 
     } 
    }, 
], 

}); 

Теперь, это ожидаемое поведение, и я работаю с неправильной библиотекой? или я что-то упускаю?

Я уже пробовал со всеми вариантами макета.

ответ

0

Компьютерная графика использует декартовы координаты, но ось Y инвертирована. Это просто соглашение о компьютерах.

https://gamedev.stackexchange.com/questions/83570/why-is-the-origin-in-computer-graphics-coordinates-at-the-top-left См

отметить также, что панорамирование и масштабирование влияют на матрицу преобразования, так что происхождение не всегда то же самое на экране позиции.

См

 Смежные вопросы

  • Нет связанных вопросов^_^