Skip to content

Instantly share code, notes, and snippets.

@optozorax
Last active March 5, 2021 10:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save optozorax/22b58ce813ea45dbb2318edad59081a9 to your computer and use it in GitHub Desktop.
Save optozorax/22b58ce813ea45dbb2318edad59081a9 to your computer and use it in GitHub Desktop.
is point inside polygon by many ifs
bool is_inside_polygon(vec2 a) {
if (0e0 <= a.x && a.x <= 1e0 && 0e0 <= a.y && a.y <= 1e0) {
if (a.y < a.x * -4.1072428444385894e-1 + (6.357827476038339e-1)) {
if (a.x < a.y * -4.49712814444714e-2 + (6.10344833140954e-1)) {
if (a.y < a.x * -6.494154973555353e-1 + (7.148596159362433e-1)) {
if (a.y < a.x * 3.332797597721972e-2 + (3.387270986614045e-1)) {
return (a.x < a.y * -4.497126936997169e-2 + (6.103448275129624e-1)) && (a.y < a.x * 4.4904839692364923e-1 + (6.0624471504083954e-2)) && !(a.y < a.x * 2.3610100335267345e-1 + (8.338781356322576e-2));
} else {
return (a.y < a.x * -6.494154993241161e-1 + (7.148596165884216e-1)) && !(a.x < a.y * 9.157784654765802e-1 + (-1.2633228455311651e-1)) && !(a.y < a.x * 3.332797597721972e-2 + (3.387270986614045e-1));
}
} else {
if (a.y < a.x * -5.369581546070301e-1 + (6.776032189478016e-1)) {
return (a.y < a.x * -5.369581546070301e-1 + (6.776032189478016e-1)) && !(a.y < a.x * -6.494154993241161e-1 + (7.148596165884215e-1)) && !(a.y < a.x * 3.332795452770748e-2 + (3.3872711047822784e-1));
} else {
return (a.y < a.x * -4.107242860868847e-1 + (6.357827472557849e-1)) && !(a.y < a.x * -5.369581546070301e-1 + (6.776032189478016e-1)) && (a.x < a.y * -4.497131619795269e-2 + (6.103448456011644e-1));
}
}
} else {
if (a.y < a.x * -7.983571865134222e-1 + (8.329320710297019e-1)) {
if (a.y < a.x * 4.4904839593661877e-1 + (6.0624471343536324e-2)) {
return (a.y < a.x * 2.361010128846689e-1 + (8.338780744841301e-2)) && !(a.x < a.y * -4.4971282416353175e-2 + (6.103448321163795e-1)) && (a.x < a.y * 4.4891668698411585e-1 + (6.103448271774998e-1));
} else {
return (a.y < a.x * -7.983572251203346e-1 + (8.329320939707485e-1)) && !(a.x < a.y * -4.49712814444714e-2 + (6.10344833140954e-1)) && !(a.y < a.x * 4.4904839593661877e-1 + (6.0624471343536324e-2));
}
} else {
if (a.y < a.x * 4.490483917972877e-1 + (6.062447390632497e-2)) {
return (a.y < a.x * -4.1072429141837136e-1 + (6.357827519602742e-1)) && !(a.x < a.y * 4.48916698467623e-1 + (6.10344824255394e-1)) && !(a.y < a.x * 2.3610099235640875e-1 + (8.338782232271111e-2));
} else {
return (a.y < a.x * 3.332796168590538e-2 + (3.387271062246748e-1)) && !(a.y < a.x * -7.983572251203346e-1 + (8.329320939707485e-1)) && !(a.y < a.x * 4.490483917972877e-1 + (6.062447390632497e-2));
}
}
}
} else {
if (a.y < a.x * 7.926046603862617e-1 + (-1.8630660972275392e-2)) {
if (a.x < a.y * 4.4891668820666136e-1 + (6.103448275917269e-1)) {
if (a.y < a.x * -3.162939277660631e-1 + (6.357827451505937e-1)) {
return (a.y < a.x * 7.926046308068123e-1 + (-1.8630645182712624e-2)) && !(a.y < a.x * -4.1072426955420505e-1 + (6.357827381413975e-1)) && (a.x < a.y * -4.497126438046813e-2 + (6.103448269374352e-1));
} else {
return (a.y < a.x * 7.926046573747323e-1 + (-1.863065919502971e-2)) && !(a.y < a.x * -3.162939277660631e-1 + (6.357827451505937e-1)) && (a.x < a.y * 4.489166876255814e-1 + (6.103448278170039e-1));
}
} else {
if (a.y < a.x * -2.3223485838857652e-2 + (3.427123025055243e-1)) {
return (a.y < a.x * -2.3223485838857652e-2 + (3.427123025055243e-1)) && !(a.y < a.x * -4.1072429141837136e-1 + (6.357827519602742e-1)) && !(a.y < a.x * 2.3610100597062783e-1 + (8.338781069603884e-2));
} else {
return (a.y < a.x * -3.1629393109542553e-1 + (6.357827477620922e-1)) && !(a.x < a.y * 4.4891668820666136e-1 + (6.103448275917269e-1)) && !(a.y < a.x * -2.3223485838857652e-2 + (3.427123025055243e-1));
}
}
} else {
if (a.y < a.x * -3.162939288840079e-1 + (6.357827466666667e-1)) {
if (a.y < a.x * -3.162939336699433e-1 + (6.357827483585348e-1)) {
if (a.y < a.x * -3.1629393405245415e-1 + (6.357827466666667e-1)) {
if (a.y < a.x * -1.9543733366725002e-1 + (5.644595595497133e-1)) {
return (a.y < a.x * -1.9543733366725002e-1 + (5.644595595497133e-1)) && !(a.y < a.x * -4.10724286667116e-1 + (6.357827474480118e-1)) && !(a.y < a.x * 7.926046518674924e-1 + (-1.8630656636265286e-2));
} else {
return !(a.x < a.y * 9.157784235118546e-1 + (-1.263322635828218e-1)) && !(a.y < a.x * -1.9543733366725002e-1 + (5.644595595497134e-1)) && (a.y < a.x * -3.1629393954577106e-1 + (6.357827477147091e-1));
}
} else {
return false;
}
} else {
return false;
}
} else {
if (a.x < a.y * -2.957015317197997e-2 + (5.9853566817198e-1)) {
if (a.y < a.x * 2.2746838557905708e-1 + (6.357827466666667e-1)) {
return (a.y < a.x * 2.2746838557905708e-1 + (6.357827466666667e-1)) && !(a.y < a.x * -3.162939288840079e-1 + (6.357827466666667e-1)) && (a.x < a.y * 9.157784767518106e-1 + (-1.2633228967193644e-1));
} else {
return (a.x < a.y * -2.957015317197997e-2 + (5.9853566817198e-1)) && (a.y < a.x * 6.401394174712562e-1 + (6.357827466666667e-1)) && !(a.y < a.x * 2.2746838557905708e-1 + (6.357827466666667e-1));
}
} else {
if (a.y < a.x * -1.247235159057145e-1 + (8.385967035059367e-1)) {
return (a.y < a.x * -1.247235159057145e-1 + (8.385967035059367e-1)) && !(a.x < a.y * -4.497126471383746e-2 + (6.10344827162111e-1)) && !(a.y < a.x * 7.926046603862617e-1 + (-1.8630660972275392e-2));
} else {
return !(a.x < a.y * -2.957015317197997e-2 + (5.9853566817198e-1)) && !(a.y < a.x * -1.247235159057145e-1 + (8.385967035059367e-1)) && (a.y < a.x * -7.604436637020306e-1 + (1.4326662207467127e0));
}
}
}
}
}
} else {
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment