1) Нужно нажать левой кнопкой мыши на стрелку под кнопкой "Выделить"
2) Выбрать прямоугольную или произвольную область.
Если выбрана прямоугольная область:
1) Нажать левой кнопкой мыши в том месте, где должен быть какой-либо угол прямоугольной области;
2) Не отпуская кнопку мыши, перевести мышь в то место, где должен быть противоположный угол;
3) Отпустить кнопку мыши.
Если выбрана произвольная область:
1) Нажать левой кнопкой мыши в том месте, где должно быть какое-либо место на границе произвольной области;
2) Не отпуская кнопку мыши, провести ей по границе произвольной области и замкнуть эту границу;
3) Отпустить кнопку мыши.
3) Нажать правой кнопкой мыши по выделенной области;
4) Выбрать "Копировать";
5) Нажать на любое место, кроме выделенной области правой кнопкой мыши;
6) Выбрать "Вставить".
в этом модуле разные математические функции - логарифмические тригонометрические и т.д.
Объяснение:
типа того
function ArcCos(const X : Extended) : Extended; overload;
function ArcCos(const X : Double) : Double; overload;
function ArcCos(const X : Single) : Single; overload;
{ IN: |X| <= 1 OUT: [-PI/2..PI/2] radians }
function ArcSin(const X : Extended) : Extended; overload;
function ArcSin(const X : Double) : Double; overload;
function ArcSin(const X : Single) : Single; overload;
{ ArcTan2 calculates ArcTan(Y/X), and returns an angle in the correct quadrant.
IN: |Y| < 2^64, |X| < 2^64, X <> 0 OUT: [-PI..PI] radians }
function ArcTan2(const Y, X: Extended): Extended;
{ SinCos is 2x faster than calling Sin and Cos separately for the same angle }
procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register;
function Tan(const X: Extended): Extended;
function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 }
function Secant(const X: Extended): Extended; { 1 / cos(X) }
function Cosecant(const X: Extended): Extended; { 1 / sin(X) }
function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) }
{ Angle unit conversion routines }
function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI }
function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI }
function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI }
function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180}
function DegToGrad(const Degrees: Extended): Extended;
function DegToCycle(const Degrees: Extended): Extended;
function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 }
function GradToDeg(const Grads: Extended): Extended;
function GradToCycle(const Grads: Extended): Extended;
function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI }
function CycleToDeg(const Cycles: Extended): Extended;
function CycleToGrad(const Cycles: Extended): Extended;
{ Hyperbolic functions and inverses }
function Cot(const X: Extended): Extended; inline; { alias for Cotan }
function Sec(const X: Extended): Extended; inline; { alias for Secant }
function Csc(const X: Extended): Extended; inline; { alias for Cosecant }
function Cosh(const X: Extended): Extended;
function Sinh(const X: Extended): Extended;
function Tanh(const X: Extended): Extended;
function CotH(const X: Extended): Extended; inline;
function SecH(const X: Extended): Extended; inline;
function CscH(const X: Extended): Extended; inline;
function ArcCot(const X: Extended): Extended; { IN: X <> 0 }
function ArcSec(const X: Extended): Extended; { IN: X <> 0 }
function ArcCsc(const X: Extended): Extended; { IN: X <> 0 }
function ArcCosh(const X: Extended): Extended; { IN: X >= 1 }
function ArcSinh(const X: Extended): Extended;
function ArcTanh(const X: Extended): Extended; { IN: |X| <= 1 }
function ArcCotH(const X: Extended): Extended; { IN: X <> 0 }
function ArcSecH(const X: Extended): Extended; { IN: X <> 0 }
function ArcCscH(const X: Extended): Extended; { IN: X <> 0 }
{ Logarithmic functions }
function LnXP1(const X: Extended): Extended; { Ln(X + 1), accurate for X near zero }
function Log10(const X: Extended): Extended; { Log base 10 of X }
function Log2(const X: Extended): Extended; { Log base 2 of X }
function LogN(const Base, X: Extended): Extended; { Log base N of X }
{ Exponential functions }
{ IntPower: Raise base to an integral power. Fast. }
function IntPower(const Base: Extended; const Exponent: Integer): Extended register;
{ Power: Raise base to any power.
For fractional exponents, or |exponents| > MaxInt, base must be > 0. }
function Power(const Base, Exponent: Extended): Extended; overload;
function Power(const Base, Exponent: Double): Double; overload;
function Power(const Base, Exponent: Single): Single; overload;
2) Сверху рисуем ещё один круг поменьше, так, чтобы он наполовину заходил на большой круг.
3) Рисуем поперечную линию между двумя частями матрешки. (Она же должна раскрываться,да?)
4) Рисуем пуговки, узоры на большом круге. (Нижней части)
5) Рисуем глаза и рот матрёшки.
6) Стираем лишние линии, кроме поперечной линии.
7)Обводим черным карандашом (черной краской) поперечную линию и саму матрешку.
8) Берем краски и красим матрешку в стиле хохломы.
9) Готово! Теперь даем ей подсохнуть.