Gamedev


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
11 7 3

Сап вопрос по чему то математическому Аноним 12/01/19 Суб 11:54:31 5452241
IMG-20190109-WA[...].jpg (104Кб, 813x1280)
813x1280
Я в школах матан не очень любил, как и в универе и несколько лет назад начал кодишь под юнитишарп. Ну дак вот до всегда сам доходил, но возникла задача, которую не могу додумать.
Суть есть - построит некоторое количество векторов3 и заполнить ими массив. Проблемы заключается в том, что это нужны сделать на поверхности сферы. Я могу сделать линию через экватор так:
For int i
Float a = math.atan2(vector3.forward.x,vector3.forward.z)+Imath.pipointcount
Vector3(center.x+math.sin(a),center.y,center.z+math.cos(a));
То же самое могу от полюса к полюса, заменил z на y.
Акакийблять все сразу? То есть я полагаю что тут цикл j в цикле i
И то что я не могу понять что делать с синусами /косинусами, чтобы нарисовать сферу векторами? Тесчу дебаглайном от центра к точке. Пытаюсь сделать goo3d (управляемый кусок грязи) пикрандом
Аноним 12/01/19 Суб 17:23:16 5452972
Что я только что прочитал? Так, нормально объясни какова задача и какова твоя идея реализации. Потому что какая-та дичь написана.
Аноним 12/01/19 Суб 20:20:30 5453443
Аноним 12/01/19 Суб 20:21:01 5453454
sphere.png (77Кб, 613x665)
613x665
Аноним 13/01/19 Вск 06:10:45 5454365
>>545344
вот что я хотел. Немного поэксперементировалс с синусами/косинусами
private void ResetVerticles()
{
verticles[0] = transform.rotation (CenterPoint + Vector3.up RadiusSize);
verticles[1] = transform.rotation (CenterPoint + Vector3.down RadiusSize);
for (int i = 0; i < 12; i++)
{
float HorAran = Mathf.Atan2(Vector3.forward.x, Vector3.forward.z) + (i 0.52f);
for (int j = 0; j < 8; j++)
{
float VertAran = Mathf.Atan2(Vector3.forward.x, Vector3.forward.y) + (j
0.392f);
float XForm = (Mathf.Sin(HorAran) Mathf.Sin(VertAran)) RadiusSize;
float YForm = Mathf.Cos(VertAran) RadiusSize;
float ZForm = Mathf.Cos(HorAran)
Mathf.Sin(VertAran) RadiusSize;
verticles[1+j +(i
8)] = CenterPoint+ transform.rotation*new Vector3(CenterPoint.x + XForm, CenterPoint.y+ YForm, CenterPoint.z + ZForm);
}
}
}
Аноним 13/01/19 Вск 06:11:31 5454376
Screenshot1.png (78Кб, 639x499)
639x499
Аноним 13/01/19 Вск 09:19:22 5454477
sphere.png (220Кб, 617x616)
617x616
>>545436
По-моему ты перемудрил.

Вот набросал код как бы я это сделал. https://pastebin.com/DjTS9Unp
Работоспособность не тестировал, юнька не установлена.
Аноним 13/01/19 Вск 09:38:45 5454488
graph.png (64Кб, 455x360)
455x360
>>545436
Алсо вот это
Mathf.Atan2(Vector3.forward.x, Vector3.forward.z)
и это
Mathf.Atan2(Vector3.forward.x, Vector3.forward.y)
равно 0 судя по описанию Vector3.forward.
Аноним 13/01/19 Вск 09:57:06 5454529
2019-01-13 15-5[...].mkv (30679Кб, 1600x900, 00:00:37)
1600x900
благодарю. Пытался добвить вращение, умножив на вращение и получилось нечно невпазумительно/четырехмерное
Аноним 13/01/19 Вск 10:01:15 54545410
>>545447
блять, ты охуенен, счастья добра
Аноним 13/01/19 Вск 10:07:22 54545611
>>545452
Забавная штуковина получилась.
Аноним 13/01/19 Вск 16:04:03 54556412
2019-01-13 22-0[...].mkv (7484Кб, 1600x900, 00:00:37)
1600x900
еще больше забавной хуйни. павук
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Топ тредов
Избранное