# SINDVis: User-Centered Dynamic Interactive Visualization System for Space Information Networks
## 3 Theory and Methods
### TopoView Methods
#### 3.4.1 FDA Layout  
As the first step of visualization, the layout determines the basic structure of the network and is the premise and basis for follow-up work. Typically, the visualization layout is divided into nine kinds, including the layer layout, circular layout, time layout, relative space layout, cluster layout, map layout, manual layout, random layout, and Force-Directed Algorithm (FDA) layout [18]. According to the statistics of the layout algorithms published in a paper on the IEEE Visualization and Computer Graphics (TVCG) of network visualization, 72.12% of the articles used the FDA layout based on the elastic model. The main idea of the FDA layout is that all nodes are randomly arranged in two-dimensional space at the beginning, and the node positions are iteratively optimized by simulating the gravitational and repulsive forces in the physical model to improve the layout effect gradually. The advantages of the FDA layout are mainly embodied in two aspects, one is easy to implement in operation, and the other is easy to understand and explain in cognition. The FDA mainly includes a basic algorithm and its improvement, such as the Kamada-Kawai (KK) algorithm, the Davidson-Harel (DH) algorithm, the Fruchterman-Reingold (FR) algorithm or the multi-scale algorithm [18]. For the time-varying network visualization layout, the article [19] improves the FR algorithm and considers the connection and disconnection of the edge in the concrete operation. For the SIN, different space entities play different roles in the entity domain, and the different nodes have different degrees of importance in the mapping of the topology domain. However, the importance of nodes affects the connections of edges. An algorithm that highlights the nodes' levels of importance can accurately reflect the real performance of SIN. In the preliminary study, we established the topology evolution rules for the topology evolution of SIN, and they include not only the connection and disconnection of edges, but also the increment and deletion of nodes. Therefore, under the guidance of the topology evolution rules and the FR algorithm, we introduced clustering coefficients to calculate the importance of nodes and took node addition, node deletion, link addition, and link deletion into account to realize the effective layout of the dynamic visualization of SIN. The basic principle of the FR algorithm is the simulation of the motion of atoms and celestial bodies by analyzing the attraction and repulsion between the vertices and edges of the network. This method considers that there is attraction between the vertices and edges and that the vertices are mutually exclusive [19]. In the concrete implementation, spatial coordinate changes between the nodes are calculated by simulating the forces of the atom balls, and then the temperature variable and the cooling function are introduced, and the positions of all vertices are calculated by multiple iterations using the simulated annealing algorithm. The three steps taken to complete each iteration are as follows:  
* **Step 1:** Calculation of the repulsion forces between vertices and determination of the displacement vector (disp1) according to the repulsion forces. * **Step 2:** Calculation of the attraction and final displacement vector (disp2) according to the gravitational and displacement vector (disp1). * **Step 3:** Use of the cooling function to limit the range of motion of the vertex. The FR algorithm optimizes the iterative calculation process by means of space grid partitioning. It reduces the computational complexity by considering the repulsion effect between the network nodes and the internal nodes of the adjacent network. For the problem of network dynamic visualization, we modified the FDA layout method based on the FR algorithm and achieved a dynamic layout by considering the phenomenon of node increment, node deletion, edge increment, and edge deletion.