Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 2209

Summary: Tri-Surface plot incorrect.
Product: .NET TeeChart Reporter: christopher ireland <chris>
Component: SeriesAssignee: Steema Issue Manager <issuemanager>
Status: CONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
Chart Series: Surface 3D Delphi / C++ Builder RAD IDE Version:
Attachments: matplotlib python script
Reference Charts

Description christopher ireland 2019-06-17 03:52:49 EDT
Created attachment 916 [details]
matplotlib python script

Following is the code that reproduces the issue in TeeChart, using either the original dataset (commented out) or the dataset with rounded values:

        TChart _tChart1 = new TChart();

        private void InitializeChart()
        {
            _tChart1.Aspect.View3D = true;
            _tChart1.Aspect.Orthogonal = false;
            _tChart1.Aspect.Chart3DPercent = 70;
            _tChart1.Aspect.Zoom = 70;
            _tChart1.Zoom.Direction = ZoomDirections.None;

            var triSurface1 = new TriSurface(_tChart1.Chart);

            triSurface1.Add(70.87708, -0.0037910156, -89);
            triSurface1.Add(77.8765259, -0.004736457, -89);
            triSurface1.Add(84.87651, -0.005923081, -89);
            triSurface1.Add(99.87336, -0.00617740676, -89);
            triSurface1.Add(103.42186, -0.00537797436, -89);
            triSurface1.Add(74.6291656, -0.00220004469, -29);
            triSurface1.Add(81.12918, -0.00317465514, -29);
            triSurface1.Add(87.62896, -0.004013799, -29);
            triSurface1.Add(119.628136, -0.00334364548, -29);
            triSurface1.Add(130.126541, -0.00223023072, -29);
            triSurface1.Add(131.121841, -0.000582817942, -29);
            triSurface1.Add(133.311157, 0.0006279759, -29);
            triSurface1.Add(75.63139, 0.000198617578, 30);
            triSurface1.Add(81.13118, -0.000831447542, 30);
            triSurface1.Add(86.13106, -0.00180248171, 30);
            triSurface1.Add(117.128227, -0.00112938136, 30);
            triSurface1.Add(124.127037, -0.000166196376, 30);
            triSurface1.Add(130.128937, 0.0005509816, 30);
            triSurface1.Add(131.124237, 0.00201805681, 30);
            triSurface1.Add(132.930054, 0.00324816257, 30);
            triSurface1.Add(133.990723, 0.003601469, 30);

            //triSurface1.Add(70.87708, -0.0037910156, -89.96313);
            //triSurface1.Add(77.8765259, -0.004736457, -89.96303);
            //triSurface1.Add(84.87651, -0.005923081, -89.9628754);
            //triSurface1.Add(99.87336, -0.00617740676, -89.96268);
            //triSurface1.Add(103.42186, -0.00537797436, -89.96245);
            //triSurface1.Add(74.6291656, -0.00220004469, -29.96283);
            //triSurface1.Add(81.12918, -0.00317465514, -29.96278);
            //triSurface1.Add(87.62896, -0.004013799, -29.9627438);
            //triSurface1.Add(119.628136, -0.00334364548, -29.96263);
            //triSurface1.Add(130.126541, -0.00223023072, -29.96258);
            //triSurface1.Add(131.121841, -0.000582817942, -29.96258);
            //triSurface1.Add(133.311157, 0.0006279759, -29.96258);
            //triSurface1.Add(75.63139, 0.000198617578, 30.0375214);
            //triSurface1.Add(81.13118, -0.000831447542, 30.0375214);
            //triSurface1.Add(86.13106, -0.00180248171, 30.0375214);
            //triSurface1.Add(117.128227, -0.00112938136, 30.0375214);
            //triSurface1.Add(124.127037, -0.000166196376, 30.0374718);
            //triSurface1.Add(130.128937, 0.0005509816, 30.0374718);
            //triSurface1.Add(131.124237, 0.00201805681, 30.0374718);
            //triSurface1.Add(132.930054, 0.00324816257, 30.03742);
            //triSurface1.Add(133.990723, 0.003601469, 30.03742);

            triSurface1.HideTriangles = false;

            _tChart1.Tools.Add(typeof(Rotate));
        }

Attached is a python script which uses Matplotlib to plot the same dataset, and which seems to plot the dataset perfectly.
Comment 2 christopher ireland 2019-06-19 06:00:48 EDT
Created attachment 917 [details]
Reference Charts

Further to this.

TChart's TriSurface renders the first 10 points of this dataset correctly (compare TChart's FirstTen.png with Matplotlib's FirstTen_lib.png). However, TChart cannot render the last ten points correctly (LastTen.png vs. LastTen_lib.png) neither can it render the first eleven points correctly (FirstEleven.png vs. FirstEleven_lib.png)