473,748 Members | 10,539 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to build the 3D-graphic in VB .NET?

Hello. Inform, please, on what site it is possible to find materials on
construction of the three-dimensional graphic of function z=f(x,y) with the
help of Visual Basic .NET and GDI+?

Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #1
12 16410
Dr Zharkov,

3D graphics is a large and complex subject. There are any number of ways to
perform what you ask - using GDI, Win32, DirectX, OpenGL (you see my point).
You need to read about matrix math and vector math because, unless you use
DirectX or OpenGL, GDI+ will only see what you throw at it in terms of x,
y - GDI is a 2D rendering library. But ultimately, all 3D graphics
libraries transform down to 2D after projection.

My recommendation is to using DirectX 9, which gives you a set of classes
and methods to help out with common 3D graphics operations. Of course, this
will require a lot of reading :p

"Dr. Zharkov" <va************ @mtu-net.ru> wrote in message
news:Ou******** ******@TK2MSFTN GP10.phx.gbl...
Hello. Inform, please, on what site it is possible to find materials on
construction of the three-dimensional graphic of function z=f(x,y) with the help of Visual Basic .NET and GDI+?

Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #2
Hi Robin,

Lol. I think Dr. Zharkov might know a little bit about maths! ;-))

Regards,
Fergus
Nov 20 '05 #3
I have no idea who Dr Zharkov is, only that the question perhaps required a
somewhat patronising answer! I haven't tried using D3D in .NET yet - but
either way, if one knows about mathematics, it won't be too difficult to
pick up the basics of 3D projection and transformation.

"Fergus Cooney" <fi******@tesco .net> wrote in message
news:%2******** ********@TK2MSF TNGP11.phx.gbl. ..
Hi Robin,

Lol. I think Dr. Zharkov might know a little bit about maths! ;-))

Regards,
Fergus

Nov 20 '05 #4
Mr. Robin Tucker.
1. Thanks for your answer and recommendation.
2. On a site http://codeguru.earthweb.com/opengl/OG.html there is article
"Function graphics in 3D"of the Russian scientist Alexander Chernosvitov
about construction of the three-dimensional diagrams of functions with the
help of Visual C++ 6.0 and OpenGL. Mister Chernosvitov has issued in Russia
the book about construction of the three-dimensional diagrams of functions
with the help of Visual C++ .NET and OpenGL. In Russia and other countries
are issued the books with the theory and programs about construction on
building the 3D-graphics of functions with the help of Visual C++ 6.0 and
GDI.
3. Inform, please, to me about articles and books on building the 3D-graphic
of function z=f(x,y) with the help of Visual Basic .NET, Visual C# .NET or
Visual C++ .NET and GDI+.
Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #5
Ok, you won't find a book on using GDI+ to perform 3D graphics. It just
isn't done that way. There are lots of books available on using DirectX.

There are many examples, here:

http://www.c-sharpcorner.com/Directx.asp

You can post questions/get answers from the forums here:

www.flipcode.com

www.gamedev.net

and of course, if you want to proceed with DirectX and C#, you will using
Managed DirectX. There are tutorials here for this:
http://staff.develop.com/candera/web...egraphics.html.
Basically, you are using Interop services to utilize the D3D COM interfaces.

If you are new to 3D graphics, the 3d graphics bible is of course
http://www.amazon.com/exec/obidos/tg...30557?v=glance,
by foley and van-dam. Perhaps not such a practical book, but provides
familiarity with all aspects of CG in use today.

There are many, many tutorials on the internet related to 3D graphics and I
have to admit I have found them to be more useful than most books. A google
search for "D3D C#" or "DirectX C#" will return many results.

Now finally, if you want to perform 3D graphics with GDI+, which is itself a
2D API, you need to write your own transformation methods. This will
involve the creation of a 3x3 or 4x4 matrix class, a vector/vertex class
and, well, basically, don't bother - you don't need to do this if you use
D3D.

The only thing I might ask is whether you already have knowledge of 3D
Computer Graphics. If not, some of the concepts involved in using D3D will
be difficult for a beginner. If you do, then I guess all you need to know
is how the interop works with D3D Com. Its fairly basic stuff.

I hope this is helpful.
"Dr. Zharkov" <va************ @mtu-net.ru> wrote in message
news:O3******** ******@TK2MSFTN GP11.phx.gbl...
Mr. Robin Tucker.
1. Thanks for your answer and recommendation.
2. On a site http://codeguru.earthweb.com/opengl/OG.html there is article
"Function graphics in 3D"of the Russian scientist Alexander Chernosvitov
about construction of the three-dimensional diagrams of functions with the
help of Visual C++ 6.0 and OpenGL. Mister Chernosvitov has issued in Russia the book about construction of the three-dimensional diagrams of functions
with the help of Visual C++ .NET and OpenGL. In Russia and other countries
are issued the books with the theory and programs about construction on
building the 3D-graphics of functions with the help of Visual C++ 6.0 and
GDI.
3. Inform, please, to me about articles and books on building the 3D-graphic of function z=f(x,y) with the help of Visual Basic .NET, Visual C# .NET or
Visual C++ .NET and GDI+.
Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #6
Oh, and I forgot to add the newsgroup for managed directx:

