protected override void InitialiserSommets()
        {
            int NoSommet = -1;

            for (int j = 0; j < PtsSommets.GetLength(1) - 1; ++j)
            {
                for (int i = 0; i < NbColonnes; ++i)
                {
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j], PtsTexture[i, j]);
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], PtsTexture[i, j + 1]);
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], PtsTexture[i + 1, j]);

                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], PtsTexture[i + 1, j]);
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], PtsTexture[i, j + 1]);
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j + 1], PtsTexture[i + 1, j + 1]);
                }
            }
            Vector3 centreBas = new Vector3(Origine.X, PtsSommets[0, 0].Y, Origine.Z);

            for (int i = 0; i < NbColonnes; ++i)
            {
                Sommets[++NoSommet] = new VertexPositionTexture(centreBas, PtsTexture[PtsTexture.GetLength(0) / 2, PtsTexture.GetLength(1) - 1]);
                Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, 0], PtsTexture[i, PtsTexture.GetLength(1) - 2]);
                Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, 0], PtsTexture[i + 1, PtsTexture.GetLength(1) - 2]);
            }
            Vector3 centreHaut = new Vector3(Origine.X, PtsSommets[0, PtsSommets.GetLength(1) - 1].Y, Origine.Z);

            for (int i = 0; i < NbColonnes; ++i)
            {
                Sommets[++NoSommet] = new VertexPositionTexture(centreHaut, PtsTexture[PtsTexture.GetLength(0) / 2, 0]);
                Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, PtsSommets.GetLength(1) - 1], PtsTexture[i + 1, 1]);
                Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, PtsSommets.GetLength(1) - 1], PtsTexture[i, 1]);
            }
        }
Esempio n. 2
0
 private void CréerTableauPoints()
 {
     for (int i = 0; i < PtsSommets.GetLength(1); ++i)
     {
         for (int j = 0; j < PtsSommets.GetLength(0); ++j)
         {
             PtsSommets[j, i] = new Vector3(Origine.X + j * Delta.X, Origine.Y + i * Delta.Y, Origine.Z);
         }
     }
 }
 void AffecterPtsSommets()
 {
     for (int i = 0; i < PtsSommets.GetLength(0); ++i)
     {
         for (int j = 0; j < PtsSommets.GetLength(1); ++j)
         {
             PtsSommets[i, j] = new Vector3(Origine.X - (i / NbColonnes * (Extrémité2 - Extrémité1).Length() * (Vector3.Normalize(Extrémité1 - Extrémité2).X)) + Extrémité1.X,
                                            Origine.Y - (i / NbColonnes * (Extrémité2 - Extrémité1).Length() * (Vector3.Normalize(Extrémité1 - Extrémité2).Y)) + (float)Math.Cos(j * 2 * Math.PI / NbLignes) + Extrémité1.Y,
                                            Origine.Z - (i / NbColonnes * (Extrémité2 - Extrémité1).Length() * (Vector3.Normalize(Extrémité1 - Extrémité2).Z)) + (float)Math.Sin(j * 2 * Math.PI / NbLignes) + Extrémité1.Z);
         }
     }
 }
Esempio n. 4
0
        private void CréerTableauPoints()
        {
            int ptsData = 0;

            for (int i = 0; i < PtsSommets.GetLength(0); ++i)
            {
                for (int j = PtsSommets.GetLength(1) - 1; j >= 0; --j)
                {
                    PtsSommets[i, j] = new Vector3((Origine.X + i * Delta.X), 0, (Origine.Y + j * Delta.Y));
                    ++ptsData;
                }
            }
        }
        void CréerTableauPoints()
        {
            float angle;

            for (int i = 0; i < PtsSommets.GetLength(1); ++i)
            {
                for (int j = 0; j < PtsSommets.GetLength(0); ++j)
                {
                    angle            = (float)j / (PtsSommets.GetLength(0) - 1) * MathHelper.TwoPi;
                    PtsSommets[j, i] = new Vector3(Origine.X + Rayon * (float)Math.Cos(angle), Origine.Y + i * DeltaY, Origine.Z - Rayon * (float)Math.Sin(angle));
                }
            }
        }
Esempio n. 6
0
        private void GénérerPoints()
        {
            int ptsData = 0;

            for (int i = 0; i < PtsSommets.GetLength(0); ++i)
            {
                for (int j = PtsSommets.GetLength(1) - 1; j >= 0; --j)
                {
                    PtsSommets[i, j] = new Vector3(PositionInitiale.X + (i * Grid.Delta.X), 0.25f, PositionInitiale.Z + (j * Grid.Delta.Y));
                    ++ptsData;
                }
            }
        }
