You are on page 1of 6

biu din i tng 3 chiu

biu din i tng 3 chiu


Bi:
lm th ngc chu

Biu din i tng 3 chiu

Trong ha my tnh, cc i tng lp th c th c m t bng cc b mt


(surface) ca chng. V d : mt hnh lp phng c xy dng t su mt phng, mt
hnh tr c xy dng t s kt hp ca mt mt cong v hai mt phng v hnh cu
c xy dng t ch mt mt cong.

Thng thng biu din mt i tng bt k, ngi ta dng phng php xp x


a cc mt v dng cc mt a gic (polygon faces).

im trong khng gian 3 chiu c ta (x,y,z) m t mt v tr trong khng gian.

typedef struct {

int x;

int y;

int z;

} Point _3D ;

Vect : xc nh bi 3 ta dx, dy, dz m t mt hng v di ca vc t.

Vc t khng c v tr trong khng gian.

Tch v hng ca hai vc t

V1* V2 = dx1dx2 + dy1dy2 + dz1dz2

Hay V1* V2 = |V1||V2| cos -0-

1/6
biu din i tng 3 chiu

typedef struct {

int dx;

int dy;

int dz;

} Vector ;

on thng trong khng gian 3 chiu: biu din t hp tuyn tnh ca 2 im

biu din dng tham s ca on thng, ta c :

P = P1 + t*( P2 - P1 ) , ( 0 t 1)

typedef struct {

Point P1;

Point P2;

} Segment ;

Tia (Ray) : l mt on thng vi mt u nm v cc.

Biu din dng tham s ca tia :

P = P1 + t*V , ( 0 t < vocung)

typedef struct {

Point P1;

Vector V;

} Ray;

ng thng (Line): l mt on thng vi c hai u nm v cc

Biu din dng tham s ca ng thng

P = P1 + t*V , ( vocung t < vocung)

2/6
biu din i tng 3 chiu

typedef struct {

Point P1;

Vector V;

} Line;

a gic (Polygon) : l mt vng gii hn bi hn dy cc im ng phng .

( Cc im c cho theo th t ngc chiu kim ng h )

typedef struct {

Point *Points;

int nPoints;

} Polygon;

C th biu din mt mt a gic bng mt tp hp cc nh v cc thuc tnh km theo.


Khi thng tin ca mi mt a gic c nhp, d liu s c in vo cc bng (mng
d liu) s c dng cho cc x l tip theo, hin th v bin i.

Cc bng d liu m t mt a gic c th t chc thnh hai nhm : bng hnh hc v


bng thuc tnh. Cc bng lu tr d liu hnh hc cha ta cc nh v cc tham s
cho bit v nh hng trong khng gian ca mt a gic. Thng tin v thuc tnh ca
cc i tng cha cc tham s m t trong sut, tnh phn x v cc thuc tnh kt
cu ca i tng. Mt cch t chc thun tin lu tr cc d liu hnh hc l to ra
3 danh sch : mt bng lu nh, mt bng lu cnh v mt bng lu a gic. Trong :

- Cc gi tr ta cho mi nh trong i tng c cha trong bng lu nh.

- Bng cnh cha cc con tr tr n bng nh cho bit nh no c ni vi mt cnh


ca a gic .

- Cui cng l bng lu a gic cha cc con tr tr n bng lu cnh cho bit nhng
cnh no to nn a gic.

Mt phng (Plane) :

typedef struct {

Vector N;

3/6
biu din i tng 3 chiu

int d;

} Plane;

Phng trnh biu din mt phng c dng : Ax + By + Cz + D = 0 (5-1)

Trong (x,y,z) l mt im bt k ca mt phng v A, B, C, D l cc hng s din t


thng tin khng gian ca mt phng.

xc nh phng trnh mt phng, ta ch cn xc nh 3 im khng thng hng ca


mt phng ny. Nh vy, xc nh phng trnh mt phng qua mt a gic, ta s s
dng ta ca 3 nh u tin (x1,y1), (x2,y2), (x3,y3) trong a gic ny.

T phng trnh (5-1) ta c :

Axk + Byk + Czk + D = 0 , k= 0,1,2,3. (5-2)

Trong :

Khai trin cc nh thc trn ta c :

A = y1(z2 - z3) + y2(z3 - z1) + y3(z1 - z2)

B = z1(x2 - x3) + z2(x3 - x1) + z3(x1 - x2)

C = x1(y2 - y3) + x2(y3 - y1) + x3(y1 - y2)

A = - x1(y2z3 - y3z2) - x2(y3z1 - y1z3) - x3(y1z2 - y2z1)

Hng ca mt phng thng c xc nh thng qua vc t php tuyn ca n. Vc


t php tuyn

= (A,B,C) (xem hnh 5-1)

4/6
biu din i tng 3 chiu

Hnh 5.1 : Vec t php tuyn ca mt phng.

M hnh khung ni kt (Wireframe-Model)

Mt phng php thng dng v n gin m hnh ha i tng l m hnh khung


ni kt. Mt m hnh khung ni kt gm c mt tp cc nh v tp cc cnh ni cc
nh . Khi th hin bng m hnh ny, cc i tng 3 chiu c v rng v khng
ging thc t lm. Tuy nhin, v bng m hnh ny th nhanh nn ngi ta thng dng
n trong vic xem phc tho cc i tng. hon thin hn, ngi ta dng cc k
thut to bng v loi b cc ng khut, mt khut.

Vi m hnh khung ni kt, hnh dng ca i tng 3 chiu c biu din bng hai
danh sch (list) : danh sch cc nh (vertices) v danh sch cc cnh (edges) ni cc
nh . Danh sch cc nh cho bit thng tin hnh hc ( l v tr cc nh), cn danh
sch cc cnh xc nh thng tin v s kt ni (cho bit cp cc nh to ra cnh). Chng
ta hy quan st mt vt th ba chiu ( xem hnh 5-2) c biu din bng m hnh khung
ni kt nh sau:

5/6
biu din i tng 3 chiu

Bng danh sch cc cnh v nh biu din vt th

Ngi ta c th v cc i tng theo m hnh khung ni kt bng cch s dng cc


php chiu song song hay php chiu phi cnh s c gii thiu chng 6.

6/6

You might also like