A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://TheAlgorithms.github.io/C-Plus-Plus/d0/d01/smallest__circle_8cpp_source.html below:

TheAlgorithms/C++: others/smallest_circle.cpp Source File

Go to the documentation of this file. 23 explicit Point

(

double

a = 0.f,

double

b = 0.f) {

38 double

dx = B.x - A.x;

39 double

dy = B.

y

- A.

y

;

40 return

std::sqrt((dx * dx) + (dy * dy));

58 double

p = (a + b + c) / 2;

59 return

std::sqrt(p * (p - a) * (p - b) * (p - c));

73 for

(

size_t

i = 0; i < P.size(); i++) {

87double circle

(

const

std::vector<Point> &P) {

88 double

minR = INFINITY;

95 for

(

size_t

i = 0; i < P.size() - 2; i++)

97 for

(

size_t

j = i + 1; j < P.size(); j++)

99 for

(

size_t

k = j + 1; k < P.size(); k++) {

103

C.x = -0.5 * ((P[i].y * (P[j].x * P[j].x + P[j].y * P[j].y -

104

P[k].x * P[k].x - P[k].y * P[k].y) +

105

P[j].y * (P[k].x * P[k].x + P[k].y * P[k].y -

106

P[i].x * P[i].x - P[i].y * P[i].y) +

107

P[k].y * (P[i].x * P[i].x + P[i].y * P[i].y -

108

P[j].x * P[j].x - P[j].y * P[j].y)) /

109

(P[i].x * (P[j].y - P[k].y) +

110

P[j].x * (P[k].y - P[i].y) +

111

P[k].x * (P[i].y - P[j].y)));

112

C.

y

= 0.5 * ((P[i].x * (P[j].x * P[j].x + P[j].y * P[j].y -

113

P[k].x * P[k].x - P[k].y * P[k].y) +

114

P[j].x * (P[k].x * P[k].x + P[k].y * P[k].y -

115

P[i].x * P[i].x - P[i].y * P[i].y) +

116

P[k].x * (P[i].x * P[i].x + P[i].y * P[i].y -

117

P[j].x * P[j].x - P[j].y * P[j].y)) /

118

(P[i].x * (P[j].y - P[k].y) +

119

P[j].x * (P[k].y - P[i].y) +

120

P[k].x * (P[i].y - P[j].y)));

134 for

(

size_t

i = 0; i < P.size() - 1; i++)

136 for

(

size_t

j = i + 1; j < P.size(); j++) {

138

C.x = (P[i].x + P[j].x) / 2;

139

C.

y

= (P[i].y + P[j].y) / 2;

149

std::cout << minC.x <<

" "

<< minC.

y

<< std::endl;

159

std::vector<Point> Pv;

160

Pv.push_back(

Point

(0, 0));

161

Pv.push_back(

Point

(5, 4));

162

Pv.push_back(

Point

(1, 3));

163

Pv.push_back(

Point

(4, 1));

164

Pv.push_back(

Point

(3, -2));

165

std::cout <<

circle

(Pv) << std::endl;

174

std::vector<Point> Pv;

175

Pv.push_back(

Point

(0, 0));

176

Pv.push_back(

Point

(0, 2));

177

Pv.push_back(

Point

(2, 2));

178

Pv.push_back(

Point

(2, 0));

179

std::cout <<

circle

(Pv) << std::endl;

189

std::vector<Point> Pv;

190

Pv.push_back(

Point

(0.5, 1));

191

Pv.push_back(

Point

(3.5, 3));

192

Pv.push_back(

Point

(2.5, 0));

193

Pv.push_back(

Point

(2, 1.5));

194

std::cout <<

circle

(Pv) << std::endl;

200

std::cout << std::endl;

202

std::cout << std::endl;

double circle(const std::vector< Point > &P)

double LenghtLine(const Point &A, const Point &B)

double TriangleArea(const Point &A, const Point &B, const Point &C)

bool PointInCircle(const std::vector< Point > &P, const Point &Center, double R)

int y

Point respect to x coordinate.

Point(double a=0.f, double b=0.f)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4