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

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

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
По умолчанию Описать график функций

Нужно описать небольшую функцию. Так, чтобы передавая x (distance) получать y (power). Точки А и В по оси y всегда лежат на единице, но по оси x их можно задавать.

Супер точно не нужно, вот приблизительный график:
Миниатюры
Нажмите на изображение для увеличения
Название: questionFunction.png
Просмотров: 85
Размер:	9.4 Кб
ID:	28496  
__________________
Дети не должны знать о своих родителях

Старый 24.09.2012, 19:46
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
if (x < A) (x + A - 1) * (x + A - 1);
else if (x < B) 1;
else (x - 1) * (x - 1);
Что-то такое?
__________________
Hell is the possibility of sanity

Старый 24.09.2012, 20:00
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 3  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
Эм. (x + a)^2 - это сдвиг функции x^2 по оси x на а. А тут вроде бы надо растягивать: сx^2

Старый 24.09.2012, 20:29
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Сорри, погарячился, но скоро все будет
__________________
Hell is the possibility of sanity

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Код:
if (x < A) (x + A - 1) * (x + A - 1);
else if (x < B) 1;
else (x - 1) * (x - 1);
Что-то такое?
У меня так получилось, не совсем то:
Название: functionQuest2.png
Просмотров: 623

Размер: 9.9 Кб

Код AS3:
function getPos(x:Number, A:Number, B:Number):Number{
	if (x < A) return (x + A - 1) * (x + A - 1);
	else if (x < B) return 1;
	else return (x - 1) * (x - 1);
}
 
var A:Number = 0.7;
var B:Number = 0.8;
 
var margin:Number 	= 200;
var step:Number 	= 150;
 
this.graphics.beginFill(0xff0000);
 
this.graphics.moveTo(margin-20, margin);
this.graphics.lineStyle(1, 0x000000, 0.5);
this.graphics.lineTo(margin+step, margin);
this.graphics.moveTo(margin, margin+20);
this.graphics.lineTo(margin, margin-step);
 
this.graphics.moveTo(margin, margin);
for(var i:Number = 0; i<=1; i+=0.03){
	this.graphics.lineStyle(1, 0x000000, 1);
 
	var _x:Number = margin+i*step;
	var _y:Number = margin+(-getPos(i, A, B)*step);
	this.graphics.lineTo(_x, _y);
 
	this.graphics.lineStyle(0, 0, 0);
	this.graphics.drawCircle(_x, _y, 2);
 
	this.graphics.moveTo(_x, _y);
}
__________________
Дети не должны знать о своих родителях

Старый 24.09.2012, 20:44
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 6  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
Для первого куска y = сx^2, где с=1/A^2

Старый 24.09.2012, 21:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
ОК, вот, вобщем, с
Код:
if (x < A) ((1 / A) * x)^2;
else if (x < B) 1;
else ((1 / (1 - B)) * (x - 1))^2;
Что мы делаем: в промежутке от 0 до А - чертим функцию y = x^2 сжатую по горизонтали так, чтобы при x = 1, мы бы получили y = A. Следующий промежуток в объяснениях не нуждается - а в последнем - делаем практически то же самое, что и в первом, за исключением того, что мы эту самую квадратичную функцию перевернули горизонтально. Ну и, соответсвенно, сжали ее так, чтобы при x = B, y = 1.

Нажмите на изображение для увеличения
Название: three-parts-plot.png
Просмотров: 162
Размер:	28.0 Кб
ID:	28499
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 24.09.2012 в 22:14.
Старый 24.09.2012, 21:48
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 8  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
wvxvw,
Спасибо большое, только с последним промежутком не получается, слишком большое значение выдает. И скобки где-то не хватает:
Код:
else (1 / (1 - B)) * x)^2;
__________________
Дети не должны знать о своих родителях

Старый 24.09.2012, 22:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Упс, сорри, опечатался, пофиксил.

Да, еще, такой момент, если это нужно, то "выпуклость" можно регулировать с помощью степени, в которую возводим инкремент.
__________________
Hell is the possibility of sanity

Старый 25.09.2012, 11:47
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 10  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
А может тупо кривыми безье семулировать, если подгонка коэффициентов и формул кажется муторной?
Сама безье: https://github.com/cser/temperate/bl...MQuadBezier.hx
А здесь меня заломало вычислять коэффициенты для парабол (эмуляция изинга отскакивающего несколько раз мячика) и просто нарисовал функцию:
https://github.com/cser/temperate/bl...ing/MBounce.hx

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

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

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


 


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


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