Pull to refresh

Comments 6

Спасибо за то, что дочитали и за критику.
Основная задача была сделать инструмент, в котором при минимальном описании можно было создавать 3d объекты… Это то, что в последней статье выдвинуто в функцию windows.onload.

    var scene = new Scene("webgl");
    scene.setBackgroundColor([0.1,0.5,0.6,0.2]);
    scene.setViewPort(300, 300);
    
    var circ = new circle([-120,-70,0],60,30);

    scene.AddObject(circ);
    scene.draw();

А что может быть легче?
На будущее остается только создать инструмент, чтобы располагать примитив на карте, а не вбивать координаты.
Внутренняя реализация возможно не самая лучшая ))).

Воу. Такой простыни из кода давно не было. Конструктивная критика — используйте систему контроля версий и выкладывайте код туда, давая здесь ссылку, поскольку столько кода, да еще и без комментариев, не всегда может быть очень интересной. Гораздо интересней было бы больше математики — как вы рассчитываете координаты вершин того же шара (тут может быть несколько подходов).
Я код указал в конце, как это называется — «для ленивых», чтобы можно было сразу проверить, а что собственно из всего этого получится… А до этого прописал, как рассчитываю координаты, может не столько подробно, хотя мне кажется, что я даже переборщил, в смысле описывал вещи, которые и так очевидны. Как зная центр ширину и высоту построить прямоугольник )))… Хоть это и очевидно, я это написал, как пример, что я понимаю под «примитивами» и что для меня означает идеальный вариант… И мне очень сложно понять, зачем строить систему, в которой каждая вершина бы прописывалась, а не рассчитывалась, даже у простых фигур, не говоря уже о сложных.
По поводу сферы, у меня был внутренний восторг, потому что на самом деле не мог предположить, что так всё легко и просто… Про себя чертил там соединял как то вершины, пытался найти какую то мнимую зависимость, а тут всё так легко и просто… Но я не знаю, как этот алгоритм подробнее расписать.
А в коде той же сферы, большая часть — это очень вспомогательная часть, которая только помогает построить…
Но не представляет из себя интерес в плане самого решения. Например, создание копии объекта, соединение разных прямоугольников друг над другом, расчет угла на который надо поворачивать и кол-ва итераций — это всё необходимо, но это не имеет смысл расписывать.
И напоследок, я внутренне очень сильно уверен, что если вы возьметесь реализовывать даже тот алгоритм построения сферы, который я дал, у вас реализация и в коде и просто алгоритмом будет намного лучше…

Я у своей сферы нашел один небольшой недостаток — 2 прямоугольника, назовём их условно юг и север множатся n-раз, где n — это 360 / кол-во прямоугольников… Или около того ))).

gitHub…
Спасибо, буду использовать.

P.S. На самом деле вся критика очень конструктивная. Мне кажется, что тяжело было не выругаться сильнее.

P.S.S. Если развивать данную идею, то можно создавать «скелеты», то есть просто расчет вершин через 1 точку центра… Мне остается в коде контролировать только центры. Таким образом облегчается задача создания зависимостей между центрами и построения того же самого «человека»…
Скажем так. Из-за простыни кода и слабого описания математики — вообще не понятно, что вы делаете. Конечно, записать алгоритм формирования сферы очень просто, вспомнив определение сферы. Но и перебить его в код — тоже просто.
P.S.S. Если развивать данную идею, то можно создавать «скелеты», то есть просто расчет вершин через 1 точку центра…

Пишется P.P.S Вот уже третий пост от вас и создается впечатление, что вы решили освоить какие-то технологии и выкладываете отчет на хабре о том, как вы это осваиваете. Описание геометрии через каркас вокруг какой-то точки с последующим обсчетом движений и изменений конкретно через эту точку — очевиднейшая идея. Да даже в физике положение тел описывается радиус-вектором то центра масс (или еще какой-то характерной точки).

Скажем так — людям это не сильно интересно. Лучше доведите до ума, выложите код на гите, распишите алгоритмы, какие используете. Кому-то покажется это очевидным, кто-то подчеркнет что-то новое, но это будет лучше. В текущем формате посты ооочень сложно воспринимать. Что касается самого кода — «Люк. Не гадь в глобальный скоуп».
А не могли бы вы для совсем уж ленивых еще и на jsfiddle постить примеры? :)
Я пока запостил всё со всеми комментами (и в целом и каждой строчки в отдельности) на
gitHub.
Только пока не знаю как русский шрифт подключить.
Изучаю. Как получится подключить — дам ссылку, отсюда всю простыню заменю.
Там же ещё сделал небольшие исправление — что то вроде наследования для всех примитивов.
Sign up to leave a comment.

Articles