加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
common.cpp 1014 Bytes
一键复制 编辑 原始数据 按行查看 历史
ZzqiZQute 提交于 2018-06-25 22:58 . Floyd Excel
#include "common.h"
#include <math.h>
double calcDeg(int x1,int y1,int x2,int y2){
double ret=0;
if(abs(x1-x2)<=1&&abs(y1-y2)>1) ret= y2>y1?-90:90;
else if(abs(y1-y2)<=1&&abs(x1-x2)>1) ret= x2>x1?0:180;
else{
ret=atan((double)(y1-y2)/(x2-x1))*180/PI;
if(x1>x2){
ret+=180;
}
}
if(ret>180)ret-=360;
return ret;
}
QPoint calcTail(int x,int y,double deg,double len){
return QPoint(x+len*cos(deg*PI/180),y-len*sin(deg*PI/180));
}
double calcDis(double x1,double y1,double x2,double y2){
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
void convertToColName(int data, QString& res)
{
Q_ASSERT(data>0 && data<65535);
int tempData = data / 26;
if(tempData > 0)
{
int mode = data % 26;
convertToColName(mode,res);
convertToColName(tempData,res);
}
else
{
res=(to26AlphabetString(data)+res);
}
}
QString to26AlphabetString(int data)
{
QChar ch = data + 0x40;
return QString(ch);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化