Ana içerik
3 boyutlu şekiller oluşturma
Küp, çalışmak için basit bir şekildir. Dört yüzlünün daha az kenarı olsa da, bunlar dik değildir, bu da işleri zorlaştırır. İşe, merkezi (0, 0, 0) başlangıç noktası olan bir 200×200×200 piksel küp oluşturmakla başlayalım.
Bir şey çizmeden başlayacağız, bunun yerine 3D şeklimizdeki şekillerimizi tanımlayan sayı dizileri bulacağız - özellikle, düğümlerimizi ve ayrıtlarımızı tanımlayan diziler.
Düğümler
Bir düğüm dizisi tanımlamakla başlarız, burada her düğüm, bu düğümün x, y ve z koordinatlarından oluşan bir dizidir:
var node0 = [-100, -100, -100];
var node1 = [-100, -100, 100];
var node2 = [-100, 100, -100];
var node3 = [-100, 100, 100];
var node4 = [ 100, -100, -100];
var node5 = [ 100, -100, 100];
var node6 = [ 100, 100, -100];
var node7 = [ 100, 100, 100];
var nodes = [node0, node1, node2, node3, node4, node5, node6, node7];
Farkına varmış olabileceğiniz gibi, bu düğümler, üç grup pozitif veya negatif 100'ün düzenlenmesi için gereken 8 yolun hepsidir.
Aşağıdaki görselde, merkezi başlangıç noktası olan 2x2x2 küpün düğümlerini bulabilirsiniz. Fare kullanarak döndürün:
Ayrıtlar
Sonrasında, bir ayrıt dizisi tanımlarız, burada her ayrıt iki sayılık bir dizidir. Örneğin
edge0
, node0
ve node1
arasında bir ayrıt tanımlar. Saymaya 0'dan başlarız çünkü dizilerin indeksi sıfırdan başlar (Birinci düğümün değerini elde etmek için, nodes[0]
yazarız).var edge0 = [0, 1];
var edge1 = [1, 3];
var edge2 = [3, 2];
var edge3 = [2, 0];
var edge4 = [4, 5];
var edge5 = [5, 7];
var edge6 = [7, 6];
var edge7 = [6, 4];
var edge8 = [0, 4];
var edge9 = [1, 5];
var edge10 = [2, 6];
var edge11 = [3, 7];
var edges = [edge0, edge1, edge2, edge3, edge4, edge5, edge6, edge7, edge8, edge9, edge10, edge11];
İşin zor kısmı, doğru ayrıtları birleştirdiğinizden emin olmaktır. Burada, bir küp için birleştirdiğimiz ayrıtların bir görselleştirmesini bulabilirsiniz:
Tartışmaya katılmak ister misiniz?
Henüz gönderi yok.