![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Modus ponens
|
class rendering.Line {
private var __a:PNT;
private var __b:PNT;
private var __length:Number = Number.NaN;
private var __height:Number = Number.NaN;
private var __width:Number = Number.NaN;
private var __angle:Number = Number.NaN;
public function Line(pa:PNT, pb:PNT) {
__a = pa;
__b = pb;
__width = __b.x - __a.x;
__height = __b.y - __a.y;
trace(pa.x + ' : ' + pa.y + ' : ' + pb.x + ' : ' + pb.y);
trace(__b.x == __a.x);
trace('angle: ' + __angle + ' : ' + __height + ' : ' + __width);
__length = Math.sqrt(__width * __width + __height * __height);
__angle = Math.atan(__width / __height);
}
}
class rendering.PNT extends Array {
public function PNT(xx:Number, yy:Number) {
this.push(xx);
this.push(yy);
}
public function set x(p:Number):Void {
this[0] = Math.round(p);
}
public function get x():Number {
return this[0];
}
public function set y(p:Number):Void {
this[1] = Math.round(p);
}
public function get y():Number {
return this[1];
}
}
Уже чего только не делал... И в трейс выдается: angle: NaN : -2.8421709430404e-14 : -100 (вместо -2.8421709430404e-14 должно быть 0)
__________________
Hell is the possibility of sanity |
|
|||||
|
опустите трейс в низ конструктора и будет вам сказка
в результате трейс: Цитата:
|
|
|||||
|
Modus ponens
|
Перезапустил комп... откомпилировал флешем и мтаском... по прежнему такой же результат... Самое непонятное, что с некоторыми числами проблем не возникает =/
Цитата:
__________________
Hell is the possibility of sanity |
|
|||||
|
Banned
|
Цитата:
Цитата:
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Числа которые передавались в "new Line(new PNT(..." были получены в результате неких мат операций, но для примера ты вывел их в трейс и дал их нам, а сам продолжаешь использовать результаты мат операций?
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
chingachgoog, дело не в этом, а в том, что в трейс идет число округленное, а в расчетах участвует дробное.
Вот пример где после запятой всего 13 знаков. и результат Цитата:
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
...однако мне не понятно, что было расширять здесь Array, когда нужно расширить Point. |
|
|||||
|
Modus ponens
|
С первым согласен, да, правельнее будет в конструкторе округлить.
А массив - потому что в других местах понадобятся некоторые его свойства, типа конкантенации, например. А в Point есть куча всего, что я не собираюсь использовать.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|