ძირითადი მასალა
კომპიუტერული პროგრამირება
კურსი: კომპიუტერული პროგრამირება > თემა 4
გაკვეთილი 7: სამგანზომილებიანი ფიგურებისამგანზომილებიანი ფიგურის შექმნა
მუშაობის დასაწყებად მარტივი ფიგურა არის კუბი. მიუხედავად იმისა, რომ ტეტრაედრს (სამკუთხა პირამიდას) ნაკლები გვერდი აქვს, მისი გვერდები არ არის ორთოგონალური, რაც საქმეს გვირთულებს. დავიწყოთ 200×200×200 პიქსელიანი კუბის შექმნით, რომლის ცენტრი მდებარეობს ათვლის სათავაზე (0, 0, 0).
დავიწყებთ არა რამის დახატვით, არამედ მასივების მოფიქრებით, რომლებიც აღწერენ ჩვენს ფიგურებს სამ განზომილებაში — კერძოდ, ამ მასივებმა უნდა აღწერონ ჩვენი წვეროები და წიბოები.
წვეროები
ვიწყებთ წვეროების განსაზღვრით, სადაც თითოეული წვერო არის 3 რიცხვისგან შემდგარი მასივი, ამ წვეროს x, y და z კოორდინატები.
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];
ალბათ, შეამჩნიეთ, რომ წვეროები არის 3 ცალი დადებითი ან უარყოფითი 100-იანის შექმნის რვავე ვარიანტი.
შეგიძლიათ, იხილოთ ცენტრით სათავეზე მყოფი 2x2x2 კუბის წვეროები ქვემოთ მოცემულ ვიზუალიზაციაში. მოაბრუნეთ მაუსის გამოყენებით:
წიბოები
ახლა განვსაზღვრავთ წიბოების მასივს, სადაც თითოეული წიბო არის ორი რიცხვის მასივი. მაგალითად,
edge0
განსაზღვრავს წიბოს node0
-სა და node1
-ს შორის. დათვლას ვიწყებთ 0-იდან, რადგან მასივების გადანომრვა იწყება 0-იდან (პირველი წვეროს მნიშვნელობის მისაღებად ვწერთ nodes[0]
-ს).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];
ყველაზე რთული სწორი წიბოების შეერთებაა. აი, იმ წიბოების ვიზუალიზაცია, რომლებსაც ვაერთებთ კუბისთვის:
გსურთ, შეუერთდეთ დისკუსიას?
პოსტები ჯერ არ არის.