[VSK5] BoatParam.xml

Virtual Skipper 5 offer the possibility to import own boat 3D models.<br>
3D artists and players can now meet here to share models and advices.<br>
Virtual Skipper 5 offre la possibilité d'importer vos propres modèles 3D de bateaux.<br>
Les artistes 3D et les joueurs peuvent maintenant se réunir ici pour partager leurs modèles et conseils.
Locked
User avatar
sunburn
Moderator
Posts: 109
Joined: 26 Oct 2003, 22:59
Location: France

[VSK5] BoatParam.xml

Post by sunburn »

05-09-07 - Added LuffAngleSpeedCurves & SheetAngleMaxCurve
04-27-07 - Added BoomAngle & Shaddows
04-25-07 - First Version




<DecelerationConstant Conv="KnotToMs">0.1</DecelerationConstant>
<DecelerationDynamic>0.15</DecelerationDynamic>
DecelerationDynamic cares about the gap between your Boat Speed and the Theoric Speed you should have. More big is the gap, faster you loose some speed.
Usefull to set up speed when tacking or going Head To Wind.


<DecelerationFromTillerCurves>
<Xs Conv="KnotToMs">11</Xs>
<Curves>
<Curve>
<Xs> 0.35 0.45 0.65 1</Xs>
<Ys Conv="KnotToMs">0 0.1 2 3</Ys>
</Curve>
</Curves>
</DecelerationFromTillerCurves>
DecelerationFromTiller = f(BS,TillerAngleNormed).
For example, when you are 11 knots fast, if you steer at 65%, you will loose 2 knots per second.


<DecelerationFromTillerCurvesBearAway>
Same as above but only when bearing away.

<OptimalSailAngleCurves>
OptimalSailAngle=f(TWS,AWA)

<OptimalSailAngleCurvesArray>
You can adjust some different OptimalSailAngle for the MainSail depending of what HeadSail is set up.

<HeelAngleCurves>
HeelAngle = f(TWS,TWA)

<BSCoefCurves>
BSCoef(TWS) = f(AWA,OptimalSailAngle-CurSailAngle)

<HeelAngleCoefCurves>
HeelAngleCoef(TWS) = f(AWA,OptimalAngleMinusCurAngle)

<AccelerationCurves>
Acceleration = f(TWS,TWA)

<ShiverAngleCurve>
<Xs Conv="KnotToMs">10 20 30 40</Xs>
<Ys Conv="DegToRad">27 29 30 31</Ys>
</ShiverAngleCurve>
ShiverAngle = f(TWS).
For example, if Wind is 20 knots strong, your sail is flapping from AWA=0 to AWA=29.


<AutomaticSheetTargetSpeed>1.1</AutomaticSheetTargetSpeed>
This is not used anymore, you can delete this line.

<BulgeIntens>0.65</BulgeIntens>
<BulgeSpeed>1.4</BulgeSpeed>
You can adjust the shape of the sail.

<VisualShiverAmplitude>0.7</VisualShiverAmplitude>
<VisualShiverSpeedCoef>3</VisualShiverSpeedCoef>
<VisualShiverSpeedMax>9</VisualShiverSpeedMax>
You can adjust speed, amplitude when sail is flapping.

