SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components



I want to draw the shape of the waveform that stretches out from one point.
I tested it using ‘CreateEllipsoidMesh3DChartFragment’ from example source, but I found problem.

I initialized the displacement value to 0, and entered the displacement value of the point I wanted.
In the image I uploaded, the coordinates are symmetrical, but the shape is different.

Is there a rule that connects coordinates when you draw a triangle?
Is there any way I can control this?

I have attached the image and code.

best regards, Thank you

  • You must to post comments

Hi there,

May I ask what shape are you trying to render?

By defaultFreeSurfaceRenderableSeries3D is defined as 2D mesh which contains M x N points ( you define them via constructor of data series ). In case of EllipsoidDataSeries3D they are evenly distributed to cover surface of ellipsoid so you don’t have control over where they are placed. The size of ellipsoid is defined by A, B and C params, in your case they all are equal to 6, so they form sphere with radius = 6. Then there is a displacement param which tells how to offset point relative to the surface of ellipsoid. If you set it to negative value it offsets point towards the center of ellipsoid ( by default it’s (0, 0, 0) point ), and vice versa if you specify positive offset. In you code you specify displacement = -6, which initially offsets all points to the (0, 0, 0) point ( ellipsoid has radius = 6 and with displament -6, it will become 0 ), then you override some of them to -1 and 1 values which will offset points at specified coordinates to 5 and 7 relative to the origin point, but others ( with displacement = -6) will remain at the origin point and as result won’t be rendered. That’s why you get such output.

Hope this explanation will help you!

Best regards,

  • Mobile SW4
    Hi Yura, Thank you for the explanation, The shape I’m trying to make depends on the space range of the signal. So it’s not consistent. I would measure the range of the signal with a external equipment. But it can’t get all the surface space range coordinates. Once I get some coordinates from the external equipment, I can try connect those coordinates and the antenna coordinates to represent the space range of the signal. I would assume that the apex of the sphere (0,0,0) is an antenna. And I’m going to initialize the displacement to zero and transformation the coordinates from the external equipment to displacement and uIdx, vIdx. Then I will input the transformed displacement values, and input in the values in between through Interpolation. Then I think the approximate shape of the signal will come out. I think I can make this transformation formula. The reason why I’m making this transformation formula is because I couldn’t find another API that can use the coordinates as they are… If you go back to the problem and look at the capture, the way I draw the two points I marked is different. I think both are right. But I want to control it to be the same shape. If ‘DrawMeshAs’ is viewed as ‘Wireframe’, the shape of two points I marked is the same, but if it is solid, the shape changes. Is it the answer that(In case of EllipsoidDataSeries3D they are evenly distributed to cover surface of ellipsoid so you don’t have control over where they are placed.) what you said is impossible? It’s still in the testing stage, so it’s hard to explain in detail, sorry. Best regards, Thank you
  • Yura Khariton
    Well without providing more information about how output should look it’s hard to suggest something, but if you want to have more granular control where points of mesh will be placed in 3D space I would suggest to take a look on CustomSurfaceDataSeries3D ( ), which allows to create more complex shapes, than with EllipsoidDataSeries3D which allows only manipulate displacement relative to the surface of ellipsoid
  • Mobile SW4
    Thank you, Yura. I’ll go over it.
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.