Форум 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=203076)

Wolsh 31.08.2013 06:43

Согласен. Значит нужно посчитать стороны треугольника (гипотенузы достроенных прямоугольных треугольников) и вычислить радиус вписанной окружности.
Код AS3:

var p:Number = (a + b + c) / 2;
var radiusMax:Number = Math.sqrt( (p - a) * (p - b) * (p - c) / p);


Akopalipsis 02.09.2013 17:11

Четвёртый день сижу и уже с удовольствием учу геометрию. Как всегда, по началу возникает много вопросов, но я не спешу сюда, а ищу ответы в гугле. Но есть один вопрос, который я даже сформулировать для поисковика не знаю как... Как узнавать направление вектора? Если известны угол и начало и конец вектора, то как можно узнать направление?
я пока делаю так, а потом умножаю на сх,су и получаю направление. Но мне кажется, что этот подход не правильный...
Код AS3:

cx = А.х > В.х? -1:1;
cy = А.у > В.у? -1:1;

Добавлено через 35 секунд
Скруглённый угол я так и не сделал))) Сижу учусь)

Akopalipsis 02.09.2013 18:14

Если не лезть в гугл, то ( как я помню ) измеряется в единичном векторе ( базис ), которые при расчете образуют прямоугольный треугольник. Они же и указывают направление. Но это мне не говорит как можно из этого вычислить направление. Точнее, если не будет задано первоначальное направление, то все остальное бессмысленно. Или это не так? ...Возможно мои выводы и поспешны, пойду почитаю.
Но буду рад и от доброжелателей узнать)

alatar 02.09.2013 22:01

У вектора нет начальной точки, она всегда находится в 0,0. Направление, это его конечная точка, может быть задано полярными координатами. Если задается "начало" вектора, то его конечная точка будет являться суммарным вектором двух векторов, исходного до суммирования и вектора из 0,0 в "начальную" точку.

alatar 03.09.2013 01:43

Вектор характеризуется длиной (величиной) и направлением. Да, если пользоваться линейкой и транспортиром, то проще воспользоваться правилом треугольника или параллелограмма, но если используются координаты, то сумма двух векторов это сумма их соответствующих координат. В as3 вектор представлен классами Point (в 2D) и Vector3D (соответственно в 3D).

Akopalipsis 03.09.2013 03:01

Что то писал,писал...и сбился с мысли. И вектор не имеет координат, он только направление имеет.

elder_Nosferatu 03.09.2013 03:12

Цитата:

Сообщение от okouser (Сообщение 1145341)
Не зря класс называется Point, а не Vector, потому что это именно точка на плоскости, а не вектор.
Vector3D тоже фактически является точкой, несмотря на то, что там еще и угол можно задавать.
А в математике все-таки вектор определяется любыми двумя точками, ну, и направлением само собой.

В математике вектор не привязан к какой нибуть начальной точке. Его, в случае надобности, можно паралельно переносить куда угодно. Следовательно вектор AB ( A(0,0,0), B(5,5,5) ) и CD ( C(1,1,1), D(6,6,6) ) - одно и тоже, потому что в обоих случаях длинна и направление равны. AB и CD, чтото типа ссылок на один и тот же вектор VEC(5,5,5).

Для физики этого определения вектора не всегда достаточно. Например, если говорить о силе, тогда, кроме ее направления и величины еще очень важна точка ее приложения (привет барону Мюнхгаузену :) ). Но и в этом случае с вектором ничего не случилось (он остался "математическим"). Просто вместе с ним упоминается и точка его приложения - начальная точка.

alatar 03.09.2013 03:58

Цитата:

Сообщение от okouser (Сообщение 1145341)
Не зря класс называется Point, а не Vector, потому что это именно точка на плоскости, а не вектор.

А как же. И методы ему от балды напихали.

elder_Nosferatu 03.09.2013 07:24

Не надо все на идусов сваливать!

Код:

Математически вектор имеет направление, причем не обязательно завязанное на начале координат
В этом весь корень Ваших бед. "Направление" вообще ни на что не завязано. Само по себе оно не указывает, куда Вы прийдете (конечная точка). Направление - это луч. Вектор - это луч, "обрезаный" до определенной длины. Направление и расстояние не смогут указать конечный пункт. И только начальная точка и вектор (направление и расстояние) дадут конечную точку.

Цитата:

Как меня учили, направление вектора - понятие абстрактное. Вектор задается лишь точками, какая из них будет конечной, какая - начальной, дело хозяйское.
Плохо Вас учили! У вектора есть две характеристики - направление и длинна. Если поменять направление на противоположное - получим противоположный вектор.

ЗЫ: С предметным мышлением слово "абстрактное" утрачивает всякий смысл... Тренируйте абстрактное мышление!

Wolsh 03.09.2013 15:04

Сбавьте градус и не переходите на личности.


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

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