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 - Tri-Surface plot incorrect.
Summary: Tri-Surface plot incorrect.
Status: CONFIRMED
Alias: None
Product: .NET TeeChart
Classification: Unclassified
Component: Series (show other bugs)
Version: unspecified
Hardware: PC Windows
: Normal normal
Target Milestone: ---
Assignee: Steema Issue Manager
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-17 03:52 EDT by christopher ireland
Modified: 2019-06-19 06:00 EDT (History)
0 users

See Also:
Chart Series: Surface 3D
Delphi / C++ Builder RAD IDE Version:


Attachments
matplotlib python script (862 bytes, application/zip)
2019-06-17 03:52 EDT, christopher ireland
Details
Reference Charts (366.86 KB, application/x-zip-compressed)
2019-06-19 06:00 EDT, christopher ireland
Details

Note You need to log in before you can comment on or make changes to this bug.
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)