コード例 #1
0
ファイル: Node.cs プロジェクト: Everysick/Gi_proxy
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="Name">ノード名</param>
 /// <param name="Mass">ノード質量</param>
 /// <param name="X">ノードの初期X座標</param>
 /// <param name="Y">ノードの初期Y座標</param>
 public Node(string Name, double Mass, double X, double Y, int Seed)
 {
     this.NodeName = Name;
     this.NodeMass = Mass;
     this.Coordinate = new Pair(X, Y);
     this.NodeShape.Name = Name;
     this.ToEdge = new List<Edge>();
     this.LinkNode = new List<Node>();
     this.Speed = new Pair(0.0d, 0.0d);
     this.LastAccessTime = DateTime.Now.ToString();
     //乱数
     Random Rand = new Random(Seed);
     int R = Rand.Next(0, 255), G = Rand.Next(0, 255), B = Rand.Next(0, 255);
     this.NodeColor = new SolidBrush(Color.FromArgb(R, G, B));
 }
コード例 #2
0
ファイル: Node.cs プロジェクト: Everysick/Gi_proxy
        /// <summary>
        /// 力が加わった場合のノードの座標と速度を求める
        /// </summary>
        /// <param name="DeltaT">微小時間,時間の変化量</param>
        /// <param name="f">ノードに伝わった力の合計</param>
        public void MoveNode(double DeltaT, Pair f)
        {
            this.Speed = new Pair()
            {
                X = this.Speed.X + DeltaT * f.X / this.NodeMass,
                Y = this.Speed.Y + DeltaT * f.Y / this.NodeMass
            };

            this.Coordinate = new Pair()
            {
                X = this.Coordinate.X + DeltaT * this.Speed.X,
                Y = this.Coordinate.Y + DeltaT * this.Speed.Y
            };
        }