DigitalCurling3  1.0.0
A curling simulation system for curling AIs
digitalcurling3::coordinate Namespace Reference

座標変換に関連するものを定義する名前空間 More...

Enumerations

enum  Id { Id::kSimulation, Id::kShot0, Id::kShot1 }
 座標系ID More...
 

Functions

constexpr Id GetShotSide (std::uint8_t end) noexcept
 エンドに対応するショット座標系を返す. More...
 
constexpr Vector2 TransformPosition (Vector2 position, Id from, Id to) noexcept
 位置を座標変換する. More...
 
constexpr Vector2 TransformVelocity (Vector2 velocity, Id from, Id to) noexcept
 速度を座標系間で変換する. More...
 
constexpr float TransformAngle (float angle, Id from, Id to) noexcept
 角度を座標系間で変換する. More...
 
constexpr float TransformAngularVelocity (float angular_velocity, Id from, Id to) noexcept
 角速度を座標系間で変換する. More...
 
constexpr float GetCenterLineX (Id coord) noexcept
 センターラインのx座標を得る. More...
 
constexpr float GetHogLineY (bool side, Id coord) noexcept
 ホグラインのy座標を得る. More...
 
constexpr float GetTeeLineY (bool side, Id coord) noexcept
 ティーラインのy座標を得る. More...
 
constexpr float GetBackLineY (bool side, Id coord) noexcept
 バックラインのy座標を得る. More...
 
constexpr float GetHackY (bool side, Id coord) noexcept
 ハックのy座標を得る. More...
 
constexpr float GetBackBoardY (bool side, Id coord) noexcept
 バックボード(シートの端)のy座標を得る. More...
 

Variables

constexpr float kHouseRadius = 1.829f
 ハウスの半径
 

Detailed Description

座標変換に関連するものを定義する名前空間

Enumeration Type Documentation

◆ Id

座標系ID

Enumerator
kSimulation 

シミュレーション座標系.

アイスシート中央を原点,サイド0でストーンを投げる方向をy軸正方向とする. 
kShot0 

ショット座標系(サイド0).

シミュレーション座標系でy座標が負のハック(ストーン射出位置)を原点,そこからストーンを投げる方向をy軸正方向とする. 
kShot1 

ショット座標系(サイド1).

シミュレーション座標系でy座標が正のハック(ストーン射出位置)を原点,そこからストーンを投げる方向をy軸正方向とする. 

Function Documentation

◆ GetBackBoardY()

constexpr float digitalcurling3::coordinate::GetBackBoardY ( bool  side,
Id  coord 
)
constexprnoexcept

バックボード(シートの端)のy座標を得る.

Parameters
[in]sidefalse : シミュレーション座標系で負の側, true : シミュレーション座標系で正の側
[in]coord座標系
Returns
coord 座標系のバックボードのy座標

◆ GetBackLineY()

constexpr float digitalcurling3::coordinate::GetBackLineY ( bool  side,
Id  coord 
)
constexprnoexcept

バックラインのy座標を得る.

Parameters
[in]sidefalse : シミュレーション座標系で負の側, true : シミュレーション座標系で正の側
[in]coord座標系
Returns
coord 座標系のバックラインのy座標

◆ GetCenterLineX()

constexpr float digitalcurling3::coordinate::GetCenterLineX ( Id  coord)
constexprnoexcept

センターラインのx座標を得る.

Parameters
[in]coord座標系
Returns
coord 座標系のセンターラインのx座標

◆ GetHackY()

constexpr float digitalcurling3::coordinate::GetHackY ( bool  side,
Id  coord 
)
constexprnoexcept

ハックのy座標を得る.

Parameters
[in]sidefalse : シミュレーション座標系で負の側, true : シミュレーション座標系で正の側
[in]coord座標系
Returns
coord 座標系のハックのy座標

◆ GetHogLineY()

constexpr float digitalcurling3::coordinate::GetHogLineY ( bool  side,
Id  coord 
)
constexprnoexcept

ホグラインのy座標を得る.

Parameters
[in]sidefalse : シミュレーション座標系で負の側, true : シミュレーション座標系で正の側
[in]coord座標系
Returns
coord 座標系のホグラインのy座標

◆ GetShotSide()

constexpr Id digitalcurling3::coordinate::GetShotSide ( std::uint8_t  end)
constexprnoexcept

エンドに対応するショット座標系を返す.

Parameters
[in]endエンド番号(0スタート)
Returns
Id::kShot0 または Id::kShot1

◆ GetTeeLineY()

constexpr float digitalcurling3::coordinate::GetTeeLineY ( bool  side,
Id  coord 
)
constexprnoexcept

ティーラインのy座標を得る.

Parameters
[in]sidefalse : シミュレーション座標系で負の側, true : シミュレーション座標系で正の側
[in]coord座標系
Returns
coord 座標系のティーラインのy座標

◆ TransformAngle()

constexpr float digitalcurling3::coordinate::TransformAngle ( float  angle,
Id  from,
Id  to 
)
constexprnoexcept

角度を座標系間で変換する.

Parameters
[in]anglefrom で示された座標系上での角度
[in]fromangleの座標系
[in]to変換先の座標系
Returns
to 座標系上での角度

◆ TransformAngularVelocity()

constexpr float digitalcurling3::coordinate::TransformAngularVelocity ( float  angular_velocity,
Id  from,
Id  to 
)
constexprnoexcept

角速度を座標系間で変換する.

Parameters
[in]angular_velocityfrom で示された座標系上での角速度
[in]fromangular_velocity の座標系
[in]to変換先の座標系
Returns
to 座標系上での角速度

◆ TransformPosition()

constexpr Vector2 digitalcurling3::coordinate::TransformPosition ( Vector2  position,
Id  from,
Id  to 
)
constexprnoexcept

位置を座標変換する.

Parameters
[in]positionfrom で示された座標系上での座標
[in]fromposition の座標系
[in]to変換先の座標系
Returns
to 座標系上での位置

◆ TransformVelocity()

constexpr Vector2 digitalcurling3::coordinate::TransformVelocity ( Vector2  velocity,
Id  from,
Id  to 
)
constexprnoexcept

速度を座標系間で変換する.

Parameters
[in]velocityfrom で示された座標系上での速度
[in]fromvelocity の座標系
[in]to変換先の座標系
Returns
to 座標系上での速度