static public void Load(Rays._3D.Scene3D s) { string sf = ""; var dr = Utils.InputBox("What?", "Ololo", ref sf); s.BeginFigure(); s.PlaneType = PlaneType.Normal; s.InnerDelta = 0; Tube3D tube = new Tube3D(); tube.Rays[0].Begin = new Vector3(-10, -100, 20); tube.Rays[1].Begin = new Vector3(20, -100, -40); tube.Rays[2].Begin = new Vector3(20, -100, 20); tube.Rays[0].End = new Vector3(-10, -10, 20); tube.Rays[1].End = new Vector3(20, -10, -40); tube.Rays[2].End = new Vector3(20, -10, 20); tube.Rayize(); s.InitialRays.Add(tube); s.InnerN = 3.5; s.EndFigure(); // s.Figs[0].Rotate(-10, 'x'); s.Figs[0].Transpose(0, -40, 0); }
static public void InitRays(Vector3 Pos, int NumSec, double A) { for (int i = 0; i < NumSec; ++i) { for (int j = 0; j < NumSec; ++j) { if (Debug) { if (i != 0 || j != 7) { continue; } } double z1 = (2.0 * i - NumSec) / NumSec * A; double y1 = (2.0 * j - NumSec) / NumSec * A; double z2 = (2.0 * (i + 1) - NumSec) / NumSec * A; double y2 = (2.0 * (j + 1) - NumSec) / NumSec * A; Tube3D tube = NewTube(Pos); tube.Rays[0].Begin.Z += z1; tube.Rays[1].Begin.Z += z2; tube.Rays[2].Begin.Z += z1; tube.Rays[0].Begin.Y += y1; tube.Rays[1].Begin.Y += y1; tube.Rays[2].Begin.Y += y2; tube.Rays[0].End.Z += z1; tube.Rays[1].End.Z += z2; tube.Rays[2].End.Z += z1; tube.Rays[0].End.Y += y1; tube.Rays[1].End.Y += y1; tube.Rays[2].End.Y += y2; ss.InitialRays.Add(tube); /*Tube3D */ tube = NewTube(Pos); tube.Rays[0].Begin.Z += z2; tube.Rays[1].Begin.Z += z1; tube.Rays[2].Begin.Z += z2; tube.Rays[0].Begin.Y += y1; tube.Rays[1].Begin.Y += y2; tube.Rays[2].Begin.Y += y2; tube.Rays[0].End.Z += z2; tube.Rays[1].End.Z += z1; tube.Rays[2].End.Z += z2; tube.Rays[0].End.Y += y1; tube.Rays[1].End.Y += y2; tube.Rays[2].End.Y += y2; if (!Debug) { ss.InitialRays.Add(tube); } } } }
static public Tube3D NewTube(Vector3 Pos) { Tube3D tube = new Tube3D(); for (int i = 0; i < 3; ++i) { tube.Rays[i].Begin = Pos; tube.Rays[i].End = Pos; tube.Rays[i].End.X += 1; } tube.Rayize(); return(tube); }
static public void Load(Rays._3D.Scene3D s) { s.BeginFigure(); Model model = new ThreeDSFile(@"SampleScripts\12column-model-3d.3DS").ThreeDSModel; foreach (Entity e in model.Entities) { foreach (Triangle t in e.indices) { s.ModelAdd( new Vector3[3] { new Vector3(e.vertices[t.vertex1].X, e.vertices[t.vertex1].Y, e.vertices[t.vertex1].Z), new Vector3(e.vertices[t.vertex2].X, e.vertices[t.vertex2].Y, e.vertices[t.vertex2].Z), new Vector3(e.vertices[t.vertex3].X, e.vertices[t.vertex3].Y, e.vertices[t.vertex3].Z) }, new Vector3[3] { new Vector3(e.normals[t.vertex1].X, e.normals[t.vertex1].Y, e.normals[t.vertex1].Z), new Vector3(e.normals[t.vertex2].X, e.normals[t.vertex2].Y, e.normals[t.vertex2].Z), new Vector3(e.normals[t.vertex3].X, e.normals[t.vertex3].Y, e.normals[t.vertex3].Z) }); } } s.EndFigure(); s.Figs[0].Rotate1(Math.PI / 2, 'x'); s.Figs[0].Transpose1(new Vector3(0, 0, 0)); Tube3D tube = new Tube3D(); tube.Rays[0].Begin = new Vector3(3, -100, 2); tube.Rays[1].Begin = new Vector3(20, -100, 2); tube.Rays[2].Begin = new Vector3(1, -100, 20); tube.Rays[0].End = new Vector3(3, -11, 2); tube.Rays[1].End = new Vector3(20, -11, 2); tube.Rays[2].End = new Vector3(1, -11, 20); tube.Rayize(); s.InnerN = 1.5; s.InitialRays.Add(tube); /*s.Add(-50, 0, -50, 50, 10, -50, 50, 20, 50); * s.Add(-50, 0, -50, 50, 20, 50, -50, 10, 50); */ }
static public void Load(Rays._3D.Scene3D s) { s.BeginFigure(); s.PlaneType = PlaneType.Normal; s.InnerDelta = 0; Tube3D tube = new Tube3D(); tube.Rays[0].Begin = new Vector3(-10, -100, 20); tube.Rays[1].Begin = new Vector3(20, -100, -40); tube.Rays[2].Begin = new Vector3(20, -100, 20); tube.Rays[0].End = new Vector3(-10, -10, 20); tube.Rays[1].End = new Vector3(20, -10, -40); tube.Rays[2].End = new Vector3(20, -10, 20); tube.Rayize(); s.InitialRays.Add(tube); //s.Add(-50, 0, -50, 50, 10, -50, 50, 20, 50); //s.Add(-45, 0, -45, 55, 20, 55, -45, 10, 55); s.InnerN = 3.5; /*AddQuad(s, * new Vector3(-10, -50, -10), * new Vector3(-10, -50, 10), * new Vector3(10, -50, -10), * new Vector3(10, -50, 10));*/ double mn = -100, mx = 100; // s.Add( RD(mn, mx), 0, RD(mn, mx), RD(mn, mx), 0, RD(mn, mx), RD(mn, mx), 0, RD(mn, mx)); s.Add(-10, 0, 20, 20, 0, -40, 30, 0, 30); s.EndFigure(); // s.Figs[0].Rotate1(-10, 'x'); s.Figs[0].Transpose1(0, -40, 0); }