Алгоритм, применяемый в three.js

В прошлом задавались вопросы об этом, я так понял из прочтения гораздо лучшего алгоритма. На этот раз я разработал, но у меня есть ошибка где-то. Вот то, что я был функциональным, это 7 полигонов и каждому с присвоенным значением (userdata.value). Примените формулу, но по какой-то причине не работает.

желаемый результат примерно такой: http://prag.ma/code/d3-cartogram/

Это алгоритм, который пытается применить (это на странице 7 статьи): http://postimg.org/image/dvok6g9ij/

Это может быть более подробно объяснено в следующей статье: http://lambert.nico.free.fr/tp/biblio/Dougeniketal1985.pdf поэтому я определяю каждый из полигонов (это 7 полигонов)

Hexagongeometry[0] = new THREE.Geometry(); 
Hexagongeometry[0].vertices.push(new THREE.Vector3(3,  3, 0.0)); 
Hexagongeometry[0].vertices.push(new THREE.Vector3( 6,  5, 0.0)); 
Hexagongeometry[0].vertices.push(new THREE.Vector3( 9,  3, 0.0)); 
Hexagongeometry[0].vertices.push(new THREE.Vector3( 9,  0, 0.0)); 
Hexagongeometry[0].vertices.push(new THREE.Vector3( 6,  -3, 0.0));
Hexagongeometry[0].vertices.push(new THREE.Vector3( 3,  0, 0.0));
Hexagongeometry[0].vertices.push(new THREE.Vector3( 3,  3, 0.0));

hexagonMesh[0].userData={value:1};  //value of polygon
hexagonMesh[0].position.set(1.5, 0.0, 4.0); 
hexagonMesh[0].geometry.verticesNeedUpdate=true;

Здесь я применил формулу:

http://jsfiddle.net/3ks3bx3s/

Здесь я применил алгоритм в соответствии с моим пониманием.

Надеюсь, я смогу помочь, я действительно искал решение, но пока не могу.

0 ответов

Другие вопросы по тегам