microsoft.publi c.win32.program mer.directx.man aged
"Dr. Zharkov" <va************ @mtu-net.ru> wrote in message
news:O3******** ******@TK2MSFTN GP11.phx.gbl...
Mr. Robin Tucker.
1. Thanks for your answer and recommendation.
2. On a site http://codeguru.earthweb.com/opengl/OG.html there is article
"Function graphics in 3D"of the Russian scientist Alexander Chernosvitov
about construction of the three-dimensional diagrams of functions with the
help of Visual C++ 6.0 and OpenGL. Mister Chernosvitov has issued in Russia the book about construction of the three-dimensional diagrams of functions
with the help of Visual C++ .NET and OpenGL. In Russia and other countries
are issued the books with the theory and programs about construction on
building the 3D-graphics of functions with the help of Visual C++ 6.0 and
GDI.
3. Inform, please, to me about articles and books on building the 3D-graphic of function z=f(x,y) with the help of Visual Basic .NET, Visual C# .NET or
Visual C++ .NET and GDI+.
Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #7
Mr. Robin Tucker.
1. Thanks for a plenty of the references, but these references do not give
the answer to a question of the given theme: How to build the 3D-graphic in
VB .NET?
2. For building the 3D - graphics, I want to use only GDI+ and Visual Studio
..NET 2003 (without use DirectX).
3. In "amazon" are sold the two books on GDI+:
Symmonds N. GDI+ Programming in C# and VB .NET". APress, 2002. - 576 p.
Aitken P.G. .NET Graphics and Printing: A Comprehensive Tutorial and
Reference for Developers. Optimax Pub, 2003. - 576 p.
Both these publishing houses on the sites do not give the information on,
whether there is in these books a program for building the 3D - graphics.
If you have such information, whether inform, please, there is in these
books a program for building the 3D - graphics?

4. Inform, please, to me about articles and books with program for building
the 3D-graphics of function z=f(x,y) with the help of Visual Basic .NET,
Visual C# .NET or Visual C++ .NET and GDI+ (without use DirectX).

Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #8
Ok Doc,

Heres the low down. What you are looking for is a "Software" rendering
engine. So you are looking for a general book on 3D computer graphics.
Here are a few things you might like to read-up on:

Vector Math
Matrix Math
Frustum Clipping
Backface Culling
Z Buffer
BSP Trees
Texture Mapping
Clip Planes

Dave Eberly is something of an expert on this. He posts on
comp.graphics.a lgorithms quite frequently, has written a few books and
releases his source code free of charge (its all C++).

http://www.magic-software.com/Books.html

What you are looking for is basic principles, from which you can of course
implement with whatever platform you desire - .NET or not. The only GDI+
functions you will use are drawing methods (clear window, draw line, draw
polygon/triangle). The rest you will have to implement yourself (matrix
transforms, perspective correction, frustum clipping, model representation) .

So for example, with VB.NET, you will create a vector class:

public class Vector

public x, y, z As Double

' Some methods to operate on vectors

public function DotProduct ( Another As Vector ) as Double
return ( x * Vector.x + y * Vector.y + z * Vector.z )
end sub

public sub Normalize ()
Dim Length As Double = sqrt ( x * x + y* y + z * z )

if Length <> 0 then
x /= Length
y /= Length
z / = Length
end if
end sub

end class
As I say, you are looking for first principles - if you wish to use GDI+,
you will have to implement these yourself. You won't be able to perform
real-time texture mapping or z-buffering with GDI+, although you could
implement it yourself in software (it will be VERY slow however and you will
need to implement your own triangle scan convertor! This is a big job). A
few enthusiasts spend time writing and optimising their own software
rendering engines with advanced features (some of them are actually very
good), but 99.999% of people use either DirectX or OpenGL for real time
rendering. Of course, if you are talking about Ray Tracing, software
rendering is the way to go at present, but thats a different story
altogether!

"Dr. Zharkov" <va************ @mtu-net.ru> wrote in message
news:%2******** ********@TK2MSF TNGP11.phx.gbl. ..
Mr. Robin Tucker.
1. Thanks for a plenty of the references, but these references do not give
the answer to a question of the given theme: How to build the 3D-graphic in VB .NET?
2. For building the 3D - graphics, I want to use only GDI+ and Visual Studio .NET 2003 (without use DirectX).
3. In "amazon" are sold the two books on GDI+:
Symmonds N. GDI+ Programming in C# and VB .NET". APress, 2002. - 576 p.
Aitken P.G. .NET Graphics and Printing: A Comprehensive Tutorial and
Reference for Developers. Optimax Pub, 2003. - 576 p.
Both these publishing houses on the sites do not give the information on,
whether there is in these books a program for building the 3D - graphics.
If you have such information, whether inform, please, there is in these
books a program for building the 3D - graphics?

