Install
MNHiddenLines ?
The first possibility is to use our installation program. Within
everything will be installed and registered. Also quite a lot
of samples are delivered and the whole documentation (help and
pdf) will be installed.
The
second way is to install it manually. With our mnhl_bin.zip, mnhl_doc.zip
and mnhl_samp.zip.
1. Unpack all files to a folder e.g. c:\Program Files\MNHL
2.
Copy MNHL.dll and axMNHiLines.dll to windows\ system running Win95/98
or windows\system32 running WinNT/2000.
3.
Register the ActiveX library axMNHiLines.dll with the tregsvr
by using: tregsvr c:\windows\system32\axMNHiLines.dll
4.
Run the Sample1.exe and load an arr file you want to view. Switch
to the math device with "Switch device kind" and load the same
arr file again. Now you will see the shapes in the math hiddenlines
buffer.
5.
Check out the delivered Sample Delphi project to see the handling
with the hiddenlines buffers.
Register MNHiddenLines ?
Whenever you add polygons to the math based hidden buffer a "register
check" will be processed. When you have already registered
the MNHiddenLines your application start normally. When you have
NOT registered the MNHiddenLines you will be prompted to register
by a register form. When you ignore the register form (by closing
it), your application starts normally, but at each start of your
application the register form appears - UNTIL YOU REGISTER.
How to register:
First
of all - you have to buy the product in our shop.
You
have two possiblities to register:
1. When you receive the confirmation mail after buying, you will
have a link in this mail to register your MNHiddenLines online.
Just click this link and you will see a register form in your
internet browser, fill in the appropriate fields and choose "Confirm
registration". You will immediatly receive a registration mail
with your request key.
2.
Or - when the register form comes up (when accessing the MNHiddenLines
library), switch to folder "Register", enter a valid email address
(the request key will be sent to this email address), enter the
register name and click "Register online" button. Now you will
be redirected to our online registration site. Fill in the appropriate
fields and choose "Confirm registration". You will immediatly
receive a registration mail with your request key.
What
do i have to do with the keys:
When you start your application, based on MNHiddenLines, the register
form will come up. Switch to folder "Register" and fill in the
received request key. Please do also check that the register nameis
the same as the one you have received. Click "Register" button
and the MNHiddenLines are successfully registered.
What
do i do when the registration fails:
You have always the possibility to send us a fax. Send the fulfilled
MNHiddenLines_fax.txt (you will find it in your installation folder)
to us (00423 377 10 85) and you will receive the needed keys as
fast as possible. When the registration procedure tells you that
the key is wrong - double check that the registered name and the
request key do fit to the informations you have received. When
nothing helps - try to uninstall the product - reinstall it and
try the register process one more time.
Licence
notes:
Please do carefully read the licence notes. They are located in
your installation folder and you will see the licence notes during
setup after this latest notes file.
Header files for MNHiddenLines ?
We do deliver header files for Delphi 3, 4, 5. Note that the header
files for Delphi5 do also fit to Delphi 6. You can also use the
pas files for other Borland products like C.
Additionally
we deliver an ActiveX library called axMNHiLines.dll. When installing
the product with our setup, the library is registered to Windows.
You have to register the library in your developement IDE - then
you can access the ActiveX control TaxMNHL or use the COMObjects
classMNHiddenBuffer, classMNOglBuffer and finally classMNUtils.
See our samples for the techniques.
The theory of calculating hidden lines mathematically ?
When programming graphics - a hidden lines algorithm is one of
the most time consumpting part.
Basically
you have to differ between pixel based and vector based hidden
lines algorithms. In case of pixel based themes you will find
quite fast ones, partwise directly aided by hardware accelerators
to draw hidden lines. E.g. depth-sort, z-buffer or Planedividingalgorithms.
Their time behaviour mainly depends on the raster size of the
device. The number of polygonal surfaces doesn't influence the
time factor extreme (see T. Rauber: Algorithmen in der Computergraphik,
B.G. Teubner Stuttgart). On the other hand we have vector based
algorithms - and their time factor is t = a*x^b, where x defines
the number of lines, t is the time, and a and b are two qualitycoeffizients
with 1 <= b <=2.
Handling vectorbased device vectorbased hiddenlines are a must.
Our hidden lines algorithm is a pure vectorbased algorithm. It
is served as a Windows dynamic link library (DLL), and so the
DLL can be used by any developing languages for Microsoft Windows.
Basics:
All shapes of a scene are made with 3D-polygonals. Their orientation
defines on which side the material will be. Is the orientation
positive - the material is will be on the right side.
Here we define the polygonals clockwise: ABCD, EFBA, BFGC, aso
...
Additionally
a 3D polygon can have one or more holes. They have to lay in the
same plane. The orientation of the holes have to be in the inverse
orientation.
These
3D polygonals will be projected to a xy-plane defines by a projection
base. Normally such a projectionbase is defines by a 4x4 matrix
where the four coordinates define the homogenized coordinates
of a 3D vertex. This projection can be coded by yourself. The
most common projection we offer as source code (Normalprojection,
axonometrie and
perspective).
The
calculation of hidden lines mainly happens in the projection plane.
For these calculations there has to be called a inverse projection.
This inverse projection is rather easy and fast for the affine
projections, but rather complicated when projecting in perspective
view.
For
calculation the coordinates for a output device (e.g. screen)
you have to project the coordinates in to device coordinates.
When calculating these coordinates a zoom factor can be realized
where no recalculation of hidden lines would be neccessary.
Why a math hiddenbuffer and a opengl hiddenbuffer ?
Use the math based hiddenlines buffer to calculate and operate
on vector data, change the scene and let the new data be calculated.
Use the OpenGL based buffer to have fast operations on screen.