Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
|
|
@ -21,10 +21,10 @@ bool contains(in Figure poly, in Point p) pure nothrow {
|
|||
return false;
|
||||
if (p.x < min(a.x, b.x))
|
||||
return true;
|
||||
immutable blue = (abs(a.x - p.x) > double.min) ?
|
||||
immutable blue = (abs(a.x - p.x) > double.min_normal) ?
|
||||
((p.y - a.y) / (p.x - a.x)) :
|
||||
double.max;
|
||||
immutable red = (abs(a.x - b.x) > double.min) ?
|
||||
immutable red = (abs(a.x - b.x) > double.min_normal) ?
|
||||
((b.y - a.y) / (b.x - a.x)) :
|
||||
double.max;
|
||||
return blue >= red;
|
||||
|
|
@ -35,7 +35,7 @@ bool contains(in Figure poly, in Point p) pure nothrow {
|
|||
}
|
||||
|
||||
void main() {
|
||||
enum Figure[] polys = [
|
||||
immutable Figure[] polys = [
|
||||
{"Square", [
|
||||
{{ 0.0, 0.0}, {10.0, 0.0}}, {{10.0, 0.0}, {10.0, 10.0}},
|
||||
{{10.0, 10.0}, { 0.0, 10.0}}, {{ 0.0, 10.0}, { 0.0, 0.0}}]},
|
||||
|
|
@ -54,13 +54,13 @@ void main() {
|
|||
{{10.0, 5.0}, { 7.0, 10.0}}, {{ 7.0, 10.0}, { 3.0, 10.0}},
|
||||
{{ 3.0, 10.0}, { 0.0, 5.0}}, {{ 0.0, 5.0}, { 3.0, 0.0}}]}
|
||||
];
|
||||
enum Point[] testPoints = [{ 5, 5}, {5, 8}, {-10, 5}, {0, 5},
|
||||
{10, 5}, {8, 5}, { 10, 10}];
|
||||
immutable Point[] testPoints = [{ 5, 5}, {5, 8}, {-10, 5}, {0, 5},
|
||||
{10, 5}, {8, 5}, { 10, 10}];
|
||||
|
||||
foreach (poly; polys) {
|
||||
foreach (immutable poly; polys) {
|
||||
writefln(`Is point inside figure "%s"?`, poly.name);
|
||||
foreach (p; testPoints)
|
||||
foreach (immutable p; testPoints)
|
||||
writefln(" (%3s, %2s): %s", p.x, p.y, contains(poly, p));
|
||||
writeln();
|
||||
writeln;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue