Bubble3D, Point3D variant

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
Post Reply
DataGord
Newbie
Newbie
Posts: 3
Joined: Fri Dec 12, 2003 5:00 am
Location: Minnesota

Bubble3D, Point3D variant

Post by DataGord » Thu Sep 08, 2005 6:01 pm

Hello,

I've been using Point3D in TeeChart Pro version 6 for VCL/CLX, in Delphi 7. It comes CLOSE to what I'd like, and perhaps the new Bubble3D comes even closer or is an example I can use to build my own descendant. What I'd like is to have a 3D graph I can slice up in, say, 100 "units" per x, y, z axis, where in theory you'd have your one graphical "cube" dividable into one million smaller cubes. So the empty graph looks like any other 3D space, but when I fill in a "point" it is represented as one of the million small cubes.

I'm approximating it now with a square Mark in a Point3D series, with or without 3D shading on the mark. But I don't get appropriate depth (very apparent when I rotate the display at runtime) and even the 2D "face" sizing is a balance between being large enough to see and accurately representing "adjacent" cubes without gaps and without overlap. The point of the graph is specifically to highlight which of the cubes the data represents, and in most cases will be a contiguous space described within the volume of the maximum cube (e.g. a banana shape, or football shape). So empty cubes are invisible, but "activated" cubes are visible.

If each cube is the same color, I'm effectively graphing just "yes" or "no", was that cube "activated" by the data. But with shades or multiple colors I can give more information about that one small cube (e.g. how OFTEN or how LONG the cube was "activated" by the data). We're capturing the behavior of a system, such that at any point in time the system is "in" only one of those small cubes, but that over time will travel up and down that "banana" shape going from being "in" one cube to being "in" a cube next to it, so showing where the system was OFTEN compared to RARELY is useful. Anyway, I'm describing that just to help you visualize the image.

Given what I want, I see the new Bubble3D chart and think, "If it would make cubical 'bubbles' that might be just what I need!"

So that's my starting point, would I be able to use Bubble3D to display cubes, where the cube sizes correspond to dimensions on the axes?

Or is Bubble3D perhaps just a better chart than Point3D to descend from, if I'm going to have to build my own?

Or how would Steema go about creating such a variant, can I talk to anyone in more detail about a customized chart?

Thank you!

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Fri Sep 09, 2005 11:02 am

Hi DataGord,

When using Point3D series with pointer HorizSize and VertSize with values greater than 1 its depth is still 1. However, that doesn't happen with Bubble3D which also has a radius value. Bubble3D is only included in TeeChart Pro v7. You can download its fully funtional evaluation version at http://www.steema.com/downloads/form_tch_vcl.html.

Another solution would be drawing custom cubes at TeeChart's canvas using Chart1.Canvas.Cube.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

DataGord
Newbie
Newbie
Posts: 3
Joined: Fri Dec 12, 2003 5:00 am
Location: Minnesota

Post by DataGord » Sat Sep 10, 2005 3:38 am

Narcis,

Thanks for replying so soon. It sounds like Bubble3D has the depth feature I'd like, but that it would still show bubbles. I can try that to see if we don't mind shifting our visual expectation of "cubes". Is there a way to set the radius (or, if I make my own cubes, the lengths of each side, where a "rectangular solid" may be the result instead of a "cube") at runtime to be a proportional percentage of the axis as drawn? (E.g., if in one instance the chart has an axis 800 pixels long, then the side is 8 pixels, but in another version the axis is 200 pixels long, then the side is 2 pixels.) Is there a run-time value for the length of the axis? Wouldn't I also have to take into account the angle of the axis, so the cube is oriented in parallel on each side (which should automatically maintain even when rotating the graph, once drawn, right?)?

It sounds like, if I want cubes, I should customize my own chart. Would Bubble3D be a better choice to descend from, or would Point3D be just as good of a starting point, as far as features for doing the cubes?

Thanks again!

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Mon Sep 12, 2005 8:22 am

Hi DataGord,

Sorry but I forgot to tell you that Bubble3D series can be squares just changing its pointer style as shown in the code below. Also you won't need to calculate each side size as it will be scaled according to chart's 3D percent. You can check that using the rotation functionality provided with TeeCommander component.

Code: Select all

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  ValueX, ValueY, ValueZ, Radius: double;
begin
  Randomize;

  Chart1.Chart3DPercent:=100;
  Radius:=0.5;

  for i:=0 to 1000 do
  begin
    ValueX:=random*100;
    ValueY:=random*100;
    ValueZ:=random*100;
    Series1.AddBubble(ValueX,ValueY,ValueZ,Radius);
  end;

  Series1.Pointer.Style:=psRectangle;
end;
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

DataGord
Newbie
Newbie
Posts: 3
Joined: Fri Dec 12, 2003 5:00 am
Location: Minnesota

Post by DataGord » Mon Sep 12, 2005 3:04 pm

Aha! Thank you, Narcis. Looks like I will be going to v7 to get Bubble3D. Thanks a lot for your help!

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Mon Sep 12, 2005 3:07 pm

You're welcome DataGord.

I hope v7 fits your needs.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Post Reply