anti-keseronokan (old)
Fun Stuff for Anti-Fun People
Thursday, January 08, 2004
OpenGL: Making a 3D Shaped Clouds of Points
5:44 pagi waktu Malaysia. Malam ni (pagi?) aku tak tido, buat assignmnt Visualisasi Data. Walaupun badan mcm tak sihat sikit, tapi ntah kenapa aku semangat nak stay-up plak ahahah. Dah rasa lalok dah ni. Utk assgnmnt kali ni aku rasa aku dapat solution yg begitu seksi sekali, jadi letak ah kat sini utk sapa2 kalo nak cuba (dan komen) keseksiannya. Objektif: --Nak buat satu clouds of points, tapi ada bentuk mcm sphere ke, cube ke, kon ke etc.. Ok the sexy solution: --Memula buat cloud tu dulu, aku pakai bentuk cube sbg asal bentuk dia sbb senang je, pakai for 3 kali. Hasilnya aku simpn sbg array objek Vertex. Kalu nak gerek lagi bleh aa generate guna noise. --Pastu kita kena sediakan container. Container ni berbentuk meshes of triangles (atau quads, ikut suka code ko la). Sebenarnya aku load mesh ni dari fail *.raw yg aku guna utk assignmnt yg lepas. --Utk setiap triangle dlm mesh kira dia punya plane equation, pastu uji setiap point dalam cloud tadi sama ada berada di bawah semua triangle tu atau tak. Kalau ya maknanya dia ada la kat dlm objek container tadi. Tapi sebelum tu pastikan ko punya mesh tu betul normalnya, kalo tak tak jadi la. Tak paham? aku dah agak dah. Semoga ni dpt membantu:
DEFINE CONTAINED_POINTS AS ARRAY
DEFINE IN AS BOOL
FOR ALL POINT IN CLOUD
POINT_IS_IN = TRUE;
FOR ALL TRIANGLE IN MESH
IF TRIANGLE_PLANE_EQ(POINT) > 0
POINT IS OUT OF THE MESH
POINT_IS_IN = FALSE
CONTINUE
END IF
END FOR
PUT POINT IN CONTAINED_POINTS
END FOR
tatau la korang paham ke tak, pseudo-code aku ni pun entah betul ntah tidak.
--Hasilnya, korang kumpul le yg points contained in the container, dan paparkan dia.
Kelemahan:
Tak bleh buat utk object yg concave.
Aku malas nak tulis panjang sebenarnya, sbb belum siap lagi assgnmnt ni pun. Azan subuh baru berkumandang tu. Solat dulu ok. Kalau betul2 nak tau email aku 1khz@cakarharimau.com

1 Comments:
sorry, email tu dah tak valid sekarang.. dah tamat tempoh, basi..
Post a Comment
<< Home