1

過去の質問でこれについて尋ねられましたが、はるかに優れたアルゴリズムを読んで理解しました。今回は開発したのですがどこかミスがあります。これらは 7 つのポリゴンで、それぞれに値 (userdata.value) が割り当てられています。数式を適用しますが、何らかの理由で機能しません。

望ましい結果は次のようなものです: http://prag.ma/code/d3-cartogram/#netmigrate/2011

これは、適用を試みるアルゴリズムです (これは論文の 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/

ここでは、私の理解に従ってアルゴリズムを適用しました。

解決策を本当に調査しましたが、まだできません。

4

0 に答える 0