<ShiverWindFree>False</ShiverWindFree>
This parameter allow you to make the sail flapping or not on downwind when fullsheeted.
(True on nadeoACC's Spi, False on all other sails).


<RevolveAngleSpeedCurves>
RevolveAngleSpeed = f(BS,TWA).
It makes your boat bearing away when you're stuck Head to Wind.


<BoomAngleCurves>
<Xs Conv="KnotToMs">0</Xs> //TWS
<Curves>
<Curve>
<Xs Conv="DegToRad">60 80 140</Xs> //AWA
<Ys Conv="DegToRad">2 5 25</Ys>
</Curve>
</Curves>
</BoomAngleCurves>
BoomAngle = f(TWS,AWA)

<BoomSpeed>0.4</BoomSpeed>
Speed of the Spinnaker pole

<LuffAngleSpeedCurves>
<Xs Conv="KnotToMs">5 10 14 16 18 20 25 30 40</Xs>
<Curves>
<Curve>
<Xs Conv="DegToRad">0 30 45</Xs>
<Ys Conv="DegToRad">-15 -10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">10 40 50</Xs>
<Ys Conv="DegToRad">-20 -10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">10 40 60</Xs>
<Ys Conv="DegToRad">-20 -10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">20 40 60 85 110 120</Xs>
<Ys Conv="DegToRad">-20 -10 0 10 10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">20 40 70 80 110 115 125</Xs>
<Ys Conv="DegToRad">-20 -10 0 15 15 10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">20 40 80 90 110 120 130</Xs>
<Ys Conv="DegToRad">-20 -10 0 15 20 10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">0 40 80 90 105 115 125 135</Xs>
<Ys Conv="DegToRad">-20 -10 0 15 25 25 10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">0 40 80 90 110 120 135 140</Xs>
<Ys Conv="DegToRad">-20 -10 0 20 45 30 10 0</Ys>
</Curve>
<Curve>
<Xs Conv="DegToRad">0 40 80 90 115 125 135 145</Xs>
<Ys Conv="DegToRad">-20 -10 0 20 50 30 10 0</Ys>
</Curve>
</Curves>
</LuffAngleSpeedCurves>
LuffAngleSpeedCurves = f(TWS,TWA).
Be carefull to not use both RevolveAngleSpeedCurves and LuffAngleSpeedCurves in the same sail section.


<SheetAngleMaxCurve>
<Xs Conv="DegToRad">23 25 30 35 45 55 65</Xs>
<Ys Conv="DegToRad">57.3 51.6 43 34.4 24.6 20.1 11.5</Ys>
</SheetAngleMaxCurve>
SheetAngleMaxCurve = f(Heel).
You can add this in each sail section if you want to make it impossible for a sail to go through the sea (when heel is quite big ^ ^).



<WindShadow>
<UseNewWindShadowing>True</UseNewWindShadowing>

<Pos0>0 -30</Pos0>
<Pos1>0 20</Pos1>
<Height>30</Height>
<SecondSegmentCenterRatio>-0.2</SecondSegmentCenterRatio>
<SecondSegmentLength>5</SecondSegmentLength>
<SizeF7F3Ratio>1</SizeF7F3Ratio>

<WindDirDevCoef>0.524</WindDirDevCoef>//WinDirDevCoef*(1-coeff_shaddows) = 0,25*0,25 = 0,0625 radians = 3,58° for base = 0,75
<WindDirDevMax>0.0611</WindDirDevMax>//max coef = 3,5°

<BlockerBase>0.7</BlockerBase>
<BlockerCoeffX>1.3</BlockerCoeffX>
<BlockerCoeffY>0.5</BlockerCoeffY>
<BlockerCoeffYMax>1.6</BlockerCoeffYMax>
<BlockerBaseXCenter>0.3</BlockerBaseXCenter>
<BlockerBaseXCenterVal>0.2</BlockerBaseXCenterVal>
<BlockerBaseXMult>0.7</BlockerBaseXMult>
<BlockerValXCoeff>0.8</BlockerValXCoeff>
<BlockerOffsetX>0.8</BlockerOffsetX>
<BlockerPosRatio>0.3</BlockerPosRatio>

<TurbulenceCoeffX>0.55</TurbulenceCoeffX>
<TurbulenceCoeffY>48</TurbulenceCoeffY>
<TurbulenceBase>0.85</TurbulenceBase>
<TurbulenceBaseXCenter>0.5</TurbulenceBaseXCenter>
<TurbulenceBaseXCenterVal>0.3</TurbulenceBaseXCenterVal>
<TurbulenceBaseXMult>1</TurbulenceBaseXMult>
<TurbulenceAngleDeviationMult>1.05</TurbulenceAngleDeviationMult>
<TurbulencePosRatio>0.16</TurbulencePosRatio>
<TurbulenceMaxAwa Conv="DegToRad">75</TurbulenceMaxAwa>
<TurbulenceFadderAwa Conv="DegToRad">70</TurbulenceFadderAwa>

No more sillage as SillageBase = 1.
<SillageCoeffX>0.1</SillageCoeffX>
<SillageCoeffY>0.1</SillageCoeffY>
<SillageBase>1</SillageBase>
<SillageOffsetMult>1.5</SillageOffsetMult>
<SillageMaxAwa Conv="DegToRad">50</SillageMaxAwa>
<SillageFadderAwa Conv="DegToRad">50</SillageFadderAwa>
<SillageCoeffYRot>0.1</SillageCoeffYRot>
<SillageRotAwa Conv="DegToRad">30</SillageRotAwa>
<SillageAngleDeviationDiv>2</SillageAngleDeviationDiv>

</WindShadow>
Here are all values of the Official ACC's shadows.
As you can see, there's no more sillage (SillageBase=1).
Reason is that there's some bugs with 'sillage' and that we can make very good shadows direction with only Turbulence and Blocker.
Last edited by sunburn on 09 May 2007, 17:50, edited 5 times in total.
sunburn
GBR13697
Capitaine
Posts: 153
Joined: 28 Oct 2005, 10:20

Post by GBR13697 »

Thank you Sunburn. I can see that this is going to take a lot of puzzling and experimentation. Look forward to the next instalment!
GBR13697
User avatar
CANKnot
Moderator
Posts: 1320
Joined: 09 Nov 2005, 22:21

Post by CANKnot »

Thanks Erwan, I was going to PM you and ask if you could explain some of these since you are likely the person most familiar with the new BoatParam.xml file (if fact I bet you can't stand looking at them any more ;) )
DecelerationFromTiller = f(BS,TillerAngleNormed).
For example, when you are 11 knots fast, if you steer at 65%, you will loose 2 knots per second.
So does that mean if you are sailing 5 knots or 15 knots you won't have any deceleration from the tiller? What happenes when you are not doing exactly 11 knots? In fact, this question applies to most of the "curves".
<DecelerationFromTillerCurvesBearAway>
Same as above but only when bearing away.
Does this mean that the DecelerationFromTiller only affects heading up?

Also, for all the Curves, Xs, Ys elements I assume that we can have as many numbers in the list as long as everything matches up?

Thanks,
Keith
In theory there is no difference between theory and practice, but in practice there is.
OhMonBato
Amiral
Posts: 345
Joined: 24 Oct 2003, 01:03
Location: Vannes - FRANCE

Post by OhMonBato »

Is it possible to see the XML file of official Melges ?
Pierre - OhMonBato
You want some fun ? Download the Melges Cube Image
User avatar
euphoria
Amiral
Posts: 476
Joined: 06 Oct 2005, 08:34
Contact:

Post by euphoria »

What happenes when you are not doing exactly 11 knots? In fact, this question applies to most of the "curves".
Interpolation.
Does this mean that the DecelerationFromTiller only affects heading up?
Yes.
Also, for all the Curves, Xs, Ys elements I assume that we can have as many numbers in the list as long as everything matches up?
Yes, in order to define the wanted interpolation curve (as shown when clicking the ViewBoatCurves key).

Harald
User avatar
sunburn
Moderator
Posts: 109
Joined: 26 Oct 2003, 22:59
Location: France

Post by sunburn »

CANKnot wrote:Thanks Erwan, I was going to PM you and ask if you could explain some of these
Sorry I was at Valencia. :wink:

CANKnot wrote:
DecelerationFromTiller = f(BS,TillerAngleNormed).
For example, when you are 11 knots fast, if you steer at 65%, you will loose 2 knots per second.
So does that mean if you are sailing 5 knots or 15 knots you won't have any deceleration from the tiller? What happenes when you are not doing exactly 11 knots? In fact, this question applies to most of the "curves".
Like Harald told you, interpolation will be calculated. It means if you put only one BS, it will be applied all the time whatever your boat speed.

CANKnot wrote:
<DecelerationFromTillerCurvesBearAway>
Same as above but only when bearing away.
Does this mean that the DecelerationFromTiller only affects heading up?
DecelerationFromTillerCurvesBearAway is facultative.
It means if you put only DecelerationFromTillerCurves, then it will be use for both luffing and bearing away.
sunburn
Rich oot1960
Matelot
Posts: 117
Joined: 25 Apr 2007, 04:36

Post by Rich oot1960 »

Thx Sunburn for that bit of info!
A few more questions if you don't mind. :)
What are the different boat type names used other than MonoCoque?(Cat, Multi?)
I suspect these have to be named correctly for the game to see.
Boat width? (relates to) Length does not seem to be used?
Thanking you.
maitai
Amiral
Posts: 354
Joined: 04 May 2006, 10:35
Contact:

Post by maitai »

You can use also "Catamaran" and "Trimaran".
There is no BoatLength, and I think BoatWidth is useless for a monohull. For multihull it helps for heel behavior
OhMonBato
Amiral
Posts: 345
Joined: 24 Oct 2003, 01:03
Location: Vannes - FRANCE

Post by OhMonBato »

Qui peut m'expliquer la signification de ceci ?

<BSCoefCurves>
<Xs Conv="KnotToMs">10 20 30</Xs>
<Curves2>
<Curve2>
<Xs Conv="DegToRad">0 10 20 30 40 50 60 90 120 150 180</Xs>
<Curves>
...... Je passe plusieurs lignes
<Curve> Cette section correspond à un TWA de 150 avec 10 nds de vent
<Xs Conv="DegToRad">-111 -3.45 0 1.05 35</Xs>
<Ys>0 1 1 1 0.65</Ys>
</Curve>

Comment peut on avoir un OptimalSailAngle-CurSailAngle de -111 ? C'est -111 quoi ? Degrés ? L'OptimalSailAngle c'est l'angle entre la voile et la ligne de foi du bateau ? CurSailAngle, c'est bien CurrentSailAngle ?


Pour la section OptimalSailAngleCurves dont SunBurn parle plus haut, n'est ce pas étrange que la fonction soit basée sur la vitesse REELLE du vent mais sur son angle APPARENT ?

J'aurai certainement d'autres questions plus tard ;)
Pierre - OhMonBato
You want some fun ? Download the Melges Cube Image
User avatar
Skiffie
Capitaine
Posts: 255
Joined: 10 Oct 2005, 11:56
Location: Brisbane, Australia
Contact:

Post by Skiffie »

maitai wrote:You can use also "Catamaran" and "Trimaran".
There is no BoatLength, and I think BoatWidth is useless for a monohull. For multihull it helps for heel behavior
I think Rich's question stems from the Moth setup in VSK4. To get the "lift" behaviour it's been set up as a multihull 8) most likely like a trimaran without the floats.
maitai
Amiral
Posts: 354
Joined: 04 May 2006, 10:35
Contact:

