Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нахождение координат точки треугольника (http://www.flasher.ru/forum/showthread.php?t=148360)

djyamato 28.12.2010 22:34

Нахождение координат точки треугольника
 
Вложений: 1
Здравствуйте
Знаю, с геометрией я не дружу, и сколько сейчас ни пытаюсь читать, не пойму как найти точку треугольника прямоугольного

Координаты точек A и B я знаю
Как узнать координаты точки C ?

iNils 28.12.2010 22:40

Точка А, это что, центр фотографии?

djyamato 28.12.2010 22:42

Да это центр, он не меняется, и прямая красная вертикальная двигается за левой координатой "boundRect" фотографии

iNils 28.12.2010 22:44

А размеры фотографии доступны?

djyamato 28.12.2010 22:46

изначальные размеры фотографии известны
ее можно поворачивать, увеличивать и уменьшать (в том числе и повернутую)

дело вот в чем:
мне нужно узнать как раз-таки размеры по ширине и по высоте этой фотографии (как если бы она не была повернута)

И ограничивать зуммирование если ширина (большая сторона) ФОТОГРАФИИ (не "boundRect") больше 250

Zebestov 28.12.2010 22:54

Код AS3:

function gimmeMyC(A:Point, B:Point, W:Number, H:Number):Point
{
    var AC:Number = Math.sqrt( W*W + H*H) / 2;
    var AB:Number = A.x - B.x;
    var BC:Number = Math.sqrt (AC*AC - AB*AB);
 
    var C:Point = new Point();
    C.x = B.x;
    C.y = B.y + BC; // ну это в данном случае
 
    return C;
}


iNils 28.12.2010 22:55

Тогда не получится. Согласно теоремам геометрии, для того чтобы вычислить стороны треугольника (а значит и координаты), нужно знать три параметра, но не любых.
В данном случае, вам нужно знать два угла и одну сторону между ними. Сторону мы знаем, это расстояние между A и B. Один угол тоже знаем, это 90 градусов, между B и С. Нужен еще угол между A и C.
Поэтому геометрически, по текущим данным, задача не решаема. Однако, если фон всегда однотонный, в данном случаи белый (c jpeg будут проблемы, там фон хоть и кажется белым, но на самом деле градиентный), можно узнать координаты точек с помощью проверки пикселей по краю на цвет.
Я писал как-то такой алгоритм для as1/2, но вот не помню, выкладывал я его на форум или нет.

Zebestov 28.12.2010 22:56

а вообще забавные условия задачи ) координаты точки B он знает, а C нет ) это как получилось?

djyamato 28.12.2010 22:58

координату Y у точки C я хочу выяснить, извините за неточность

iNils 28.12.2010 23:00

Zebestov, как я понял, есть некая картинка, где изображение повернуто на определенный угол. А в рамки это картинки можно вписать n изображение с разными размерами. И задача вычислить исходные размеры не повернутого изображения.


Часовой пояс GMT +4, время: 17:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.