Solved

3D graphics components and/or library for Delphi

Posted on 2003-11-20
9
1,511 Views
Last Modified: 2012-05-04
I am looking for a mathematical or graphical library that provides Delphi components or function enabling creation of 3D graphics in Delphi.
Practically, I have a large set of x,y,z data that I need to 'plot' in 3D.
If the library includes tools to 'smooth' the result, it would be nice
0
Comment
Question by:LeTay
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 9787532
hi again,

you may find some librarys at
http://www.delphi-gems.com/Graphics.php

examine also there the graphics-menu (there is more)

meikl ;-)
0
 
LVL 3

Expert Comment

by:Mamouri
ID: 9789747
Hi!
You will not find any related library or component in delphi!

But there is a lot of libraries for C. you can find a dozen of theme here:

3D Modeling:
http://sourceforge.net/softwaremap/trove_list.php?form_cat=109

3D Rendering:
http://sourceforge.net/softwaremap/trove_list.php?form_cat=110

there is a project name Quakk II. it is converted project of quack popular 3D game from original C code. search in sourceforge and you will find it! take a look at it, too!

Regards
0
 
LVL 2

Expert Comment

by:odissey1
ID: 9789796
Hi LeTay,

There are good news and bad news. Bead one: I was searching for a 'beefy' commercial library for 2 years (price was not important) - seems there is no such thing in Delphi like 'commercial+professional 3D library'. Good news TeeChart Pro from Steema.com is available for ~$100. It includes 3D and 3D_OpenGL. Also very easy to use - practically no code. TeeChart (standart version) is also included in Delphi (see Additional Tab). You may check first if it support 3D (sorry - I can not do this since TCPro installation overrides the standard TC).

Now questions: 1. now large is your data set?  2. is this regular x,y rgid (like a matrix 100x100 points each having Z value)? Or this is a set of (x,y,z) points (like geological data)? 3. How fast do you want to plot them. Do you want real-time data (rotation/zooming)? 4. Do you want 'closed' surface (example: thorus) or you want map-like?
5. Do you want top-view only (map) or all X, Y, Z axes visible?

The unswer which way to go depends on those 1-5 questions. Since I checked many of the libraries I can, probably,  suggest the right one. NONE of the libs I know can accomplish all 1-5. Sorry - graphic support in Delphi rather poor.

If your requirements are simple 2D grid I can, probably, provide some free code (do not expect it to be short :).

Regards,
odissey1  


 
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 9789826
>graphic support in Delphi rather poor.

this i would not say
-> see the game age of wonders
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 27

Expert Comment

by:kretzschmar
ID: 9789855
0
 
LVL 2

Expert Comment

by:odissey1
ID: 9789868
Hi kretzschmar,

I know. But seeng the graphic program always 2 time slower than a similar written in C++ is depressing.
I have no clue why I still do it in Delphi?

regards,
odissey1
0
 
LVL 3

Expert Comment

by:Mamouri
ID: 9792483
odissey1 I thinkit is not true. both Delphi and C++ for 3D Drawing use of some libraries like OpenGL or DirectX.

The Speed of Rendering depend to speed for DirectX and OpenGL not to a programming languages.

Regards
0
 

Author Comment

by:LeTay
ID: 9795695
Dear Odissey1
In a first stage, the data may just be x,z (without y) and so a simple 2D curve.
Number of points in one sample may be I think between 10.000 and 100.000.
It is "regular" in x-axis (x1,x2,... delta x the same), but it is geological-like : the z contains noise that needs to be eliminated (smoothed)
Off-line run so no problem of speed in theory
If axis y comes in the story, probably only a few y values. (so let's say 10 sets of sample x,z for 10 regular values of y) Closed surface view welcome in this case
0
 
LVL 2

Accepted Solution

by:
odissey1 earned 250 total points
ID: 9799328
Hi LeTay,

From your post it seems that TeeChart (TChart) is Ok for you.

Again, there are 2 approaches exist (the difference is speed). The data either could be presented as matrix
x&z are equidistant, so data look like
1 1 1 2 3 1
1 1 2 2 5 8
1 0 0 1 2 1
1 1 1 1 0 0
0 0 0 1 1 2

or ALL (x,y,z) point sets are irregular like
(1,1,0)  (2,5,1)  (7,4,0)  (7,6,6)  (1,1,0) ....

No library supports partially-regular data (X-regular, Z-irregular). So you must consider your data as 'irregular grid'.


Actually, the TChart covers both. It is not very fast with huge arrays (3D array of 1000x1000 will take ~5 sec to plot) You may download demo program from:

screenshots
http://steema.com/products/teechart/gallery.html

exe-demo with all features:
http://www.teechart.net/files/vcl/public/TeeChartPro6/tee6new.zip 

Trial versions:
http://www.steema.com/download/TeeChart_v6/index.htm

Free trial version works while IDE. Price with academic discount ~$120.

How-to:

with TCart, you simply add 3D series  to Chart via TC Editor and then iterate through your data:

procedure TForm1.Button1Click();
...
Series1.AddXYZ(x1,y1,z1);
Series1.AddXYZ(x2,y2,z2);
....

or for i:=0 to 1000 do
Series1.AddXYZ(x[i],y[i],z[i]);

And thats All!
This may be good starting point. Ask Q if any.

Regards,
odissey1
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…
I designed this idea while studying technology in the classroom.  This is a semester long project.  Students are asked to take photographs on a specific topic which they find meaningful, it can be a place or situation such as travel or homelessness.…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now