Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Параметры ребер объекта

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков
Предыдущая тема :: Следующая тема  
Автор Сообщение
unm



Зарегистрирован: 09.11.2008
Сообщения: 27

СообщениеДобавлено: Сб 13 Июн 2009 15:51    Заголовок сообщения: Параметры ребер объекта Ответить с цитатой

Добрый день.

Как получить параметры ребер объекта(левый угол, азимут, длина, правый угол). Перечитал всю документацию, так и не нашел где их взять.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Пн 15 Июн 2009 10:57    Заголовок сообщения: Ответить с цитатой

В режиме редактирования добавьте нужные столбцы.


Untitled.png
 Описание:
Как включить параметры ребер
 Размер файла:  86.6 KB
 Просмотрено:  12820 раз(а)

Untitled.png



_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
unm



Зарегистрирован: 09.11.2008
Сообщения: 27

СообщениеДобавлено: Вт 16 Июн 2009 15:17    Заголовок сообщения: Ответить с цитатой

Да я знаю как их в Инего получить, мне КОД нужен получения. Это ж все таки топик - "Вопросы разработчиков".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алексей В. Бастриков



Зарегистрирован: 02.06.2008
Сообщения: 118
Откуда: ООО "Инфопроект", г. Екатеринбург

СообщениеДобавлено: Вт 16 Июн 2009 16:00    Заголовок сообщения: Ответить с цитатой

Вычислить, исходя из координат
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Вт 16 Июн 2009 16:18    Заголовок сообщения: Ответить с цитатой

В ИнГео используются такие формулы:
Код:

type
   TVertex = record
      X, Y: Double;
   end;

   // координатная система координат
   // Правая система координат - когда ось Y направлена вверх, а ось X влево
   // (ось X совмещается с осью Y при повороте на 90 градусов против часовой стрелке)
   TCoordSysOrientation = (csoLeft, csoRigth);

function GetAngle(a, b: TVertex): Double;
begin
   Result := ArcTan2((b.y - a.y), (b.x - a.x));
   if Result < 0 then begin
      Result := Result + 2*Pi;
   end;
end;

function GetLeftAngle(prev, first, next: TVertex): Double;
begin
   Result := GetAngle(first, next) - GetAngle(first, prev);
end;

function GetRightAngle(prev, first, next: TVertex): Double;
begin
   Result := 2*PI - GetLeftAngle(prev, first, next);
end;

function GetDirectAngle(first, next: TVertex; aCoordSys: TCoordSysOrientation): Double;
begin
   Result := GetAngle(first, next);
   if aCoordSys = csoLeft then begin
      Result := 2*Pi - Result;
   end;
end;

function GetEdgeLength(first, next: TVertex): Double;
begin
   Result := Sqrt(Sqr(next.x - first.x) + Sqr(next.y - first.y))
end;

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
unm



Зарегистрирован: 09.11.2008
Сообщения: 27

СообщениеДобавлено: Вт 16 Июн 2009 16:49    Заголовок сообщения: Ответить с цитатой

Спасибо больщушие
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алексей В. Бастриков



Зарегистрирован: 02.06.2008
Сообщения: 118
Откуда: ООО "Инфопроект", г. Екатеринбург

СообщениеДобавлено: Ср 22 Июл 2009 22:01    Заголовок сообщения: Ответить с цитатой

Придумал шуточное вычисление длины ребра:
function distance(x1, y1, x2, y2)
set Contour = Application.CreateObject(0, null)
set Part = Contour.Insert(-1)
Part.InsertVertex -1, x1, y1, 0
Part.InsertVertex -1, x2, y2, 0
distance = Part.Perimeter
end function
Smile))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB