|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2012
Сообщений: 212
|
Упростить выражение до квадратного уравнения у найти корни
Здравствуйте, имеется выражение ((x1 + xV1 * t) - (x2 + xV2 * t))^2 = r. Предполагается, что нам известны все переменные кроме t которую нужно вычислить. Для этого нужно упростить выражение до квадратного уравнения. Что бы быть уверенным, что я не ошибся в упрощении выражения я подставил во все переменные кроме r значения и вычислил результат: r = 4, далее, при упрощении сверялся с этим результатом.
var t:Number = 2; var x1:Number = 2; var xV1:Number = 2; var x2:Number = 12; var xV2:Number = -2; var:Number res = Math.Pow((x1 + xV1 * t) - (x2 + xV2 * t), 2)// res == 4; res = Math.Pow((x1 + xV1 * t), 2) - 2 * (x1 + xV1 * t) * (x2 + xV2 * t) + Math.Pow((x2 + xV2 * t), 2); // res == 4 res = x1 * x1 + 2 * x1 * xV1 * t + xV1 * xV1 * t * t + -2 * x1 * x2 + -2 * x1 * xV2 * t + -2 * xV1 * t * x2 + -2 * xV1 * t * xV2 * t + x2 * x2 + 2 * x2 * xV2 * t + xV2 * xV2 * t * t; // res == 4 var r:Number = res; var a:Number = xV1*xV1 + -2*xV1*xV2 + xV2*xV2; var b:Number = 2*x1*xV1 + -2*x1*xV2 + -2*xV1*x2 + 2*x2*xV2; var c:Number = x1*x1 + -2*x1*x2 + x2*x2 - r; var dX:Number1 = (-b + Math.Sqrt(b*b - 4*a*c))/2*a; var dX2:Number = (-b - Math.Sqrt(b*b - 4*a*c))/2*a; Я уже несколько раз переделывал, но успеха добиться не удалось. Буду рад если кто нибудь поможет найти ошибку. |
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
//((x1 + y1 * t) - (x2 + y2 * t))**2 = r var x1 = 10; var y1 = 5; var x2 = 11+5; var y2 = 15+1; var t = 4; var r = Math.pow((x1 + y1 * t) - (x2 + y2 * t), 2); r === ((x1 + y1 * t) - (x2 + y2 * t)) * ((x1 + y1 * t) - (x2 + y2 * t)); r === (x1 + y1 * t) * (x1 + y1 * t) - 2*(x1 + y1 * t)*(x2 + y2 * t) + (x2 + y2 * t)*(x2 + y2 * t); r === (y2*y2 - 2*y1*y2 + y1*y1)*t*t + t*(-2*x1*y2 + 2*x1*y1 - 2*x2*y1 + 2*x2*y2) + x1*x1 - 2*x1*x2 + x2*x2; 0 === (y2*y2 - 2*y1*y2 + y1*y1)*t*t + t*(-2*x1*y2 + 2*x1*y1 - 2*x2*y1 + 2*x2*y2) + x1*x1 - 2*x1*x2 + x2*x2 - r; var a = (y2*y2 - 2*y1*y2 + y1*y1); var b = 2*(-x1*y2 + x1*y1 - x2*y1 + x2*y2); var c = (x1*x1 - 2*x1*x2 + x2*x2 - r); 0 === a*t*t + b*t + c; var r1 = (-b + Math.sqrt(b*b - 4*a*c)) / (2*a); var r2 = (-b - Math.sqrt(b*b - 4*a*c)) / (2*a); t === r1 || t === r2; // true Цитата:
+ Последний раз редактировалось nubideus; 16.09.2014 в 20:38. |
|
|||||
Регистрация: Feb 2012
Сообщений: 212
|
Оказалось, всего то забыл 2*a заключить в скобки.
|
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
лол
(не могу трифорс) |
|
|||||
Регистрация: Aug 2012
Сообщений: 108
|
Казалось бы, причем здесь flash
|
|
|||||
Banned
[+1 06.12.14]
[+1 18.12.14] [+1 30.12.14] Регистрация: Aug 2014
Сообщений: 461
|
Цитата:
|
|
|||||
Регистрация: Aug 2012
Сообщений: 108
|
Компоненты feathers здесь тем более ни при чем, а вообще если вопрос - как они относятся к flash, так это Adobe Gaming SDK
|
|
|||||
Banned
[+1 06.12.14]
[+1 18.12.14] [+1 30.12.14] Регистрация: Aug 2014
Сообщений: 461
|
При чем sdk? Вам же никто не сказал, что вопрос о компонентах обсуждается, как минимум в другой ветке и как максимум на офф сайте? Какая Вам разница относится это к флешу или нет, Вы идеологический лидер профсоюза флешеров чтоль?)
|
Часовой пояс GMT +4, время: 15:31. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|