Samples 3D
This commit is contained in:
parent
d0326b5a22
commit
88563f5fa7
54
InstallerSamples/Graph3D/All3DPrimitives.pas
Normal file
54
InstallerSamples/Graph3D/All3DPrimitives.pas
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
uses Graph3D;
|
||||
|
||||
begin
|
||||
Window.Title := '3D-ďđčěčňčâű';
|
||||
|
||||
//var a := Any(0,0,0,Colors.Red);
|
||||
//a.MoveOn(-5,2,0);
|
||||
|
||||
var rr := Rectangle3D(-3.5,-2,0,3,2,Colors.MediumPurple);
|
||||
rr.Rotate(v3d(0,1,0),30);
|
||||
|
||||
var ńňđĺëęč := CoordinateSystem(2);
|
||||
|
||||
var Ar := Arrow(3,0,0,0,0,2,Colors.Tan);
|
||||
|
||||
var p := P3D(5,-5,0);
|
||||
var t := TruncatedCone(p,2,0.9,0.7,False,Colors.Red);
|
||||
p := p.MoveX(-2);
|
||||
TruncatedCone(p,2,0.9,0.7,Colors.BlueViolet);
|
||||
p := p.MoveX(-2);
|
||||
Cylinder(p,2,0.9,False,Colors.Crimson);
|
||||
p := p.MoveX(-2);
|
||||
var cc := Cylinder(p,2,0.9,Colors.Chocolate);
|
||||
p := p.MoveX(-2);
|
||||
var ęîíóń := Cone(p,2.5,0.9,Colors.DarkGreen);
|
||||
p := p.MoveX(-2);
|
||||
var c := Sphere(p.MoveZ(0.7),1,Colors.Crimson);
|
||||
Text3D(p.MoveZ(2.3),'Ńôĺđŕ',0.7);
|
||||
|
||||
p := P3D(5,-2,0);
|
||||
var ÷ŕéíčę := Teapot(p.MoveZ(0.9),Colors.ForestGreen);
|
||||
//÷ŕéíčę.Rotate(V3D(0,1,0),45);
|
||||
var bb := BillboardText(p.Move(2,0,0.7),'Billboard'+NewLine + '"×ŕéíčę"',12);
|
||||
p := p.MoveX(-2.75);
|
||||
var cb := Cube(p.MoveZ(0.75),1.5,Colors.DodgerBlue);
|
||||
cb.Scale(1.2);
|
||||
cb.Rotate(V3D(0,0,1),45);
|
||||
p := p.MoveX(-2.75);
|
||||
var b := Box(p,Sz3D(2,1,1),Colors.PaleGreen);
|
||||
b.Rotate(V3D(0,1,0),-30);
|
||||
p := P3D(5,1,0);
|
||||
var ýëëčďńîčä := Ellipsoid(p.MoveZ(0.6),1.3,0.8,0.6,Colors.Violet);
|
||||
p := p.MoveX(-7);
|
||||
var pp := Tube(p,2,0.7,0.5,Colors.DodgerBlue);
|
||||
//View3D.Save('a2.jpg');
|
||||
|
||||
{while True do
|
||||
begin
|
||||
÷ŕéíčę.Rotate(V3D(0,0,1),10.8);
|
||||
ýëëčďńîčä.Rotate(V3D(0,0,1),-5.8);
|
||||
ńňđĺëęč.Rotate(V3D(0,0,1),1);
|
||||
Sleep(50);
|
||||
end;}
|
||||
end.
|
||||
BIN
InstallerSamples/Graph3D/Earth.jpg
Normal file
BIN
InstallerSamples/Graph3D/Earth.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 437 KiB |
25
InstallerSamples/Graph3D/EarthImageMaterial.pas
Normal file
25
InstallerSamples/Graph3D/EarthImageMaterial.pas
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
uses Graph3D;
|
||||
|
||||
begin
|
||||
View3D.Title := 'Âðàùåíèå Çåìëè';
|
||||
View3D.CameraMode := CameraMode.Inspect;
|
||||
View3D.ShowCoordinateSystem := False;
|
||||
View3D.ShowGridLines := False;
|
||||
View3D.ShowViewCube := False;
|
||||
View3D.ShowCameraInfo := False;
|
||||
View3D.BackgroundColor := Colors.Black;
|
||||
|
||||
var c := Sphere(0,0,0,5,Colors.Wheat);
|
||||
c.Material := ImageMaterial('Earth.jpg');
|
||||
var gr := 0;
|
||||
var dgr := 1;
|
||||
while True do
|
||||
begin
|
||||
c.Rotate(V3D(0,0,1),1);
|
||||
Sleep(10);
|
||||
gr += dgr;
|
||||
if (gr<=0) or (gr>=255) then
|
||||
dgr := - dgr;
|
||||
View3D.BackgroundColor := RGB(gr,gr,gr);
|
||||
end;
|
||||
end.
|
||||
16
InstallerSamples/Graph3D/pr3.pas
Normal file
16
InstallerSamples/Graph3D/pr3.pas
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
uses Graph3D;
|
||||
|
||||
begin
|
||||
View3D.Title := 'Äâèãàéòå ÷àéíèê ïðè ïîìîùè ñòðåëîê';
|
||||
var t := Teapot(0, 0, 1, Colors.Green);
|
||||
OnKeyDown := k -> begin
|
||||
case k of
|
||||
Key.Left: t.X += 1;
|
||||
Key.Right: t.X -= 1;
|
||||
Key.Down: t.Y += 1;
|
||||
Key.Up: t.Y -= 1;
|
||||
Key.PageUp: t.Z += 1;
|
||||
Key.PageDown: t.Z -= 1;
|
||||
end;
|
||||
end;
|
||||
end.
|
||||
22
InstallerSamples/Graph3D/pr4_Planes.pas
Normal file
22
InstallerSamples/Graph3D/pr4_Planes.pas
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
uses Graph3D;
|
||||
|
||||
begin
|
||||
View3D.ShowGridLines := False;
|
||||
|
||||
Camera.Position := P3D(12,16,24);
|
||||
Camera.LookDirection := Camera.Position.Multiply(-1).ToVector3D;
|
||||
|
||||
var sz := 12;
|
||||
var alpha := 100;
|
||||
var planeXZ := Rectangle3D(0,0,0,sz,sz,V3D(0,1,0),Colors.Green.ChangeAlpha(alpha));
|
||||
var planeXY := Rectangle3D(0,0,0,sz,sz,V3D(0,0,1),Colors.Blue.ChangeAlpha(alpha));
|
||||
var planeYZ := Rectangle3D(0,0,0,sz,sz,V3D(1,0,0),V3D(0,1,0),Colors.Red.ChangeAlpha(alpha));
|
||||
BillboardText(sz/2,sz/2,0,'XY',20);
|
||||
BillboardText(0,sz/2,sz/2,'YZ',20);
|
||||
BillboardText(sz/2,0,sz/2,'XZ',20);
|
||||
var len := 8;
|
||||
CoordinateSystem(len,0.3);
|
||||
BillboardText(len+0.5,0,0,'X',20);
|
||||
BillboardText(0,len+0.5,0,'Y',20);
|
||||
BillboardText(0,0,len+0.5,'Z',20);
|
||||
end.
|
||||
27
InstallerSamples/Graph3D/pr5_cam.pas
Normal file
27
InstallerSamples/Graph3D/pr5_cam.pas
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
uses Graph3D;
|
||||
|
||||
begin
|
||||
Window.Title := 'Âðàùåíèå êàìåðû';
|
||||
var tp := Teapot(0,0,2,Colors.Green);
|
||||
tp.Scale(2);
|
||||
Camera.Position := P3D(8,16,20);
|
||||
Camera.LookDirection := Camera.Position.Multiply(-1).ToVector3D;
|
||||
var d := 26.0;
|
||||
{loop 200 do
|
||||
begin
|
||||
Sleep(20);
|
||||
Camera.SetDistanse(d);
|
||||
d -= 0.05;
|
||||
end;}
|
||||
var t := 0.0;
|
||||
while True do
|
||||
begin
|
||||
Sleep(10);
|
||||
Camera.Position := P3D(15*cos(t),15*sin(t),10);
|
||||
Camera.UpDirection := V3D(0,0,1);
|
||||
//Camera.LookDirection := Camera.Position.Multiply(-1).ToVector3D;
|
||||
t += 2*Pi/360/2;
|
||||
end;
|
||||
|
||||
Camera.LookDirection := Camera.Position.Multiply(-1).ToVector3D;
|
||||
end.
|
||||
23
InstallerSamples/Graph3D/Часы.pas
Normal file
23
InstallerSamples/Graph3D/Часы.pas
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
uses Graph3D;
|
||||
|
||||
begin
|
||||
View3D.ShowGridLines := False;
|
||||
var Öèôåðáëàò := Cylinder(0,0,-0.4,0.2,6,Colors.DeepPink);
|
||||
var Ñåê := Arrow(0,0,0,0,-5.5,0,0.2,Colors.Yellow);
|
||||
var Ìèí := Arrow(0,0,0,0,-6.0,0,0.3,Colors.Red);
|
||||
|
||||
var a := 0;
|
||||
var r := 5.8;
|
||||
loop 60 do
|
||||
begin
|
||||
Sphere(r*cos(a*Pi/180),r*sin(a*Pi/180),-0.2,0.1,Colors.White);
|
||||
a += 6;
|
||||
end;
|
||||
|
||||
while True do
|
||||
begin
|
||||
Sleep(10);
|
||||
Ñåê.Rotate(v3D(0,0,1),-6);
|
||||
Ìèí.Rotate(v3D(0,0,1),-6/60);
|
||||
end;
|
||||
end.
|
||||
Loading…
Reference in a new issue