Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 16.01.2007, 17:33
Futs вне форума Посмотреть профиль Отправить личное сообщение для Futs Найти все сообщения от Futs
  № 1  
Ответить с цитированием
Futs
 
Аватар для Futs

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
По умолчанию точка пересечения отрезков

Пересекаются простые фигуры, точки пересечения находятся математически, однако это ведь формулы пересечения векторов и соответственно если отрезки не паралельны, то они все равно пересекаются. Как определяется принадлежность точки к отрезку, замучался совсем?
Простой пример:
Код:
var arr=[100, 100, 200, 200, 200, 100, 100, 200];
//[300, 100, 200, 200, 200, 100, 100, 200] прямые паралельны
this.lineStyle(2,0x00ff00,100)
this.moveTo(arr[0], arr[1]);
this.lineTo(arr[2], arr[3]);
this.lineStyle(2,0xff0000,100)
this.moveTo(arr[4], arr[5]);
this.lineTo(arr[6], arr[7]);
var A1=-(arr[3]-arr[1])
var B1=(arr[2]-arr[0])
var C1=(arr[3]-arr[1])*arr[0]-(arr[2]-arr[0])*arr[1]
var A2=-(arr[7]-arr[5])
var B2=(arr[6]-arr[4])
var C2=(arr[7]-arr[5])*arr[4]-(arr[6]-arr[4])*arr[5]
var X = -(C1*B2-C2*B1)/(A1*B2-A2*B1)
var Y =(A2*C1-A1*C2)/(A1*B2-A2*B1)
//A1*x+B1*y+C1=0 и A2*x+B2*y+C2=0
//если прямые не паралельны все равно трейсить будет 0
trace(A1*X+B1*Y+C1)
trace(A2*X+B2*Y+C2)
this.attachMovie("tochka","toch_mc",1,{_x:X;_y:Y})

Создать новую тему   Часовой пояс GMT +4, время: 13:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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