Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

3D graphics components and/or library for Delphi

Posted on 2003-11-20
9
Medium Priority
?
1,747 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
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
 
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 750 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

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…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

715 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