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

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

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

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Цитата:
Сообщение от samana Посмотреть сообщение
Простите, а почему не подошел мой вариант (2 пост)? По идее ведь просчёты минимальны будут.
Я не понял, почему за основу взяты координаты точки Д?

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

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

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Мне кажется, автор сам всех запутал, обозначив задачу как труднорешаемую.

Треугольник AED - прямоугольный, стороны AE и AD известны.
Что еще нужно?

Старый 17.04.2013, 16:43
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 14  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Цитата:
Сообщение от mikhailk Посмотреть сообщение
Мне кажется, автор сам всех запутал, обозначив задачу как труднорешаемую.

Треугольник AED - прямоугольный, стороны AE и AD известны.
Что еще нужно?
Автор никого не путал. Не спешите с выводами.

В вашем случае нахождение угла w с рис. 2 сводится к нахождению угла а с рис. 1. А как я и говорил выше - угол a не работает, что и так ясно из рисунка.

Добавлено через 2 минуты
Точнее угол а работает хорошо, только на больших расстояниях между целью и пушкой. Как только цель приближается - угол начинает хорошо работать на a/2.

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
В вашем случае нахождение угла w с рис. 2 сводится к нахождению угла а с рис. 1. А как я и говорил выше - угол a не работает, что и так ясно из рисунка.
Дудки.
На первом рисунке угол w ищется в другом треугольнике. Если точно - BCE, а я предлагаю брать треугольник EAD.

Вы зря убрали точку D со второго рисунка, из за этого пропал очевидный факт, что треугольник EAD прямоугольный и с двумя известными сторонами.

Старый 17.04.2013, 16:57
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 16  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Так ?
NewProject.swf   (1.2 Кб)
Вложения
Тип файла: swf NewProject.swf (1.2 Кб, 107 просмотров)

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

Регистрация: Feb 2013
Сообщений: 176
+1
все конструкция вращается вокруг точки A, тогда и в расчетах нужно брать плечо AD,а не AC.

Старый 17.04.2013, 17:18
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 18  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
public class Main extends Sprite
{
	private var gun:Sprite;
	private var target:Sprite;
 
	private var ab:Number = 50;
	private var ad:Number = 80;
 
	public function Main():void
	{
		gun = new Sprite();
		target = new Sprite;
 
		target.graphics.beginFill(0x80FF80);
		target.graphics.drawCircle(0, 0, 10);
 
		gun.graphics.lineStyle(10, 0xFF8080);
		gun.graphics.lineTo(ad, 0);
		gun.graphics.lineTo(ad, -ab);
		gun.graphics.lineStyle(0, 0xC0C0C0);
		gun.graphics.lineTo(ad, -500);
		gun.x = 200;
		gun.y = 200;
 
		addChild(target);
		addChild(gun);
		addEventListener(Event.ENTER_FRAME, enterFrame);
	}
 
	private function enterFrame(e:Event):void
	{
		target.x = mouseX;
		target.y = mouseY;
 
		var tP:Point = new Point(target.x, target.y);
		var gP:Point = new Point(gun.x, gun.y);
		// расстояние
		var dist:Number = Point.distance(tP, gP);
		// направление
		var dir:Number = Math.atan2(tP.y - gP.y, tP.x - gP.x);
		// поправка
		var w:Number = Math.asin(ad / dist);
 
		gun.rotation = 180 / Math.PI * (dir - w) + 90;
 
	}
 
}

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

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Тут же все просто, переводим координаты точки С в глобальные и по ним считаем угол между Е и С.

Старый 17.04.2013, 23:10
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 20  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>> По идее, вы можете переводить точку D, в глобальные координаты и уже их использовать при расчёте поворота пушки
>> Тут же все просто, переводим координаты точки С в глобальные и по ним считаем угол между Е и С.

ну да, по точке D или C в глобальных координатах посчитать нужный угол не сложно, только для этого мувик уже должен быть повернут на этот угол

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

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

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


 


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


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