Skip to content

Instantly share code, notes, and snippets.

@gluschenko
Created September 11, 2015 16:09
Show Gist options
  • Save gluschenko/94e7050ad9368d7a5658 to your computer and use it in GitHub Desktop.
Save gluschenko/94e7050ad9368d7a5658 to your computer and use it in GitHub Desktop.
var mid = function (v) {
var cx = 0;
var cy = 0;
for (var i = 0; i < v.length; i++) {
cx += v[i].x;
cy += v[i].y;
}
cx /= v.length;
cy /= v.length;
return new Vector2(cx, cy);
};
var sigma = function (v, Target) {
var s = 0;
v[v.length] = v[0];
for (var i = 0; i < v.length - 1; i++) {
s += Vector2.AngleBetween(Target, v[i], v[i + 1]);
}
return s;
};
var Verts = [new Vector2(100, 100), new Vector2(200, 100), new Vector2(200, 200), new Vector2(100, 200)];
var VertsCenter = mid(Verts);
var CursorCenter = Input.mousePosition;
var SigmaDist = sigma(Verts, VertsCenter);
var SigmaDistCursor = sigma(Verts, CursorCenter);
GUI.Label(new Rect(50, 50, 100, 100), (Math.round(SigmaDist) == Math.round(SigmaDistCursor)), GUI.customSkin.freeLabel);
GUI.Box(new Rect(VertsCenter.x, VertsCenter.y, 10, 10), "");
GUI.Box(new Rect(CursorCenter.x, CursorCenter.y, 10, 10), "");
for (var i = 0; i < Verts.length; i++) {
GUI.Box(new Rect(Verts[i].x, Verts[i].y, 10, 10), "");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment