蓝桥杯历届真题:车轮轴迹C++代码实现.pdfVIP

  • 0
  • 0
  • 约1.65万字
  • 约 14页
  • 2026-02-15 发布于北京
  • 举报

蓝桥杯历届真题:车轮轴迹C++代码实现.pdf

C++#include

iostream#include

cstdlib#include

cstdio#include

cstring#include

vector#include

cmath#include

algorithm

usingnamespacestd;

constintMAXN=10000;

constdoublePI=atan(1.0)*

4;constdoubleEPS=1e‑10;

classPoint{public:doublex,y;Point(){}Point(doublex,

doubley):x(x),y(y){}Pointoperator‑(constPointr)const{

returnPoint(x‑r.x,y‑r.y);}Pointoperator+(constPointr)

const{returnPoint(x+r.x,y+r.y);}Pointoperator+(const

Pointr){x+=r.x;y+=r.y;return*this;}Pointoperator*=

(doublem){x*=m;y*=m;return*this;}Point

pOfRotate(double角度)const{doublecosA=cos(角度);

doublesinA=sin(角度);returnPoint(cosA*x‑sinA*y,sinA*x+

cosA*y);}PointpOfRotate90()const{returnPoint(‑y,x);}

doublelength()const{returnsqrt(x*x+y*y);}Point

pOfNormal()const{doublelen=length();return

Point(x/len,y/len);}doubleangle()const{returnatan2(y,x);}

};ostreamoperator(ostreamos,constPointv){os

(v.x,v.y);returnos;}

C++

#includeiostream

#includecstdlib

#includecstdio

#includecstring

#includevector

#includecmath

#includealgorithm

usingnamespacestd;

constintMAXN=10000;

constdoublePI=atan(1.0)*4;

constdoubleEPS=1e-10;

classPoint{

public:

doublex,y;

Point(){}

Point(doublex,doubley):x(x),y(y){}

Pointoperator-(constPointr)const{returnPoint(x-r.x,y-r.y);}

Pointoperator+(constPointr)const{returnPoint(x+r.x,y+r.y);}

Pointoperator+=(constPointr){x+=r.x;y+=r.y;return*this;}

Pointoperator*=(doublem){x*=m;y*=m;return*this;}

PointpOfRotate(doubleangle)const{

doublecosA=cos(angle);

doublesinA=sin(angle);

returnPoint(cosA*x-sinA*y,sinA*x+cosA*y);

}

PointpOfRotate90()const{returnPoint(-y,x);}

doublelength()const{returnsqrt(x*x+y*y);}

PointpOfNormal(

文档评论(0)

1亿VIP精品文档

相关文档