object Form1: TForm1 Left = 653 Height = 468 Top = 209 Width = 627 Caption = 'Form1' ClientHeight = 468 ClientWidth = 627 OnCreate = FormCreate Position = poScreenCenter LCLVersion = '2.3.0.0' object PageControl1: TPageControl Left = 0 Height = 468 Top = 0 Width = 627 ActivePage = tsDomain Align = alClient TabIndex = 0 TabOrder = 0 OnChange = PageControl1Change object tsDomain: TTabSheet Caption = 'Domain' ClientHeight = 440 ClientWidth = 619 object Chart1: TChart Left = 0 Height = 440 Top = 0 Width = 619 AxisList = < item Grid.Color = clGray TickLength = 0 Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Grid.Color = clGray TickLength = 0 Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> ExpandPercentage = 5 Extent.UseYMax = True Extent.UseYMin = True Extent.YMax = 6 Extent.YMin = -6 Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Frame.Visible = False Legend.Visible = True Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clNone object Chart1FuncSeries1: TFuncSeries Extent.UseXMax = True Extent.UseXMin = True Extent.XMax = 6.28 Extent.XMin = -6.28 Extent.YMax = 2 Extent.YMin = -2 Title = '1 / Sin(x)' Pen.Color = clOlive Pen.Width = 2 Step = 4 OnCalculate = Chart1FuncSeries1Calculate end object Chart1XAxis: TConstantLine Legend.Visible = False Arrow.BaseLength = 5 Arrow.Length = 12 Arrow.Visible = True Arrow.Width = 4 end object Chart1YAxis: TConstantLine Legend.Visible = False Arrow.BaseLength = 5 Arrow.Length = 12 Arrow.Visible = True Arrow.Width = 4 LineStyle = lsVertical end object Chart1BarSeries1: TBarSeries Title = 'Cos(x)' BarBrush.Color = clMoneyGreen Source = UserDefinedChartSource1 end object Chart1UserDrawnSeries1: TUserDrawnSeries OnDraw = Chart1UserDrawnSeries1Draw end end object cbDomain: TCheckBox Left = 541 Height = 19 Top = 401 Width = 62 Anchors = [akRight, akBottom] Caption = 'Domain' OnChange = cbDomainChange TabOrder = 1 end object cbRotate: TCheckBox Left = 541 Height = 19 Top = 376 Width = 54 Anchors = [akRight, akBottom] Caption = 'Rotate' OnChange = cbRotateChange TabOrder = 2 end end object tsColorMap: TTabSheet Caption = 'Color map' ClientHeight = 440 ClientWidth = 619 object ChartColorMap: TChart Left = 0 Height = 440 Top = 0 Width = 427 AxisList = < item MarginsForMarks = False Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear ZPosition = 1 end item Alignment = calBottom MarginsForMarks = False Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear ZPosition = 1 end> Extent.UseXMax = True Extent.UseXMin = True Extent.XMax = 1 Extent.XMin = -1 Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Legend.Alignment = laTopLeft Legend.SymbolWidth = 30 Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Toolset = chtsColorMap Align = alClient Color = clDefault DoubleBuffered = True object ChartColorMapColorMapSeries1: TColorMapSeries Extent.UseXMax = True Extent.UseXMin = True Extent.XMax = 0.5 Extent.XMin = -0.5 Title = 'sin(10x + 17y)' BuiltInPaletteMax = 1 BuiltInPaletteMin = -1 ColorSource = ListChartSource1 OnCalculate = ChartColorMapColorMapSeries1Calculate end end object Panel1: TPanel Left = 440 Height = 440 Top = 0 Width = 171 Align = alRight BorderSpacing.Left = 8 BorderSpacing.Right = 8 BevelOuter = bvNone ClientHeight = 440 ClientWidth = 171 TabOrder = 1 object ChartLegendPanel1: TChartLegendPanel Left = 0 Height = 197 Top = 0 Width = 171 Chart = ChartColorMap Align = alTop end object cbInterpolate: TCheckBox AnchorSideLeft.Control = Panel1 AnchorSideBottom.Control = seStep Left = 0 Height = 19 Top = 339 Width = 77 Anchors = [akLeft, akBottom] BorderSpacing.Bottom = 4 Caption = 'Interpolate' OnChange = cbInterpolateChange TabOrder = 1 end object cbMultLegend: TCheckBox AnchorSideLeft.Control = Panel1 AnchorSideBottom.Control = cbNiceLegend Left = 0 Height = 19 Top = 283 Width = 98 Anchors = [akLeft, akBottom] BorderSpacing.Bottom = 2 Caption = 'Expand legend' OnChange = cbMultLegendChange TabOrder = 2 end object cmbPalette: TComboBox AnchorSideLeft.Control = lblPalette AnchorSideLeft.Side = asrBottom AnchorSideRight.Control = Panel1 AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = Panel1 AnchorSideBottom.Side = asrBottom Left = 44 Height = 23 Top = 409 Width = 127 Anchors = [akLeft, akRight, akBottom] BorderSpacing.Left = 8 BorderSpacing.Bottom = 8 ItemHeight = 15 ItemIndex = 4 Items.Strings = ( 'cmpHot' 'cmpCold' 'cmpRainbow' 'cmpMonochrome' '(ColorSource)' ) OnChange = cmbPaletteChange Style = csDropDownList TabOrder = 3 Text = '(ColorSource)' end object lblPalette: TLabel AnchorSideLeft.Control = Panel1 AnchorSideTop.Control = cmbPalette AnchorSideTop.Side = asrCenter Left = 0 Height = 15 Top = 413 Width = 36 BorderSpacing.Bottom = 2 Caption = 'Palette' FocusControl = cmbPalette end object lblStep: TLabel AnchorSideLeft.Control = Panel1 AnchorSideTop.Control = seStep AnchorSideTop.Side = asrCenter Left = 0 Height = 15 Top = 366 Width = 23 Caption = 'Step' end object seStep: TSpinEdit AnchorSideLeft.Control = cmbPalette AnchorSideRight.Control = Panel1 AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = cmbPalette Left = 44 Height = 23 Top = 362 Width = 54 Alignment = taRightJustify Anchors = [akLeft, akBottom] BorderSpacing.Bottom = 24 MaxValue = 10 MinValue = 1 OnChange = seStepChange TabOrder = 4 Value = 4 end object cbNiceLegend: TCheckBox AnchorSideLeft.Control = cbMultLegend AnchorSideBottom.Control = cbInterpolate Left = 16 Height = 19 Top = 304 Width = 83 Anchors = [akLeft, akBottom] BorderSpacing.Left = 16 BorderSpacing.Bottom = 16 Caption = 'Nice legend' OnChange = cbNiceLegendChange TabOrder = 5 end end object Splitter1: TSplitter Left = 427 Height = 440 Top = 0 Width = 5 Align = alRight ResizeAnchor = akRight end end object tsSpline: TTabSheet Caption = 'Spline' ClientHeight = 440 ClientWidth = 619 object ChartSpline: TChart Left = 0 Height = 408 Top = 0 Width = 619 AxisList = < item Grid.Color = clGray Grid.Cosmetic = False Intervals.Options = [aipGraphCoords, aipUseCount, aipUseMinLength, aipUseNiceSteps] Intervals.Tolerance = 2 Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear Transformations = catSpline end item Grid.Color = clGray Grid.Cosmetic = False Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> ExpandPercentage = 5 Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clDefault DoubleBuffered = True object ChartSplineLineSeries1: TLineSeries AxisIndexX = 1 AxisIndexY = 0 Source = RandomChartSource1 end object ChartSplineBSplineSeries1: TBSplineSeries Active = False AxisIndexX = 1 AxisIndexY = 0 Source = RandomChartSource1 Pen.Color = clLime Pen.Width = 3 Pointer.Brush.Color = clLime end object ChartSplineCubicSplineSeries1: TCubicSplineSeries ZPosition = 1 AxisIndexX = 1 AxisIndexY = 0 Pointer.Brush.Color = clAqua Source = RandomChartSource1 Options = [csoDrawUnorderedX] Pen.Color = clAqua Pen.Width = 2 end end object pnSpline: TPanel Left = 0 Height = 32 Top = 408 Width = 619 Align = alBottom AutoSize = True BevelOuter = bvNone ClientHeight = 32 ClientWidth = 619 TabOrder = 1 object iseSplineDegree: TTISpinEdit AnchorSideLeft.Control = lblSplineDegree AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnSpline AnchorSideTop.Side = asrCenter Left = 49 Height = 23 Top = 5 Width = 50 BorderSpacing.Left = 8 BorderSpacing.Top = 4 BorderSpacing.Bottom = 4 Link.TIObject = ChartSplineBSplineSeries1 Link.TIPropertyName = 'Degree' MaxValue = 100 MinValue = 1 OnChange = iseSplineDegreeChange TabOrder = 0 end object icbSplineRandomX: TTICheckBox AnchorSideLeft.Control = iseSplineDegree AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = iseSplineDegree AnchorSideTop.Side = asrCenter Left = 123 Height = 19 Top = 7 Width = 75 AutoSize = True BorderSpacing.Left = 24 Caption = 'Random X' Link.TIObject = RandomChartSource1 Link.TIPropertyName = 'RandomX' PropertyNameAsCaption = False TabOrder = 1 end object lblSplineDegree: TLabel AnchorSideLeft.Control = pnSpline AnchorSideTop.Control = iseSplineDegree AnchorSideTop.Side = asrCenter Left = 4 Height = 15 Top = 9 Width = 37 BorderSpacing.Left = 4 Caption = 'Degree' end object cbCubic: TTICheckBox AnchorSideLeft.Control = cbBSpline AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = iseSplineDegree AnchorSideTop.Side = asrCenter Left = 294 Height = 19 Top = 7 Width = 51 AutoSize = True BorderSpacing.Left = 16 Caption = 'Cubic' Link.TIObject = ChartSplineCubicSplineSeries1 Link.TIPropertyName = 'Active' PropertyNameAsCaption = False State = cbChecked TabOrder = 2 end object cbBSpline: TTICheckBox AnchorSideLeft.Control = icbSplineRandomX AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnSpline AnchorSideTop.Side = asrCenter Left = 214 Height = 19 Top = 7 Width = 64 AutoSize = True BorderSpacing.Left = 16 Caption = 'B-Spline' Link.TIObject = ChartSplineBSplineSeries1 Link.TIPropertyName = 'Active' PropertyNameAsCaption = False TabOrder = 3 end object cbLogY: TTICheckBox AnchorSideLeft.Control = cbCubic AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = iseSplineDegree AnchorSideTop.Side = asrCenter Left = 369 Height = 19 Top = 7 Width = 50 AutoSize = True BorderSpacing.Left = 24 Caption = 'Log Y' Link.TIObject = catSplineLogarithmAxisTransform Link.TIPropertyName = 'Enabled' PropertyNameAsCaption = False TabOrder = 4 end end end object tsAutoExtentY: TTabSheet Caption = 'Auto Y extent' ClientHeight = 440 ClientWidth = 619 object chAutoExtentY: TChart Left = 0 Height = 413 Top = 0 Width = 619 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clDefault DoubleBuffered = True object chAutoExtentYFuncSeries1: TFuncSeries Extent.UseXMax = True Extent.UseXMin = True Extent.UseYMax = True Extent.UseYMin = True Extent.XMax = 1 Extent.YMax = 5 Extent.YMin = -5 Pen.Color = 16711808 Pen.Width = 2 OnCalculate = chAutoExtentYFuncSeries1Calculate end end object pnlAutoExtentY: TPanel Left = 0 Height = 27 Top = 413 Width = 619 Align = alBottom AutoSize = True BevelOuter = bvNone ClientHeight = 27 ClientWidth = 619 TabOrder = 1 object cbAutoExtentY: TCheckBox AnchorSideLeft.Control = pnlAutoExtentY AnchorSideTop.Control = pnlAutoExtentY AnchorSideTop.Side = asrCenter Left = 4 Height = 19 Top = 4 Width = 92 BorderSpacing.Left = 4 BorderSpacing.Top = 4 BorderSpacing.Bottom = 4 Caption = 'Auto Y extent' OnChange = cbAutoExtentYChange TabOrder = 0 end end end object tsParametric: TTabSheet Caption = 'Parametric' ClientHeight = 440 ClientWidth = 619 object chParametric: TChart Left = 0 Height = 440 Top = 0 Width = 489 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clDefault object chParametricParametricCurveSeries1: TParametricCurveSeries Extent.UseXMax = True Extent.UseXMin = True Extent.UseYMax = True Extent.UseYMin = True Extent.XMax = 2 Extent.XMin = -2 Extent.YMax = 2 Extent.YMin = -2 OnCalculate = chParametricParametricCurveSeries1Calculate ParamMax = 32 Pen.Color = clMaroon Pen.Width = 2 end end object pnlParametric: TPanel Left = 489 Height = 440 Top = 0 Width = 130 Align = alRight BevelOuter = bvNone ClientHeight = 440 ClientWidth = 130 TabOrder = 1 object seJ: TSpinEdit Left = 24 Height = 23 Top = 182 Width = 50 OnChange = ParamChange TabOrder = 0 Value = 2 end object seK: TSpinEdit Left = 24 Height = 23 Top = 210 Width = 50 OnChange = ParamChange TabOrder = 1 Value = 2 end object tbA: TTrackBar Left = 24 Height = 32 Top = 46 Width = 104 Frequency = 4 Max = 40 OnChange = ParamChange Position = 1 TabOrder = 2 end object lblA: TLabel Left = 8 Height = 13 Top = 50 Width = 12 AutoSize = False Caption = 'a' Font.Style = [fsItalic] ParentFont = False end object stEq: TStaticText Left = 4 Height = 37 Top = 4 Width = 122 Align = alTop BorderSpacing.Around = 4 Caption = 'x = cos(at) - cos(bt)^j'#13#10'y = sin(ct) - sin(dt)^k' Font.Style = [fsItalic] ParentFont = False TabOrder = 3 end object tbB: TTrackBar Left = 24 Height = 32 Top = 78 Width = 104 Frequency = 4 Max = 40 OnChange = ParamChange Position = 1 TabOrder = 4 end object lblB: TLabel Left = 8 Height = 13 Top = 82 Width = 12 AutoSize = False Caption = 'b' Font.Style = [fsItalic] ParentFont = False end object tbC: TTrackBar Left = 24 Height = 32 Top = 110 Width = 104 Frequency = 4 Max = 40 OnChange = ParamChange Position = 1 TabOrder = 5 end object tbD: TTrackBar Left = 24 Height = 32 Top = 142 Width = 104 Frequency = 4 Max = 40 OnChange = ParamChange Position = 1 TabOrder = 6 end object lblD: TLabel Left = 8 Height = 13 Top = 146 Width = 12 AutoSize = False Caption = 'd' Font.Style = [fsItalic] ParentFont = False end object lblC: TLabel Left = 8 Height = 13 Top = 114 Width = 12 AutoSize = False Caption = 'c' Font.Style = [fsItalic] ParentFont = False end object lblK: TLabel Left = 8 Height = 13 Top = 214 Width = 12 AutoSize = False Caption = 'k' Font.Style = [fsItalic] ParentFont = False end object lblJ: TLabel Left = 9 Height = 13 Top = 186 Width = 12 AutoSize = False Caption = 'j' Font.Style = [fsItalic] ParentFont = False end end end object tsExpression: TTabSheet Caption = 'Expression' ClientHeight = 440 ClientWidth = 619 object Panel2: TPanel Left = 0 Height = 93 Top = 347 Width = 619 Align = alBottom AutoSize = True BevelOuter = bvNone ClientHeight = 93 ClientWidth = 619 TabOrder = 0 object LblExpression: TLabel AnchorSideLeft.Control = Panel2 AnchorSideTop.Control = EdExpression AnchorSideTop.Side = asrCenter Left = 8 Height = 15 Top = 8 Width = 90 BorderSpacing.Left = 8 BorderSpacing.Right = 8 Caption = 'Expression y(x) =' end object EdExpression: TEdit AnchorSideLeft.Control = LblExpression AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel2 AnchorSideRight.Control = Panel2 AnchorSideRight.Side = asrBottom Left = 106 Height = 23 Top = 4 Width = 505 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 4 BorderSpacing.Right = 8 OnEditingDone = EdExpressionEditingDone TabOrder = 0 end object LblExprDomain: TLabel AnchorSideTop.Control = EdExprDomain AnchorSideTop.Side = asrCenter AnchorSideRight.Control = EdExprDomain Left = 56 Height = 15 Top = 35 Width = 42 Anchors = [akTop, akRight] BorderSpacing.Right = 8 Caption = 'Domain' end object EdExprDomain: TEdit AnchorSideLeft.Control = EdExpression AnchorSideTop.Control = EdExpression AnchorSideTop.Side = asrBottom AnchorSideRight.Control = EdExpression AnchorSideRight.Side = asrBottom Left = 106 Height = 23 Top = 31 Width = 505 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 4 OnEditingDone = EdExprDomainEditingDone TabOrder = 1 end object LblExprParamA: TLabel AnchorSideTop.Control = EdExprParamA AnchorSideTop.Side = asrCenter AnchorSideRight.Control = EdExprParamA Left = 81 Height = 15 Top = 66 Width = 17 Anchors = [akTop, akRight] BorderSpacing.Right = 8 Caption = 'a =' end object EdExprParamA: TEdit AnchorSideLeft.Control = EdExpression AnchorSideTop.Control = EdExprDomain AnchorSideTop.Side = asrBottom Left = 106 Height = 23 Top = 62 Width = 80 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 OnEditingDone = EdExprParamAEditingDone TabOrder = 2 end object LblExprParamB: TLabel AnchorSideLeft.Control = EdExprParamA AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = EdExprParamA AnchorSideTop.Side = asrCenter Left = 202 Height = 15 Top = 66 Width = 18 BorderSpacing.Left = 16 Caption = 'b =' end object EdExprParamB: TEdit AnchorSideLeft.Control = LblExprParamB AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = EdExprParamA Left = 228 Height = 23 Top = 62 Width = 80 BorderSpacing.Left = 8 BorderSpacing.Bottom = 8 OnEditingDone = EdExprParamBEditingDone TabOrder = 3 end end object ExpressionChart: TChart Left = 0 Height = 347 Top = 0 Width = 619 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.Visible = True Title.Caption = 'y' Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.Visible = True Title.Caption = 'x' Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clDefault object ExpressionSeries: TExpressionSeries Extent.UseXMax = True Extent.UseXMin = True Extent.XMax = 10 Extent.XMin = -1 ExtentAutoY = True DomainEpsilon = 1E-6 Params = < item Name = 'a' Value = 1 end item Name = 'b' Value = -0.5 end> Variable = 'x' Domain = 'x >= a; x<>b' Expression = 'a*sqrt(x-a)/(x-b)' end end end end object UserDefinedChartSource1: TUserDefinedChartSource OnGetChartDataItem = UserDefinedChartSource1GetChartDataItem PointsNumber = 14 Left = 135 Top = 114 end object ListChartSource1: TListChartSource DataPoints.Strings = ( '-1|0|$0000FF|' '-0.5|0|$C00000|' '0|0|$808000|' '0.5|0|$00C000|' '1|0|$00FF00|' ) Left = 280 Top = 112 end object chtsColorMap: TChartToolset Left = 280 Top = 180 object chtsColorMapZoomDragTool1: TZoomDragTool Shift = [ssLeft] Brush.Style = bsClear end object chtsColorMapPanDragTool1: TPanDragTool Shift = [ssRight] end end object RandomChartSource1: TRandomChartSource PointsNumber = 21 RandSeed = 1859411043 XMax = 10 YMax = 1000 YMin = 1 Left = 280 Top = 56 end object catSpline: TChartAxisTransformations Left = 135 Top = 56 object catSplineLogarithmAxisTransform: TLogarithmAxisTransform Enabled = False Base = 10 end end object Timer1: TTimer Interval = 200 OnTimer = Timer1Timer Left = 360 Top = 264 end end