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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2014, 15:14
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 21  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Речь шла об отрисовке сугубо для математики.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 22.01.2014, 17:29
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 22  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Что-же у вас за рамка такая должна быть и какую конкретную задачу вы преследуете? Если эту рамку вы можете построить математически, значит она не очень сложная и наверняка должен быть какой-то простой выход из этой ситуации. Если у вас будет время и желание, покажите пожалуйста картинку с такой рамкой и формой, которую вы хотите получить.

Старый 22.01.2014, 17:42
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 23  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
samana покажу обязательно, но она такая же, как и в фотошопе ( Ctrl+T ), только немного лучше получится. Математически она не сложная и я уже нашёл код, который проверяет на попадание в участок, но так-как я его не совсем понимаю, я со вчерашнего дня сижу с открытой математикой и листочками бумаги. Возможно придется недельку потратить, чтобы дотянуться до осознания условий и решений.

Старый 22.01.2014, 17:46
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 24  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
оно?
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 22.01.2014, 18:09
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 25  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Типа того.
Изображения
 

Старый 22.01.2014, 18:48
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 26  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Ага, я понял, спасибо. Получается это просто прямоугольная область. Если вам необходимо определить пересечение точки и прямоугольника (в том числе повёрнутого), то тут есть хороший приём.

Старый 22.01.2014, 18:58
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 27  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
samana Спасибо! Пример правда очень хороший, так что тему в закладки и как только подтяну свою математику, сразу возвращусь к изучению этого примера.
А то, как я уже говорил, вчера столкнувшись с аналогичным кодом, начав его разбирать с самого примитива, обнаружил, что я даже самое просто уравнение раз через раз правильно решаю По этому, пока я не подтяну всё, я даже в FD запускать не буду.

Старый 22.01.2014, 19:09
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 28  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
А только заметил, что я дал вам ссылку, на поиск точки в квадрате, а не в прямоугольнике, по этому извиняюсь за дезинформацию)

Старый 24.01.2014, 13:29
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 29  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Код AS3:
import flash.geom.Point;
import flash.display.Graphics;
import flash.display.Shape;
import flash.events.Event;
 
// Вершины произвольного выпуклого четырехугольника.
var p1 = new Point(70, 150);
var p2 = new Point(470, 70);
var p3 = new Point(400, 300);
var p4 = new Point(150, 330);
 
// Шейп, в котором мы будем рисовать.
var shape:Shape = new Shape();
stage.addChild(shape);
 
stage.addEventListener(Event.ENTER_FRAME, handlerEnterFrame);
 
// Ну понятно.
function handlerEnterFrame(event:Event):void
{
	var p0:Point = new Point(stage.mouseX, stage.mouseY);
 
	// Точка окажется внутри полигона, если она будет находиться
	// "справа" от всех сторон этого полигона при их обходе
	// по часовой стрелке.
	if (pointAtRight(p0, p1, p2) &&
		pointAtRight(p0, p2, p3) &&
		pointAtRight(p0, p3, p4) &&
		pointAtRight(p0, p4, p1))
	{
		// Мы внутри! Рисуем красным.
		drawPolygon(0xff0000);
	}
	else
	{
		// Мы снаружи. Рисуем серым.
		drawPolygon(0x707070);
	}
}
 
// Если смотреть из начальной точки p1 отрезка в конечную точку p2
// и точка p0 окажется где-то справа, возвращаем true. В противном
// случае возвращаем false.
function pointAtRight(p0:Point, p1:Point, p2:Point):Boolean
{
	return (p0.x - p1.x) * (p2.y - p1.y) - (p0.y - p1.y) * (p2.x - p1.x) < 0;
}
 
// Отрисовывает наш четырехугольник с заданным цветом контура.
function drawPolygon(color:int = 0x707070):void
{
	var g:Graphics = shape.graphics;
		g.clear();
		g.lineStyle(2, color);
		g.moveTo(p4.x, p4.y);
		g.lineTo(p1.x, p1.y);
		g.lineTo(p2.x, p2.y);
		g.lineTo(p3.x, p3.y);
		g.lineTo(p4.x, p4.y);
}
__________________
Поймай яблоко 2!

Старый 24.01.2014, 22:21
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 30  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Zebestov Спасибо!
Помогите расшифровать эту формулу -
Код AS3:
(p0.x - p1.x) * (p2.y - p1.y) - (p0.y - p1.y) * (p2.x - p1.x)
В первой и третьей скобке, заключены нормали. Во второй и четвертой, числители из уравнения прямой проходящей через две точки.
А вот дальше я вообще не понимаю, хотя в предыдущих "пониманиях" могу и ошибиться. Когда происходит перемножение, то мы получаем А и В?
И почему потом вычитать?

Добавлено через 6 минут
Или тут вот какое рассуждение - по сути известны все элементы уравнения, решив которое, мы должны получить коэффициенты, в сумме которые равны нулю. Но так-как точка не принадлежит прямой и уравнение не решается правильно, то ноль мы не получаем и... я все равно не понимаю

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

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

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


 


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


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