Tài liệu báo cáo, giới thiệu quá trình thực hiện sản phẩm 3D, báo cáo quy trình thực hiện, nghiệm vụ và khảo sát vấn đề được đưa raTài liệu báo cáo, giới thiệu quá trình thực hiện sản phẩm 3D, báo cáo quy trình thực hiện, nghiệm vụ và khảo sát vấn đề được đưa ra
1.1 Mơ hình phân cấp Thân thuyền Khoang lái Cột buồm Lá buồm Ma trận M = I M = M*T(x0,y0,z0) T(x0,y0,z0) T(x1,y1,z1) T(x2,y2,z2) T(x3,y3,z3) Ry(i) M = M*T(x1,y1,z1) M = M*T(x2,y2,z2) M = M*T(x3,y3,z3)*Ry(i) 1.2 Kỹ thuật tạo mơ hình thuyền buồm void than_thuyen1(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.32, 0.02, 0.02, instance); } void than_thuyen2(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.36, 0.02, 0.05, instance); } void than_thuyen3(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.31, 0.02, 0.08, instance); instance = Translate(w, l, h); MatPhang(0.33, 0.02, 0.07, instance); instance = Translate(w, l, h); MatPhang(0.35, 0.02, 0.06, instance); instance = Translate(w, l, h); MatPhang(0.37, 0.02, 0.05, instance); instance = Translate(w, l, h); MatPhang(0.39, 0.02, 0.04, instance); instance = Translate(w, l, h); MatPhang(0.41, 0.02, 0.03, instance); instance = Translate(w, l, h); MatPhang(0.43, 0.02, 0.02, instance); instance = Translate(w, l, h); MatPhang(0.46, 0.02, 0.01, instance); } void than_thuyen4(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.34, 0.02, 0.11, instance); instance = Translate(w, l, h); MatPhang(0.36, 0.02, 0.1, instance); instance = Translate(w, l, h); MatPhang(0.38, 0.02, 0.09, instance); instance = Translate(w, l, h); MatPhang(0.4, 0.02, 0.08, instance); instance = Translate(w, l, h); MatPhang(0.42, 0.02, 0.07, instance); instance = Translate(w, l, h); MatPhang(0.44, 0.02, 0.06, instance); instance = Translate(w, l, h); MatPhang(0.46, 0.02, 0.05, instance); } instance = Translate(w, l, h); MatPhang(0.48, 0.02, 0.04, instance); instance = Translate(w, l, h); MatPhang(0.5, 0.02, 0.03, instance); instance = Translate(w, l, h); MatPhang(0.52, 0.02, 0.02, instance); instance = Translate(w, l, h); MatPhang(0.55, 0.02, 0.01, instance); void than_thuyen5(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.37, 0.02, 0.14, instance); instance = Translate(w, l, h); MatPhang(0.39, 0.02, 0.13, instance); instance = Translate(w, l, h); MatPhang(0.41, 0.02, 0.12, instance); instance = Translate(w, l, h); MatPhang(0.42, 0.02, 0.11, instance); instance = Translate(w, l, h); MatPhang(0.44, 0.02, 0.1, instance); instance = Translate(w, l, h); MatPhang(0.46, 0.02, 0.09, instance); instance = Translate(w, l, h); MatPhang(0.48, 0.02, 0.08, instance); instance = Translate(w, l, h); MatPhang(0.5, 0.02, 0.07, instance); instance = Translate(w, l, h); MatPhang(0.52, 0.02, 0.06, instance); instance = Translate(w, l, h); MatPhang(0.54, 0.02, 0.05, instance); instance = Translate(w, l, h); MatPhang(0.56, 0.02, 0.04, instance); instance = Translate(w, l, h); MatPhang(0.6, 0.02, 0.03, instance); instance = Translate(w, l, h); MatPhang(0.62, 0.02, 0.02, instance); instance = Translate(w, l, h); MatPhang(0.64, 0.02, 0.01, instance); } void khoang_lai(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.16, 0.1, 0.07, instance); instance = Translate(w, l, h); MatPhang(0.12, 0.12, 0.05, instance); instance = Translate(w, l, h); MatPhang(0.08, 0.14, 0.03, instance); instance = Translate(w, l, h); } MatPhang(0.04, 0.16, 0.01, instance); void cot_buom(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.26, 0.005, instance); } void la_buom1(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.14, instance); } void la_buom2(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.11, instance); } void la_buom3(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.11, instance); } void la_buom4(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.115, instance); } void la_buom5(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.12, instance); } void la_buom6(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.12, instance); } void la_buom7(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.125, instance); } void la_buom8(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.13, instance); } void la_buom9(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.13, instance); } void la_buom10(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.13, instance); } void la_buom11(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.13, instance); } void la_buom12(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.13, instance); } void la_buom13(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.125, instance); } void la_buom14(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.125, instance); } void la_buom15(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.12, instance); } void la_buom16(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.12, instance); } void la_buom17(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.115, instance); } void la_buom18(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.115, instance); } void la_buom19(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.11, instance); } void la_buom20(GLfloat w, GLfloat l, GLfloat instance = Translate(w, l, h); MatPhang(0.01, 0.01, 0.11, instance); } h) { h) { h) { h) { h) { h) { h) { h) { h) { void cot_phu(GLfloat w, GLfloat l, GLfloat h) { instance = Translate(w, l, h); MatPhang(0.01, 0.05, 0.005, instance); } void than_thuyen() { than_thuyen1(0.02, than_thuyen2(0.02, than_thuyen3(0.02, than_thuyen4(0.02, than_thuyen5(0.02, -0.51, -0.49, -0.47, -0.45, -0.43, -0.25); -0.25); -0.25); -0.25); -0.25); } void khoang_lai() { khoang_lai(0.16, -0.38, -0.25); } void cot_buom() { cot_buom(-0.025, -0.3, -0.25); } void la_buom() { la_buom1(-0.028, -0.20, -0.25); la_buom2(-0.031, -0.21, -0.25); la_buom3(-0.034, -0.22, -0.25); la_buom4(-0.037, -0.23, -0.25); la_buom5(-0.039, -0.24, -0.25); la_buom6(-0.041, -0.25, -0.25); la_buom7(-0.0425, -0.26, -0.25); la_buom8(-0.044, -0.27, -0.25); la_buom9(-0.0445, -0.28, -0.25); la_buom10(-0.045, -0.29, -0.25); la_buom11(-0.045, -0.3, -0.25); la_buom12(-0.0445, -0.31, -0.25); la_buom13(-0.044, -0.32, -0.25); la_buom14(-0.0435, -0.33, -0.25); la_buom15(-0.042, -0.34, -0.25); la_buom16(-0.04, -0.35, -0.25); la_buom17(-0.038, -0.36, -0.25); la_buom18(-0.036, -0.37, -0.25); la_buom19(-0.034,-0.38, -0.25); la_buom20(-0.032, -0.39, -0.25); } void cot_phu() { cot_buom(-0.1, -0.36, -0.25); } void buom_phu() { la_buom1(-0.102, -0.25, -0.25); la_buom2(-0.105, -0.26, -0.25); la_buom3(-0.108, -0.27, -0.25); la_buom4(-0.111, -0.28, -0.25); la_buom5(-0.114, -0.29, -0.25); la_buom6(-0.116, -0.3, -0.25); la_buom7(-0.117, -0.31, -0.25); la_buom13(-0.118, -0.32, -0.25); la_buom14(-0.117, -0.33, -0.25); la_buom15(-0.118, -0.34, -0.25); la_buom16(-0.116, -0.35, -0.25); la_buom17(-0.113, -0.36, -0.25); la_buom18(-0.111, -0.37, -0.25); la_buom19(-0.108, -0.38, -0.25); la_buom20(-0.105, -0.39, -0.25); } void thuyen_Tung_Anh() { than_thuyen(); khoang_lai(); cot_buom(); la_buom(); cot_phu(); buom_phu(); }