Esempio n. 7
0
        protected override void InitialiserSommets() // Est appelée par base.Initialize()
        {
            int NoSommet = -1;

            for (int i = 0; i < PtsSommets.GetLength(1) - 1; ++i)
            {
                for (int j = 0; j < PtsSommets.GetLength(0); ++j)
                {
                    Sommets[++NoSommet] = new VertexPositionColor(PtsSommets[j, i], Couleur);
                    Sommets[++NoSommet] = new VertexPositionColor(PtsSommets[j, i + 1], Couleur);
                }
            }
        }
Esempio n. 8
0
        protected void InitialiserSommets()
        {
            int noSommets = -1;

            for (int j = 0; j < PtsSommets.GetLength(1) - 1; ++j)
            {
                for (int i = 0; i < PtsSommets.GetLength(0) - 1; ++i)
                {
                    Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i, j + 1], Couleur);
                    Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i, j], Couleur);
                    Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i + 1, j + 1], Couleur);
                    Sommets[++noSommets] = new VertexPositionColor(PtsSommets[i + 1, j], Couleur);
                }
            }
        }
Esempio n. 9
0
        void CréerTableauxPoints()
        {
            for (int j = 0; j < PtsSommets.GetLength(1); ++j)
            {
                for (int i = 0; i < PtsSommets.GetLength(0); ++i)
                {
                    PtsSommets[i, j] = new Vector3(Origine.X + i * Delta.X, Origine.Y, Origine.Z - j * Delta.Y);
                }
            }

            PtsTexture[0] = new Vector2(0, 1);
            PtsTexture[1] = new Vector2(1, 1);
            PtsTexture[2] = new Vector2(0, 0);
            PtsTexture[3] = new Vector2(1, 0);
        }
Esempio n. 10
0
        protected override void InitialiserSommets()
        {
            int NoSommet = -1;

            for (int j = 0; j < PtsSommets.GetLength(1) - 1; ++j)
            {
                for (int i = 0; i < PtsSommets.GetLength(0) - 1; ++i)
                {
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j], new Vector2(0, 1));
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], new Vector2(0, 0));
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], new Vector2(1, 1));
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i, j + 1], new Vector2(0, 0));
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j + 1], new Vector2(1, 0));
                    Sommets[++NoSommet] = new VertexPositionTexture(PtsSommets[i + 1, j], new Vector2(1, 1));
                }
            }
        }
Esempio n. 11
0
        void AffecterPtsSommets()
        {
            float angle = (float)(2 * Math.PI) / NbColonnes;
            float phi   = 0;
            float theta = 0;

            for (int j = 0; j < PtsSommets.GetLength(0); ++j)
            {
                for (int i = 0; i < PtsSommets.GetLength(1); ++i)
                {
                    PtsSommets[i, j] = new Vector3(Origine.X + Rayon * (float)(Math.Sin(phi) * Math.Cos(theta)),
                                                   Origine.Z + Rayon * (float)(Math.Cos(phi)),
                                                   Origine.Y + Rayon * (float)(Math.Sin(phi) * Math.Sin(theta)));
                    theta += angle;
                }
                phi += (float)Math.PI / NbLignes;
            }
        }
Esempio n. 12
0
        private void CréerTableauPoints()
        {
            int indiceColor = -1;

            for (int i = PtsSommets.GetLength(1) - 1; i >= 0; --i)
            {
                for (int j = 0; j < PtsSommets.GetLength(0); ++j)
                {
                    PtsSommets[j, i]            = new Vector3(Origine.X + j * Delta.X, DataTerrain[++indiceColor].B * Delta.Y, Origine.Z + i * Delta.Z);
                    DataTexture0[indiceColor].A = (byte)(MAX_COULEUR - DataTerrain[indiceColor].B);
                    DataTexture1[indiceColor].A = DataTerrain[indiceColor].B;
                }
            }
            TextureTerrain[0].SetData(DataTexture0);
            TextureTerrain[1].SetData(DataTexture1);
            for (int i = 0; i < PtsTexture.GetLength(1); ++i)
            {
                for (int j = 0; j < PtsTexture.GetLength(0); ++j)
                {
                    PtsTexture[j, i] = new Vector2((float)j / NbColonnes, 1 - (float)i / NbRangées);
                }
            }
        }