Media is too big
VIEW IN TELEGRAM
Видеокурс ___“MAXScript. Базовый___“. Лекция 4
Media is too big
VIEW IN TELEGRAM
Видеокурс ___“MAXScript. Базовый___“. Лекция 5
Media is too big
VIEW IN TELEGRAM
Видеокурс ___“MAXScript. Базовый___“. Лекция 6
Media is too big
VIEW IN TELEGRAM
Видеокурс ___“MAXScript. Базовый___“. Лекция 8
Media is too big
VIEW IN TELEGRAM
Видеокурс ___“MAXScript. Базовый___“. Лекция 9
maxscriptbook.7z
35.4 KB
3Ds MAX Script uchun misollar
maxscriptbook.djvu
2.2 MB
3Ds MAX Script uchun qo'llanma
Pascal ABC NET dasturida 3D grafikada animatsiya. uses Graph3D;
function ParametricTrajectory(a,b: real; N: integer; fun: real->Point3D) := PartitionPoints(a,b,N).Select(fun);
begin
var tr := ParametricTrajectory(0,2*Pi,100,t->P3D(8*cos(t),4*sin(t),0));
Polyline3D(tr);
var b := Sphere(tr.First,1,Colors.Blue);
b.AnimMoveTrajectory(tr.Skip(1),5).Forever.Begin;
end.
function ParametricTrajectory(a,b: real; N: integer; fun: real->Point3D) := PartitionPoints(a,b,N).Select(fun);
begin
var tr := ParametricTrajectory(0,2*Pi,100,t->P3D(8*cos(t),4*sin(t),0));
Polyline3D(tr);
var b := Sphere(tr.First,1,Colors.Blue);
b.AnimMoveTrajectory(tr.Skip(1),5).Forever.Begin;
end.
//Pascal ABCNET dasturida Kubik-Rubik dasturi.
uses Graph3D;
var InnerColor := RGB(70,70,70);
var sec := 0.5;
var g := new Object3D[3,3,3];
procedure CreateCube;
begin
var a := 1.03;
for var x := 0 to 2 do
for var y := 0 to 2 do
for var z := 0 to 2 do
if (x,y,z) <> (1,1,1) then
begin
var b := Box(0+x*a-a,0+y*a-a,-0.5+z*a-a,1,1,0.01,z=0 ? Colors.White : InnerColor);
var b3 := Box(0+x*a-a,0+y*a-a,0.5+z*a-a,1,1,0.01,z=2 ? Colors.Yellow : InnerColor);
var b1 := Box(0.5+x*a-a,0+y*a-a,0+z*a-a,0.01,1,1,x=2 ? Colors.Red : InnerColor);
var b4 := Box(-0.5+x*a-a,0+y*a-a,0+z*a-a,0.01,1,1,x=0 ? Colors.Orange : InnerColor);
var b2 := Box(0+x*a-a,0.5+y*a-a,0+z*a-a,1,0.01,1,y=2 ? Colors.Green : InnerColor);
var b5 := Box(0+x*a-a,-0.5+y*a-a,0+z*a-a,1,0.01,1,y=0 ? Colors.Blue : InnerColor);
g[x,y,z] := Group(b,b1,b2,b3,b4,b5);
end;
end.
uses Graph3D;
var InnerColor := RGB(70,70,70);
var sec := 0.5;
var g := new Object3D[3,3,3];
procedure CreateCube;
begin
var a := 1.03;
for var x := 0 to 2 do
for var y := 0 to 2 do
for var z := 0 to 2 do
if (x,y,z) <> (1,1,1) then
begin
var b := Box(0+x*a-a,0+y*a-a,-0.5+z*a-a,1,1,0.01,z=0 ? Colors.White : InnerColor);
var b3 := Box(0+x*a-a,0+y*a-a,0.5+z*a-a,1,1,0.01,z=2 ? Colors.Yellow : InnerColor);
var b1 := Box(0.5+x*a-a,0+y*a-a,0+z*a-a,0.01,1,1,x=2 ? Colors.Red : InnerColor);
var b4 := Box(-0.5+x*a-a,0+y*a-a,0+z*a-a,0.01,1,1,x=0 ? Colors.Orange : InnerColor);
var b2 := Box(0+x*a-a,0.5+y*a-a,0+z*a-a,1,0.01,1,y=2 ? Colors.Green : InnerColor);
var b5 := Box(0+x*a-a,-0.5+y*a-a,0+z*a-a,1,0.01,1,y=0 ? Colors.Blue : InnerColor);
g[x,y,z] := Group(b,b1,b2,b3,b4,b5);
end;
end.
uses Graph3D;
begin
Window.Title := '3D-примитивы';
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);
end.
begin
Window.Title := '3D-примитивы';
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);
end.
Курсорни кўрсатилган йўналишда силжитиш клавишлари
ёрдамида экран миқёсида силжитсангиз бўлади
Uses GraphABC;
procedure KeyDown(Key: integer);
begin
case Key of
VK_Left: Window.Left := Window.Left - 2;
VK_Right: Window.Left := Window.Left + 2;
VK_Up: Window.Top := Window.Top - 2;
VK_Down: Window.Top := Window.Top + 2;
end;
end;
begin
OnKeyDown := KeyDown;
end.
Курсорни кўрсатилган йўналишда силжитиш клавишлари
ёрдамида экран миқёсида силжитсангиз бўлади
ёрдамида экран миқёсида силжитсангиз бўлади
Uses GraphABC;
procedure KeyDown(Key: integer);
begin
case Key of
VK_Left: Window.Left := Window.Left - 2;
VK_Right: Window.Left := Window.Left + 2;
VK_Up: Window.Top := Window.Top - 2;
VK_Down: Window.Top := Window.Top + 2;
end;
end;
begin
OnKeyDown := KeyDown;
end.
Курсорни кўрсатилган йўналишда силжитиш клавишлари
ёрдамида экран миқёсида силжитсангиз бўлади
program mouseBut;
uses GraphABC, Events;
var x, y, R, xk, yk, a: integer;
procedure Krug(col: color);
begin
SetPenColor(col); SetBrushColor(col); Circle(x, y, R);
end;
procedure Knopka(s: string);{қадалгич тасвирини чизиш процедураси }
begin
SetBrushColor(clGreen); rectangle(xk, yk, xk + a, yk + a);
SetFontColor(clYellow); SetFontSize(14); TextOut(xk + 12, yk + 4, s);
end;
procedure mDown(xm, ym, mb: integer);{қадалгич босилганда диирани қайта чизиш процедураси}
begin
Krug(clWhite);
xk := 20; yk := 10; Knopka('<');
if (mb = 1) and (xm > xk) and (xm < xk + a) and (ym > yk) and (ym < yk + a) then x := x - 8; {чапга}
xk := 320; yk := 10; Knopka('>');
if (mb = 1) and (xm > xk) and (xm < xk + a) and (ym > yk) and (ym < yk + a) then x := x + 8; {ўнгга}
SetWindowCaption(IntToStr(xm) + ', ' + IntToStr(ym) + ', ' + IntToStr(x) + ', ' + IntToStr(y));
Krug(clRed);
end;
begin
setWindowSize(400, 300);
x := 200; y := 150; R := 20; a := 40;
mDown(x, y, 0);
OnMouseDown := mDown;
end.
uses GraphABC, Events;
var x, y, R, xk, yk, a: integer;
procedure Krug(col: color);
begin
SetPenColor(col); SetBrushColor(col); Circle(x, y, R);
end;
procedure Knopka(s: string);{қадалгич тасвирини чизиш процедураси }
begin
SetBrushColor(clGreen); rectangle(xk, yk, xk + a, yk + a);
SetFontColor(clYellow); SetFontSize(14); TextOut(xk + 12, yk + 4, s);
end;
procedure mDown(xm, ym, mb: integer);{қадалгич босилганда диирани қайта чизиш процедураси}
begin
Krug(clWhite);
xk := 20; yk := 10; Knopka('<');
if (mb = 1) and (xm > xk) and (xm < xk + a) and (ym > yk) and (ym < yk + a) then x := x - 8; {чапга}
xk := 320; yk := 10; Knopka('>');
if (mb = 1) and (xm > xk) and (xm < xk + a) and (ym > yk) and (ym < yk + a) then x := x + 8; {ўнгга}
SetWindowCaption(IntToStr(xm) + ', ' + IntToStr(ym) + ', ' + IntToStr(x) + ', ' + IntToStr(y));
Krug(clRed);
end;
begin
setWindowSize(400, 300);
x := 200; y := 150; R := 20; a := 40;
mDown(x, y, 0);
OnMouseDown := mDown;
end.
Пример 1.pas
1.3 KB
Misol 1.
Курсорни чапга, ўнга, пастга, юқорига силжитиш клавишларини босиш билан
ойнадаги доирани кўрсатилган йўналишда силжитиш кўзда тутилган.
Esc ишни тўхтатади. Quyidagai dasturni terib ko'ring.
Курсорни чапга, ўнга, пастга, юқорига силжитиш клавишларини босиш билан
ойнадаги доирани кўрсатилган йўналишда силжитиш кўзда тутилган.
Esc ишни тўхтатади. Quyidagai dasturni terib ko'ring.