1 Star 1 Fork 1

loading/SatelliteSimulator

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
PointCart.cpp 1.45 KB
一键复制 编辑 原始数据 按行查看 历史
Florent Forest 提交于 2017-04-08 12:13 . Code commit
#include <PointCart.h>
PointCart::PointCart(const double& x, const double& y, const double& z)
{
m_x = x;
m_y = y;
m_z = z;
}
PointCart::PointCart(const Point& p)
{
m_x = p.getX();
m_y = p.getY();
m_z = p.getZ();
}
PointCart::~PointCart()
{
}
PointCart PointCart::operator=(const Point& p)
{
m_x = p.getX();
m_y = p.getY();
m_z = p.getZ();
return *this;
}
PointCart& PointCart::operator+=(const Point& p)
{
m_x += p.getX();
m_y += p.getY();
m_z += p.getZ();
return *this;
}
PointCart& PointCart::operator-=(const Point& p)
{
m_x -= p.getX();
m_y -= p.getY();
m_z -= p.getZ();
return *this;
}
PointCart operator+(const PointCart& a, const Point& b)
{
PointCart copy(a);
copy+=b;
return copy;
}
PointCart operator-(const PointCart& a, const Point& b)
{
PointCart copy(a);
copy-=b;
return copy;
}
double PointCart::getR() const
{
return std::sqrt(m_x*m_x + m_y*m_y + m_z*m_z);
}
double PointCart::getTheta() const
{
if (m_x > 0.0 && m_y >= 0.0)
return std::atan(m_y/m_x);
if (m_x == 0.0 && m_y > 0.0)
return Constants::pi / 2.0;
if (m_x < 0.0)
return Constants::pi + std::atan(m_y/m_x);
if (m_x == 0.0 && m_y < 0.0)
return 3.0 * Constants::pi / 2.0;
if (m_x > 0.0 && m_y < 0.0)
return Constants::twopi + std::atan(m_y/m_x);
return 0.0;
}
double PointCart::getPhi() const
{
// TODO
return 0.0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/llllawliet/SatelliteSimulator.git
[email protected]:llllawliet/SatelliteSimulator.git
llllawliet
SatelliteSimulator
SatelliteSimulator
master

搜索帮助