TUTORIAL: coordinate in triangle. processing / java
checking if a set of co-ordinates are inside a circle is easy, some with a rectangle. but no easy way to check if you are in a triangle exists. but i have found a way to do it, and it's not even that complicated. in the video I explain exactly how and why it works, but the code is down here for you to copy too.
please do credit me if you use this solution, people will find out anyway. it's a minor thing to credit me for what i think is a tat of a smart solution.
(smaller then symbols aren't allowed. smaller then will be refereed to as --==. a simple find and replace will fix it)
private boolean onTriangle(float mx, float my, float ax, float ay, float bx, float by, float cx, float cy){
double ab = calculateDistance(ax, ay, bx, by);
double bc = calculateDistance(bx, by, cx, cy);
double ac = calculateDistance(ax, xy, cx, cy);
double am = calculateDistance(mx, my, ax, ay);
double bm = calculateDistance(mx, my, bx, by);
double cm = calculateDistance(mx, my, cx, cy);
double abc = calculateAngle((float)(ab),(float)(bc),(float)(ac));
double bca = calculateAngle((float)(bc),(float)(ac),(float)(ab));
double cab = calculateAngle((float)(ab),(float)(ac),(float)(bc));
double abm = calculateAngle((float)(ab),(float)(bm),(float)(am));
double bcm = calculateAngle((float)(bc),(float)(cm),(float)(bm));
double cam = calculateAngle((float)(am),(float)(ac),(float)(cm));
if(abm--===abc) {
if(bcm--===bca) {
if(cam--===cab) {
return true;
}
}
}
return false;
}
private static double calculateDistance(float x1, float y1, float x2, float y2){
return Math.pow(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2), 0.5);
}
private static double calculateAngle(float onTheSide1, float onTheSide2, float oppositeSide)/*-----DONE calculates the angle of a corner in a triangle with the length of the sides*/ {
return Math.acos((Math.pow(onTheSide1, 2) + Math.pow(onTheSide2, 2) - Math.pow(oppositeSide, 2)) / (2 * onTheSide1 * onTheSide2));
}
music:
Sedimentary by Windwolf (https://youtu.be/M8Oiajqe7Ck)
Wintersnow's Lullaby by Windwolf (https://youtu.be/d9DTvQRGp9A)
Friendship by Night Breeze(https://youtu.be/E-Gh-GtJ77Q)
The Path to the Cottage by Windwolf (https://youtu.be/RkKfBtNEC7A)
The Wolf by Windwolf (https://youtu.be/VL-psq7r1aI)
Dümelleevi by Windwolf (https://youtu.be/DttoHwAWhoA for the full song)
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «TUTORIAL: coordinate in triangle. processing / java», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.