4. Inform, please, to me about articles and books with program for building the 3D-graphics of function z=f(x,y) with the help of Visual Basic .NET,
Visual C# .NET or Visual C++ .NET and GDI+ (without use DirectX).

Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #9
Mr. Robin Tucker.
1. Many thanks for your very valuable advice.
2. On a site http://www.magic-software.com/Books.html I have looked the
book, recommended you: Schneider P.J. and Eberly D.H. Geometric Tools for
Computer Graphics. Morgan Kaufmann, 2002. - 1056 p.
In this book are given the small slices of the program on a pseudo-code, and
the program of construction of 3D - graphics is absent.
3. In the previous answer you have written: "A few enthusiasts spend time
writing and optimizing their own software rendering engines with advanced
features (some of them are actually very good):"

How to find the programs of these enthusiasts on building the 3D - graphics
of function z=f (x, y) and only for Visual Studio .NET (without use DirectX,
OpenGL, MathCAD, MatLab, Maple and similar packages)?

Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov.
Moscow, Russia.

Nov 20 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1209
by: daniel4d2001 | last post by:
Hello I'm using VisualStudio.net 7.1. A simple hello world plugin using 2 Maya api headers (3d animation software). VS compiles a functional debug DLL just fine (found in debug folder) but when I try to compile a release build - Ctrl+F7, I get this message: ------ Build started: Project: SimpleCommand, Configuration: Debug Win32 ----- Compiling.. Skipping... (no relevant changes detected SimpleCommand.cp Build log was saved at...
2
3325
by: NM | last post by:
Hello all, I am supposed to do some mixed programming with c++ and fortran. I was succeeful in exchanging the 2D arrays from fortran to c++ and the other way, but was unable to that same with the 3D arrays, the values passed are not all the same. I am also pasting the fortran and c++ codes so that you could have a look at them. ////C++ Code
3
2512
by: Dr. Zharkov | last post by:
Hello. Inform, please, how to find the programs on building the 3D-graphics of function z=f (x, y) and only for Visual Studio .NET: Visual C# .NET, Visual Basic .NET or Visual C++ .NET and GDI+ (without use DirectX, OpenGL and similar packages)? Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov. Moscow, Russia.
0
891
by: Dr. Zharkov | last post by:
Hello. Inform, please, how to find the programs on building the 3D-graphics of function z=f (x, y) and only for Visual Studio .NET: Visual C++ .NET, Visual Basic .NET or Visual C# .NET and GDI+ (without use DirectX, OpenGL and similar libraries)? Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov. Moscow, Russia.
0
1539
by: Dr. Zharkov | last post by:
Hello. Inform, please, how to find the programs on building the 3D-graphics of function z=f(x, y) and only for Visual Studio .NET: Visual Basic .NET, Visual C# .NET or Visual C++ .NET and GDI+ (without use DirectX, OpenGL and similar libraries)? Beforehand many thanks for your answer. Best regards, Dr. V.A. Zharkov. Moscow, Russia.
12
3599
by: Xah Lee | last post by:
Of Interest: Introduction to 3D Graphics Programing http://xahlee.org/3d/index.html Currently, this introduction introduces you to the graphics format of Mathematica, and two Java Applet utilities that allows you to view them with live rotation in a web browser. Also, it includes a introductory tutorial to POV-Ray.
4
2456
by: Peter Webb | last post by:
I am writing some visualisation code for 4 dimensional geometric shapes. This is to run in the C# .NET XNA environment, so I am cross posting a maths and C# group. My software runs just fine for 3D objects - for example I can draw cubes, tetrahedrons, icosahedrons etc and rotate them on screen. All of the "heavy lifting" is done by the XNA libraries, which have transformation libraries to map 3D constructs onto 2D with perspective. Using...
4
5236
by: Jon Harrop | last post by:
I am writing a 3D graphing component built upon WPF and would like to have 2D vector graphics (e.g. typeset mathematics) as labels laid out from 3D coordinates. For example, a tick on an axis has a 3D coordinate and its 2D label might be right-aligned to the 2D projection of that 3D point. The following Mathematica plot illustrates the functionality I am after: http://math.arizona.edu/~goriely/M322/Mathma-ComplexFunc.jpg I have done...
0
8831
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9374
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9325
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8244
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6076
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4607
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4876
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3315
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2787
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.