Post by maitai »

OhMonBato wrote:Qui peut m'expliquer la signification de ceci ?

Comment peut on avoir un OptimalSailAngle-CurSailAngle de -111 ? C'est -111 quoi ? Degrés ? L'OptimalSailAngle c'est l'angle entre la voile et la ligne de foi du bateau ? CurSailAngle, c'est bien CurrentSailAngle ?
According to what I understood, SailAngle is the angle of the sail with boat length axe, ie more or less sheeted/eased. So you can have the currentangle more than the optimum one, which will give you a negative value (i.e your sails are too much eased)

And I think -111 is just here to help interpolating for extrem values

But I am sure Erwan will explain better.
Rich oot1960
Matelot
Posts: 117
Joined: 25 Apr 2007, 04:36

Post by Rich oot1960 »

Yes that was my reason for the question! for the Moth.
Next thing is that the Moth is Mainsail only but for VSK4 it has an invisible Genoa. Is their a way around this with the BoatParams file System?
Last thing is the Moth sails with Negative heal to give additional lift to windward. Which code affects that?
Thx Guys.
OhMonBato
Amiral
Posts: 345
Joined: 24 Oct 2003, 01:03
Location: Vannes - FRANCE

Post by OhMonBato »

Thank Maitai for your repply. I observed that values for AWA of 150 go from -111 to +35, so a gap of 146, close of 150 it's same principle for other AWA sections.
The higher value (35) is also the maximum optimal sail angle as described in the sample xml file, SheetAngleMax is set to 45, so I really don't see how we can have a difference of 111. I understood your idea about inerpolation, would be more sensed for me to put max diff angle of -45 and ajust coeff instead or could mean also I understood nothing at all :D
Pierre - OhMonBato
You want some fun ? Download the Melges Cube Image
User avatar
sunburn
Moderator
Posts: 109
Joined: 26 Oct 2003, 22:59
Location: France

