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

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

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
По умолчанию Подскажите как построить треугольник точки нижней стороны которого касаются овала

Здравствуйте
Вроде в школе неплохо учился, но никак не могу сообразить

Подскажите, пожалуйста, как мне построить треугольник, точки нижней стороны которого касаются овала
Точку "A" я планирую двигать мышкой
Изображения
 


Последний раз редактировалось djyamato; 09.12.2010 в 16:29.
Старый 09.12.2010, 16:25
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Берёшь точку не на овале, берёшь две точки на овале, соединяешь их. Что из этого не понятно?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 09.12.2010, 16:27
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 3  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
а как взять-то точки на овале ? по какому алгоритму ?

Старый 09.12.2010, 16:32
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Уравнение овала (ну т.е. эллипса):
параметрическое (рекомендую)
x = centerX + A*cos(t)
y = centerY + B*sin(t)
A, B - полуоси (2А - ширина, 2В - высота). Вот берёшь t какое нравится и получаешь точку на эллипсе.
Каноніческое есть в википедии какой-нить.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 09.12.2010, 16:34
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 5  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
Цитата:
Сообщение от djyamato Посмотреть сообщение
а как взять-то точки на овале ? по какому алгоритму ?
окружность
эллипс
ну а так в лекциях по ан.гему за первый курс всё это должно быть =))))
__________________
можно, даже нужно на "ты", - Я лишён предрассудков относительно "Вы" =))
но чур без фамильярностей...

Старый 09.12.2010, 16:37
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 6  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
О, спасибо большое, буду "кривокодить" пробовать

Добавлено через 1 час 22 минуты
ЭЭЭх, как же эту t завязать с положением мыши ?

Добавлено через 2 часа 21 минуту
Все, разобрался, спасибо всем
вот код, на всякий случай

Код AS3:
import flash.geom.Point;
import flash.display.Sprite;
 
// A - полуось ширины
// B - полуось высоты
 
// уравнение эллипса
// x = centerX + A*cos(t);
// y = centerY + B*sin(t);
 
var EllipseSprite:Sprite=new Sprite();
addChild(EllipseSprite);
 
var centerX:Number=300;
var centerY:Number=200;
 
var A:Number=200;
var B:Number=100;
 
var p0=new point();
addChild(p0);
 
var p1=new point();
addChild(p1);
 
var p2=new point();
addChild(p2);
 
EllipseSprite.graphics.lineStyle(1,0x0000,1);
EllipseSprite.graphics.drawEllipse(centerX-A,centerY-B,A*2,B*2);
 
stage.addEventListener("mouseMove",mouseMoveHandler);
 
function mouseMoveHandler(event:MouseEvent):void{
	var dx:Number = event.stageX - centerX;
	var dy:Number = event.stageY - centerY;
	var angle:Number = Math.PI-Math.atan2(dy, dx);
 
	// точка от которой треугольник к элипсу
	p0.x=event.stageX; 
	p0.y=event.stageY;
 
	p1.x=centerX - A*Math.cos(angle-0.15);
	p1.y=centerY + B*Math.sin(angle-0.15);
 
	p2.x=centerX - A*Math.cos(angle+0.15);
	p2.y=centerY + B*Math.sin(angle+0.15);
 
	event.updateAfterEvent();
 
	inf.text="angle="+String(angle);
}
И вот для чего мне понадобилось это


Последний раз редактировалось djyamato; 09.12.2010 в 23:43.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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