Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что делают эти функции?

ФермаКактусов Высший разум (189412), открыт 2 недели назад
 class s { 
float[] a = new float[4]; //создание массива в 4 ячейки

s() {
this.a[3] = 1.0F; //присвоение значения последней ячейке
}

s(float paramFloat1, float paramFloat2, float paramFloat3) {
this.a[0] = paramFloat1;
this.a[1] = paramFloat2;
this.a[2] = paramFloat3;
this.a[3] = 1.0F;
}

s(s params) {
this.a[0] = params.a[0];
this.a[1] = params.a[1];
this.a[2] = params.a[2];
this.a[3] = params.a[3];
}

void a(s params) {
this.a[0] = params.a[0];
this.a[1] = params.a[1];
this.a[2] = params.a[2];
this.a[3] = params.a[3];
}

void a(s params1, s params2) {
this.a[0] = params1.a[0] + params2.a[0];
this.a[1] = params1.a[1] + params2.a[1];
this.a[2] = params1.a[2] + params2.a[2];
}

void b(s params1, s params2) {
this.a[0] = params1.a[0] - params2.a[0];
this.a[1] = params1.a[1] - params2.a[1];
this.a[2] = params1.a[2] - params2.a[2];
}

float b(s params) {
return this.a[0] * params.a[0] + this.a[1] * params.a[1] + this.a[2] * params.a[2];//?
}

void c(s params1, s params2) {
this.a[0] = params1.a[1] * params2.a[2] - params1.a[2] * params2.a[1];//?
this.a[1] = params1.a[2] * params2.a[0] - params1.a[0] * params2.a[2];
this.a[2] = params1.a[0] * params2.a[1] - params1.a[1] * params2.a[0];
}

void a() {
float f = (float)Math.sqrt((this.a[0] * this.a[0] + this.a[1] * this.a[1] + this.a[2] * this.a[2]));//корень на каждая переменная в степени
this.a[0] = this.a[0] / f;
this.a[1] = this.a[1] / f;
this.a[2] = this.a[2] / f;
}
}
с некоторыми разобрался но не могу понять назначение других
1 ответ
Татьяна Просветленный (32705) 2 недели назад
 float[] a = new float[4]; 
Это массив из четырех элементов типа float.


 s() {  
this.a[3] = 1.0F;
}
Инициализирует массив a, присваивая 1.0F четвертому элементу.
 s(float paramFloat1, float paramFloat2, float paramFloat3) {  
this.a[0] = paramFloat1;
this.a[1] = paramFloat2;
this.a[2] = paramFloat3;
this.a[3] = 1.0F;
}
Инициализирует первые три элемента массива a значениями параметров, четвертый элемент устанавливает в 1.0F.
 s(s params) {  
this.a[0] = params.a[0];
this.a[1] = params.a[1];
this.a[2] = params.a[2];
this.a[3] = params.a[3];
}
Копирует значения массива a из другого объекта s.
 void a(s params) {  
this.a[0] = params.a[0];
this.a[1] = params.a[1];
this.a[2] = params.a[2];
this.a[3] = params.a[3];
}
Копирует значения массива a из другого объекта s.
 void a(s params1, s params2) {  
this.a[0] = params1.a[0] + params2.a[0];
this.a[1] = params1.a[1] + params2.a[1];
this.a[2] = params1.a[2] + params2.a[2];
}
Складывает соответствующие элементы массивов params1 и params2 и сохраняет результат в текущем объекте s.
 void b(s params1, s params2) {  
this.a[0] = params1.a[0] - params2.a[0];
this.a[1] = params1.a[1] - params2.a[1];
this.a[2] = params1.a[2] - params2.a[2];
}
Вычитает соответствующие элементы массивов params1 и params2 и сохраняет результат в текущем объекте s.
 float b(s params) {  
return this.a[0] * params.a[0] + this.a[1] * params.a[1] + this.a[2] * params.a[2];
}
Вычисляет скалярное произведение векторов, представленных массивами this.a и params.a.
 void c(s params1, s params2) {  
this.a[0] = params1.a[1] * params2.a[2] - params1.a[2] * params2.a[1];
this.a[1] = params1.a[2] * params2.a[0] - params1.a[0] * params2.a[2];
this.a[2] = params1.a[0] * params2.a[1] - params1.a[1] * params2.a[0];
}
Вычисляет векторное произведение векторов, представленных массивами params1 и params2, и сохраняет результат в текущем объекте s.
 void a() {  
float f = (float)Math.sqrt((this.a[0] * this.a[0] + this.a[1] * this.a[1] + this.a[2] * this.a[2]));
this.a[0] = this.a[0] / f;
this.a[1] = this.a[1] / f;
this.a[2] = this.a[2] / f;
}
Нормализует вектор, представленный массивом a, то есть приводит его к единичной длине, деля каждый элемент на длину вектора.
ФермаКактусовВысший разум (189412) 2 недели назад
это что то может быть связано с графикой?
Татьяна Просветленный (32705) ФермаКактусов, да
Похожие вопросы