Post by sunburn »

OhMonBato wrote:Thank Maitai for your repply. I observed that values for AWA of 150 go from -111 to +35, so a gap of 146, close of 150 it's same principle for other AWA sections.
The higher value (35) is also the maximum optimal sail angle as described in the sample xml file, SheetAngleMax is set to 45, so I really don't see how we can have a difference of 111. I understood your idea about inerpolation, would be more sensed for me to put max diff angle of -45 and ajust coeff instead or could mean also I understood nothing at all :D
Because a boat can't stop on downwind.
There's many ways to use the function, this one has been choosen for nadeo's boat.
Feel free to choose another way.
sunburn
User avatar
admiral
Amiral
Posts: 338
Joined: 27 Oct 2003, 08:43
Location: Nederland

Post by admiral »

Under the assumption that i don't have a clue of whta i'm talking about....

- If I set the BoomSpeed to 0 wil the Boom for an SpiAsym get stuck in a forward pointing position, no matter what the wind angle would be and no matter how much time passes?

- I asume there's no problem making the tack of an SpiAsym connect to the boom end?

- If i then lower the SpiBoom to a plane inches below deck, could i achieve the illusion of an extendable bowsprit that only appears (is extended) when i hoist the spinaker? (the part below deck connected to the mast is invisible)

Starting from scrap here, so be easy on me? :)
Locked