(
doublea = 0.f,
doubleb = 0.f) {
38 doubledx = B.x - A.x;
39 doubledy = B.
y- A.
y;
40 returnstd::sqrt((dx * dx) + (dy * dy));
58 doublep = (a + b + c) / 2;
59 returnstd::sqrt(p * (p - a) * (p - b) * (p - c));
73 for(
size_ti = 0; i < P.size(); i++) {
87double circle(
conststd::vector<Point> &P) {
88 doubleminR = INFINITY;
95 for(
size_ti = 0; i < P.size() - 2; i++)
97 for(
size_tj = i + 1; j < P.size(); j++)
99 for(
size_tk = j + 1; k < P.size(); k++) {
103C.x = -0.5 * ((P[i].y * (P[j].x * P[j].x + P[j].y * P[j].y -
104P[k].x * P[k].x - P[k].y * P[k].y) +
105P[j].y * (P[k].x * P[k].x + P[k].y * P[k].y -
106P[i].x * P[i].x - P[i].y * P[i].y) +
107P[k].y * (P[i].x * P[i].x + P[i].y * P[i].y -
108P[j].x * P[j].x - P[j].y * P[j].y)) /
109(P[i].x * (P[j].y - P[k].y) +
110P[j].x * (P[k].y - P[i].y) +
111P[k].x * (P[i].y - P[j].y)));
112C.
y= 0.5 * ((P[i].x * (P[j].x * P[j].x + P[j].y * P[j].y -
113P[k].x * P[k].x - P[k].y * P[k].y) +
114P[j].x * (P[k].x * P[k].x + P[k].y * P[k].y -
115P[i].x * P[i].x - P[i].y * P[i].y) +
116P[k].x * (P[i].x * P[i].x + P[i].y * P[i].y -
117P[j].x * P[j].x - P[j].y * P[j].y)) /
118(P[i].x * (P[j].y - P[k].y) +
119P[j].x * (P[k].y - P[i].y) +
120P[k].x * (P[i].y - P[j].y)));
134 for(
size_ti = 0; i < P.size() - 1; i++)
136 for(
size_tj = i + 1; j < P.size(); j++) {
138C.x = (P[i].x + P[j].x) / 2;
139C.
y= (P[i].y + P[j].y) / 2;
149std::cout << minC.x <<
" "<< minC.
y<< std::endl;
159std::vector<Point> Pv;
160Pv.push_back(
Point(0, 0));
161Pv.push_back(
Point(5, 4));
162Pv.push_back(
Point(1, 3));
163Pv.push_back(
Point(4, 1));
164Pv.push_back(
Point(3, -2));
165std::cout <<
circle(Pv) << std::endl;
174std::vector<Point> Pv;
175Pv.push_back(
Point(0, 0));
176Pv.push_back(
Point(0, 2));
177Pv.push_back(
Point(2, 2));
178Pv.push_back(
Point(2, 0));
179std::cout <<
circle(Pv) << std::endl;
189std::vector<Point> Pv;
190Pv.push_back(
Point(0.5, 1));
191Pv.push_back(
Point(3.5, 3));
192Pv.push_back(
Point(2.5, 0));
193Pv.push_back(
Point(2, 1.5));
194std::cout <<
circle(Pv) << std::endl;
200std::cout << std::endl;
202std::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