By: Andrés Merino
Master of Merchant Marine
Back to Home Page.
The accomplishment of a scenery for the Virtual Sailor program simulation of Ilan Papini is a process that implies a great complexity and processing, so that the result be satisfactory. Perhaps for that reason, there are no so many enthusiastic designers of sceneries as designers of ships.
The design of a scenery difference of the design of a ship in which first must be looked like that already it exists and that in addition, much people know, reason why is easy to know to what extent, the scenery adjusts to the reality. On the other hand, an excessively detailed scenenery implies to handle a great amount of information (it means vertices and triangles) that must be displayed in very little space. It still implies an increase in the slowness of representation, greater if it is slow computers.
In this article I try to facilitate some ideas on the operativity of the scenes and the form to create them more easily, basing on my own experience in the design of sceneries and ships. This does not means that other better methods do not exist to do it, but I consider necessary to urge others to make the same exercise in benefit to obtain a unique method of development.
In this article I try also to verify, from a mathematical point of view, the degree of reliability of the program as far as the processing of the sailed distances, the calculation of latitude and longitude as well as the escale of the visual models that are gotten up in the scenes.
I assume that the reader knows the instructions the author of the program, Ilan Papini for design of scenes, described in Scenery Design > Adding new scenery to Virtual Sailor. of http://hangsim.com/vs, to which I will make reference repeatedly.
1) To compile information
Before to begin the design process, it is necessary to compile a series of information of the area to cover, at least, the following one:
· Drawing where the heights can be observed. Considering that each pixel represents a square of
land_size * land_size meters,
(See Adding new scenery to Virtual Sailor) of the Scenery.cfg file. My opinion is that the size of land_size. must be chosen with a value between 200 and 300 mts. of side.
Considering that the scene has to have a dimension of 1024 * 1024 pixels, according to the dimensions of the Map.bmp file, the dimension of the scene must be between 200 * 1024 = 204800 mts. and 300 * 1024 = 307200 = mts.. (from111 to 165 nm).
If we adopt like dimension of píxel a very small amounts, it is reduced the visible area from the bridge because the number of pixels which the sailor see from the bridge is variable from a maximum to a minimum.
If on the contrary, an excessive value is adopted, it will not be possible to have a good resolution of the coast to imitate, because the space that occupies the square of píxel does not allow to imitate the contour of the coast and the similarity to the reality will be lost.
It must consider that it is not necessary to introduce the heights of land beyond 12 pixels from the coast. The Maxima distances visible from the bridge, selectionable in Options>Games>Land Scenery Area. pixels is of 12. Further on, it will not be possible to see, unless we go with the boat into the land, which is not and orthodox way to navigate.
· Aerial Photographies of the coast. This is convenient in order to apply the suitable textures as well as at the time of relating the heights and the approximate dimensions. These photographies can be obtained in the Web of the Harbor Authorities of the coast or in the Web of the sporting ports. I am sure that one will not have problems in it. For the Spanish coast, I got it in www.navegar.com.
· Photographies of the buildings, piers, ports, etc., that are going away to include. In this particular it will aid to the Web of the ports to simulate. Anyway, much imagination will be needed to cover the areas without information since we will never had all the one that we needed.
. Nautical chart updated the zone to have the best information of depths, lights, lights houses, obstacles, etc. Also Light Houses book and/or log book. of the zone.
Once you gathed this information, or at least, as much as possible, we will move on into the mysterious world of design and "che sara, sara, whatever will be, will be... ".
2) To create the rest of files, map.bmp, tex.bmp, depth.bmp and the rest necessary for the operation of the scenery, follow the recommendations of the Author of the Program. However, the main difficulty will be in the creation of the file obj.bmp, to which "we should put to eat aside".
TO INCLUDE OBJECTS IN a SCENE OBJ.BMP
It is understood by objet to include in an additional scenery, all elements, like piers, docks, warehouses, buildings, cranes, lights, buoys, beacons, etc. that complete the scene.
These elements must be looked to which really are installed and to be located in the correct position with respect to the reality and the photographies that we have of the port.
And still more, the visual models of these elements (file * .3ds), must be optimized to occupy the minimun number of triangles and vertices, to reduce the times of representation in screen (Fps).
The inclusion of objects in the scene is therefore, a technique that requires knowledge to obtain an optimal result. This article tries to facilitate the work to design realistic sceneries with the minimum effort.
Positioning of objects in the scenery
1. Definition of the file
According to the description of the file obj.bmp of Scenery Files, one píxel of map.bmp is a square with a value of side of "land-size" of the file scenery.cfg..
2. Origin of coordinates of the file obj.bmp
The position of an element within the square that determines the pixel, is expresed in the files pxx.def. by means of coordinates x, y, z of the object within that square.
The coordinate z, or the height of the object on the Earth, always talks about the height on the plane that supports it, that is to say, it will add to the indicated altitude in the corresponding pixel of the plane " map.bmp ".
The position of the object in the plane of the pixel, will be:
- X: Towards the North, positive. Towards the South, negative
- Y: Towards the East, positive. To the west, negative
- Z: Upwards, positive. Down, negative
3. Value of the co-ordinate of the object
The value of each co-ordinate is refered by the variable land_size of the file scenery.cfg, so that for a co-ordinate D we should introduce:
Coordinate_to_introduce = D / land_zice
The value 0.0.0, is the lowest left angle of the square that represent the píxel.
A value of x = 1, y = 1, z = 0 for a co-ordinate represent the position of the upper right angle of the píxel.
Example: In a scenery with a value of land_size = 228,5, we wish to locate a beacon in a point located in coordinates x = 22 mts, y = 56 mts and z = 4 mts, related to the left inferior angle of the square of nearliest píxel.
El value than we will have to introduce like coordinate x, y, z in the file p00X will be:
4. To locate the light on the file obj.bmp
To exactly define the situation of a terrestrial element like light, beacon or house, we should proceed as follows:
5. To locate the light of a light or beacon:
To locate the globe of light of a light house or of a beacon is perhaps one of the works more troublesome than we can found. The light globe must be located in the exact location of the "lantern " of the light or the buoy and its coordinates must be referred also to the 0.0.0 of the pixel. Its location is therefore complex due to the coincidency of the globe exactly in the lantern. I dont know another method than to do it by "try and error", which can be very complex and tedious..
The best form I found to do it is to refer the position of the globe to the light, but to do it, the coordinates 0.0.0 of the light must be the corresponding to the position of the light globe, so that the coordinates that we introduce to locate the light, be the same that those of the light globe. It forces to that the lantern of the light be translated to the coordinate 0.0.0 when store the file *** 3DS of the light. By this way, when including the light in the file * obj, we will have the same coordinate that the light globe.
I found this way a little difficult to understand without a practical example, then, I'll prepare an example to explain it with more detail because it may safe designing time .
TESTS OF DIMENSIONS IN VIRTUAL SAILOR.
One of the problems that considered to me when I began to design sceneries and boats for Virtual Sailor, was to obtain that the scales that I was using for the models be the same both for the scenery as for the ships. This produced enough headaches and surprises to me, which I mention:
I found that there was a great difference of scales between the different ships that exist in "Add-on boats".
All the ships (including the one designed by me), were designed in an excessive scale with respect to land.
Quickly I deduced that necessarilr both scales (of land and ships), would have to be related to each other, since the sailed distance (in relation to land) must be coherent with the dimensions of the ships. That is to say, if I sail at 30 knots speed during half an hour, 15 miles must be crossed. In another way, It will induce to error, nonsingle in the whole ranges, but in the existing relation between the objects of a port and the own ship. On the other hand, the distances have influence in the indication of the Latitude and Longitud indicated in the map must correspond (more or less) to the geocentric coordinateses in the reality.
I made a test to see the impression of navigating with a real scale. For that, I modified the dimensions of the "Castillo de la Mota" to adapt the dimensions of the visual model to the land escale. In fact, my impression was that the proportions was more similar to reality. Of course I did not made the comparation with other of the existing vessels.
I considered therefore important, to assure that the distances in the map be correct and in addition, that the ship be in the same scale than the land. To do it, I made an experiment that has produced me a great surprise
The used procedure was the following:
1) Test scales of distances of the scenes:
I placed two pixels in the Sea of Alborán (Mediterranean Sea of the Scene of Gibraltar), separated 100 pixels in E-W direction, pixels posiciones, (676, 676) and (776, 676). In each pixel, (or square of sea), I located a beacon to be used like marks.
Considering that the size of one píxel for this scenery is of 228.5 mts., I found that the length between pixels, or between the two beacons, must be:
228.5 * 100 = 22,850 mts or 12.34 nautical miles.
In order to verify if this distance were certain, I located the boat " Sailboat " as opposed to one of the beacons and I made it sail to 9,5 knots until the following one, writing down the time of exit. When arriving at the second beacon, the boat, at that speed, must have crossed 22850 meters and therefore the time used in crossing that distances should be:
(60 * 12.34) / 50 = 77,9 minutes
When arriving at the second beacon, I wrote down the time again and I reduced both times obtaining the interval of time used in sailing between both beacons. This was 79 minutes approximately. That represent an error of 1.4%, which I considered acceptable. It means that the distance sailed with respect to the land (according to map.bmp) was correct.
I really did not wait for another one result because this VS simulator use two models to define each vessel:
A mathematical model, expressed in file boat.def.
A visible model, represented by file boat.x.
And as far as I know, there is no relationship between both models. Accordingly, It is possible to modify one of them without altering the other. In fact, many of the existing models are designed so.
Now I can consider that the scale of the scenery where I made the test, is in according to the distances of navigation provided by the program. Therefore, I took this distance like master for measuring the distances and to obtain a measuring tape.
2) Construction of one Common Scale of Distances
After this test, I was centered in creating a scale of distances to be used for both designs, ships and sceneries.
To do it, I located two new beacons in the same position, each one in contiguous pixels, reason why the distance between both beacons should be 228.5 mts. (the same like land-size"). From here, I created a " graduated tape" in meters as a master for distances. After several attempts, I obtained a scale graduated to use for both, land as for vessels.
with dimensions in meters
Scale with dimensions in meters
2) Test of the dimensions of the ships:
And now comes the surprise. Once I was sure that the distances to sail were correct, I happened to verify if the scales of the designed ships were proportionate to the distances indicated in the file boat.def. To do it, I measured the length of the ships with the tape obtained, and I found:
Lenth of "Sailboat" ......................... = 48 mts.
Lenth of Frigate "Sanlucar" ........... = 250 mts.
Lenth of Craftcarrier "Andalucía" = 700 mts.
¡Surprise, surprise, each boat had a different scale and all of them, an exaggerated scale.
Can somebody explain this to me?
3) Rule for measures
The following is a tape that allows to measure distances between points of land and "theorically", the distances of the ships, although as I said before, the ships are nowaday overdimentioned according to land.
Consecuently, you should not be surprised when you approach to a harbour with a boat looking like a "mammonth vessel".
If you are interested in the measurement tape, down load here:
.....to be continued
Back to top