|
|
Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
![]() |
#1 | |
Местный
Регистрация: 19.02.2009
Сообщений: 450
|
![]() Цитата:
Я вывод сделал по прочитанному, но не на одной странице, а в сумме. Почитай что тетенька пишет о давлении в различных ситуациях, как оно считается и что на это влияет и на каких радиусах и при каких диапазонах давления. Не надо выдирать как некоторые по одной строчке из текста "Вдруг из маминой из спальни, одноногий и хромой, выбегает......"(с) PS Спасибо, вообще-то завтра официально, хотя на самом деле 23:5* 12 го. Последний раз редактировалось JGr124_boRada; 12.02.2010 в 18:27. |
|
![]() |
![]() |
![]() |
#2 |
Местный
Регистрация: 29.11.2009
Сообщений: 649
|
![]()
Сразу скажу, что времени у меня малом, могу в некоторых моментах ошибаться...
package com.maddox.il2.ai; import com.maddox.JGP.Point3d; import com.maddox.il2.engine.Actor; import com.maddox.il2.engine.ActorMesh; public class Explosion { public static final int POWER_SPLASH = 0; public static final int POWER_SPLINTERS = 1; public static final int POWER_NAPALM = 2; public static final float SPLINTER_MASS = 0.015F; private static final float SPLINTERS_K = 0.9F; public String chunkName; public Point3d p = new Point3d(); public float radius; public Actor initiator; public float power; public int powerType; private float nSplinters; Осколочное действие расчет количества осколков void computeSplinterParams(float f) { float f_0_ = f * 0.9F; по нашим прикидкам -это определение массы корпуса nSplinters = f_0_ / 0.015F; количество полезных осколков массой 15гр if (nSplinters < 0.5F) не понятно, но так думаем - условие округления nSplinters = 0.0F; } расчет скорости осколка на траектории разлета public float computeSplinterSpeed(float f) { if (f <= 0.01F) f - предполагаем, что эта некая дистанция, тогда, если выполняется то скорость = 650 return 650.0F; if (f >= radius) если это растояние больше или равно радиусу (параметр для каждой бомбы) то скорость =150 return 150.0F; float f_1_ = f / radius; коэффициент отношения некой дистанции к радиусу return 650.0F * (1.0F - f_1_) + 150.0F * f_1_; я предполагаю, что это определение скорости летящего осколка } распределение осколков public void computeSplintersHit(Point3d point3d, float f, float f_2_, float[] fs) { float f_3_ = (float) point3d.distance(p) - f; нахождение какого-то растояния if (f_3_ <= 0.0010F) { fs[0] = nSplinters * 0.5F; fs[1] = computeSplinterSpeed(f_3_); } условие и запись толи в массив, толи в матрицу float f_4_ = 3.1415927F * f * f; площадь окружности радиусом "f" float f_5_ = 12.566371F * f_3_ * f_3_;площадь поверхности шара радиусом "f3" считали пару строчек выше float f_6_ = nSplinters * f_4_ / f_5_; никак не вспомню отношение площадей помноженное на ко-во осколков if (f_6_ >= nSplinters * 0.5F) f_6_ = nSplinters * 0.5F; fs[0] = f_6_; fs[1] = computeSplinterSpeed(f_3_); условие если ... больше половины количества осколков то брать половину. } public boolean isMirage() { if (!Actor.isValid(initiator)) return true; return initiator.isNetMirror(); } кажется условие поражения осколками, просчет ведется думаю еще где-то, если кто дополнит буду признателен, нерехожу на фугас. Последний раз редактировалось SLON; 12.02.2010 в 19:32. |
![]() |
![]() |
![]() |
#3 | |
Местный
Регистрация: 11.11.2009
Сообщений: 243
|
![]() Цитата:
Осколки мы значит по площади шара равномерненько разбрасываем... дожили, мля... Я кажется теперь догадываюсь, кто написал муйню про вероятность поражения осколками гранаты Ф1 на дистанции 200 метров... (или откуда черпали вдохновение илоделы)... Цирк уехал, клоуны остались... Последний раз редактировалось 23AG_Black; 12.02.2010 в 22:13. |
|
![]() |
![]() |
![]() |
#4 | |
Местный
Регистрация: 31.05.2008
Сообщений: 1,159
|
![]() Цитата:
![]() в общем ето можно поправить. несложно. была бы зависимость ![]() |
|
![]() |
![]() |
![]() |
#5 |
Местный
Регистрация: 11.11.2009
Сообщений: 243
|
![]() |
![]() |
![]() |
![]() |
#6 | |||
Местный
Регистрация: 31.05.2008
Сообщений: 1,159
|
![]() Цитата:
![]() Цитата:
![]() Цитата:
|
|||
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|