ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 29 беті
Есептеулер жүргізген кезде біртекті координаттарды алу ыңғайлы.
Масштабқа өзгертулер жасау кезде, ал шығару құрылғысы тек бүтін сандармен
жұмыс жасайды, осыған байланысты (0.5; 0.1; 2.5) біртекті координаттарымен
жұмыс істемейді. Сол кезде (5; 1; 25) санының орнына h=10 деп белгілеу алуға
болады. Егер координаттар нүктесі (80000, 40000, 1000) болса, онда
координатқа айналдыру кезінде арифметикалық қондырғыға сыймай қалуы
мүмкін. Осы кезде (80, 40, 1) біртекті координаты орнына h= 0.001 алға болады.
Осылай, біртекті координаттардың енгізудегі негізгі мақсаты оның
ыңғайлылығы.
h=1 (*) –ді мына жазуға болады
(х
1
у
1
1) = (х у 1) *
,
немесе
=
Осы матрицадан 3*3 бірнеше жағдайды алуға болады:
А – бұралу матрицасы – Rotation
[R] =
;
Б – сығылуды созу матрицасы
-
Dilatation
[D] =
;
В – шағылысу матрицасы (айна) - Reflection (Mirror)
[M]=
;
Г – ауыстыру матрицасы - TranSlation
[T] =
Аналогия бойынша екі өлшемді жағдайда біртекті координат енгіземіз.
( x, y, z)
(x, y, z, 1),
немесе жалпы жағдайда
(hx, hy, hz, h), бұнда h 0.
Сонда координатының кез келген аймағында – жалпы көбейткішке дейін
анықталатын бір уақытта нольге тең емес сан төртеу
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 30
беті
Кез келген аффиндық жазықтықтағы өзгертулерді айналудың, созылудың,
шағылысудың және ауыстырудың суперпозициясы деуге келеді.
А. Кеңістіктегі айналу матрицысы:
Х осі айналасында бұрышы :
[R
х
] =
Х осі айналасында бұрышы :
[R
у
] =
Х осі айналасында бұрышы :
[R
z
] =
Б. Сығылуды созу матрицасы матрицасы
[D] =
;
В. Сәйкес XOY, YOZ, ZOX жазықтықтарын шағылыстыру матрицасы:
[M
z
] =
; [M
x
] =
[M
y
] =
;
Г. Ауыстыру матрицасы
[T] =
;
Бақылау сұрақтары
1
Жазықтықтағы координата нүктелерін ауыстырудың негізгі түрлерін
атап көрсетіңіз.
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 31 беті
2
Біртекті координаттар дегеніміз не және оның компьютерлік графикаға
енгізудегі мақсаты не?
3
Кеңістіктегі координатты жалпы ауыстыру матрицасы нені білдіреді?
Ұсынылатын әдебиеттер
1 Люкшин Б.А. Компьютерная графика. – Т.: ТУСУР , 1999. – 280 с.
10, 11 Дәріс
Тақырып. Жоспарлаудың түрлері.
Сұрақтар
1
Тегіс кескін проекциясы ерекшелігі.
2
Геометриялық сплайдар.
3
Базалық сплайндар және бета-сплайндар.
Машиналық графикада жоспарлаудың негізгі екі түрі бар:
- параллелді;
- орталық.
Әр түрі таблицадағыдай өз ішінде түрлерге бөлінеді.
1 таблица
Параллельді проекция
Ортографиялық
проекция
Аксонометриялық
проекция
Косоуголді проекция
Триметриялық
Еркін
Диметриялық
Бөлмелік
Изометриялық
2 таблица
Перспективті проекция
Бір нүктелік
Екі нүктелік
Үш нүктелік
1.
Ортографиялық
проекция:
кескін
жазықтығы
координата
жазықтығымен сәйкес келеді немесе оған параллель.
YOZ жазықтығына жоспарланған матрица Х осі бойы бойынша
;
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 32
беті
Шын мәнісінде осы матрица векторға әсері x координаторын нольге
айналуын білдіреді, бірақ ол объектіні x осі бойында жазықтықта
жоспарлағанда болады.
Егер жазықтық координата жазықтығына параллель жоспарланған және
одан p қашықтықта орналасқан болса, онда P матрицасын матрица қозғалысына
көбейту керек; онда
Матрица аналогиясы бойынша екі басқа ось бойымен жоспарланған болса
Осында ауысу q, r қашықтығында, сәйкесінше.
2. Аксонометриялық проекция: оған жоспарланатын түзулер кескін
жазықтығына
.
Триметрия: кескін жазықтығы нормалі координата осі ортасымен әр түрлі
бұрыш жасайды.
Диметрия: осылардың екі бұрышы өзара тең.
Изометрия: барлық үш бұрыш өзара тең.
Осы проекция түрлерінің әр қайсысы комбинациялық бұрыш алады, одан
кейін параллелді жоспарлау жасалады.
Ұзындық триметриясы кезінде алынатын проекция әр түрлі; ұзындық
диметриясы кезінде екі проекция тең; изометрия кезінде барлық проекция тең.
3. Косоуголдық проекция – түзу сәулесі экран жазықтығына
перпендикуляр емес жағдайда.
Еркін проекция – жазықтыққа жоспарланушы түзу бұрышы түзу
жартысына тең.
Бөлмелік проекция – еркін проекцияның жеке жағдайы, осы кезде үшінші
ось масштабы алдынғы екі ось масштабынан екі есе кіші.
Орта Z-ті XOY жазықтығына косоуголдік жоспарлау кезінде
(0 0 1 1) --- (
0 1),
бұндай өзгертудің матрицасы былай болу керек
еркін проекция кезінде = = cos( /4),
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 33 беті
бөлмелік проекция жағдайында = = 1/2*cos( /4).
Ең ауыры перспективті немесе орталалық проекция салу.
Жоспарлау центрі Z осінде орналассын, С(0,0,с) координаттар нүктесі, ал
XOY жоспарлау жазықтығы. Кез келген нүкте М(x,y,z) үшін М және С арқылы
өтетін түзу орнатамыз. Онда оның параметрлік теңдеуі болады
X
1
= x*t, Y
1
= y*t, Z
1
=c+(z-c)*t.
XOY жазықтығын түзудің кесіп өту
координаты (t = 1/(1-z/c))
X
1
= x/(1-z/c), Y
1
= y/(1-z/c).
Бұны матрица бойынша
[G] =
Шын мәнінде,
( x y z 1) [G] = (x y 0 1-z/c)
немесе, дәл осылай
(x/(1-z/c) y/(1-z/c) 0 1)
Жоспарлау матрицасы (*) көрсетілген; ал соған сәйкес перспективті
ауыстыру матрицасы (жоспарлаусыз) түрі
[PP] =
Түзу, параллель OZ шоғырын ғарастырайық және оған [PP] матрицамен
әсер етейік.
Осы шоғырдың әрбір түзуі OXY кеңістігімен қиылысуымен анығталады
да келесі теңдеумен жазылады
X = x , Y = y , Z = t.
Біртекті координаталарға ауысу және [PP] матрицасын қолдану, сонда
( x y t 1 ) [PP] = ( x y t 1-t/c),
немесе
( x/(1-t/c) y/(1-t/c) ct/(c-t) 1 ).
t
кезінде нүкте (x y z 1) нүктесіне түрленеді (0 0 1 0) - барлығын t –
ға бөліп, шекке көшу жеткілікті
lim ( x/t y/t 1 1/t );
t
оған сәйкес нүкте (0 0 -с 1) ұқсас болып келеді
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 34
беті
Сонымен Z сызығының параллель ось шоғырының (0 0 1 0) шексіз аз
центрі ( 0 0 -c 1) Z осіндегі нүктеге ауысады. Бұл нүкте жиын нүктесі деп
аталады.
Жалпы жағдайда кез келген меншікті емес түзу шоғырлары(яғни берілген
бағытта түзу, параллель жиынтығы), параллель емес сурет жазықтығынан, [PP]
түрленуінің әсерінен меншікті шоғырға ауысады.
Алынған шоғырдың центрі жиын нүктесі деп аталады.
Басты жиын нүктелері – шоғырлар үшін бұл нүкте жиыны координаттар
осіне параллель және олар үшеу.
[PP] матрицасы үшін (дәлірек айтқанда, оның көмегімен түрлену) бір ғана
жиын нүктесі болады, суретте иллюстрациясы берілген.
Жалпы жағдайда осындай нүктелер үшеу – координаттар жүйесінің осі
экран жазықтығына параллель болмаған жағдайда. Түрленуге сәйкес матрица
[PP3] =
OX ( 1 0 0 0) және OY ( 0 1 0 0 ) түзу, параллель шоғырлар центрі ( 1 0 0 -
1/a), ( 0 1 0 -1/b) болатын түзу шоғырына ауысады немесе ( - a 0 0 1 ) , ( 0 -b 0 1).
Егер жиын нүктесі екеу болса, проекциялау
кезінде куб мынадай түрде болады:
Үш жиын нүкте болғандағы кубтың суреті (осьте орналасқан) келесідей
көрсетіледі:
Қисайған объектілерді жазықтыққа проекциялау кезінде бір эффект пайда
болады және ол параллель немесе центрлі проекциялар түріне байланысты
емес.
Содан соң сурет жазықтығын Х=0 деп қабылдап, ал тура проекциялау
шоғыры оған перпендикуляр.
Негізінде үш жағдай бар.Олар:
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 35 беті
1. Z = X бетін Х = 0 жазықтығына проекциялаймыз. Бұл жазықтықтың
теңдеуі X – Z = 0, ал нормаль0 вектордың координаттары N = (1,0,-1).
Проекциялауды L = (1,0,0) векторының бойымен жүргіземіз, яғни Х осі
бойымен. Проекциялауды L = (1,0,0) векторы бойымен жүргіземіз, яғни Х осі
бойымен. (N,L) = 1 > 0 болғандықтан проекциялау векторы мен беттің нормаль
векторы ешқандай нүктеде перпендикулер емес.
Алынған проекция ешқандай ерекшеліктері болмайды.
2. Сол жазықтыққа z = x бетін проекциялаймыз (параболалық цилиндр),
немесе
x - z = 0
Нормаль вектор бетке N = (2x, 0, -1) және x = 0 нүктесінде болады. Яғни у
осінде (N, L) = 0 болады, сонда нормаль вектор проекция векторына
перпендикуляр.
x = 0 жазықтығында – үш түрлі нүктелер жиыны бар:
1) z > 0 нүктесі – олар үшін бастапқы проекциялау бетінде екі екі болашақ
үлгіден болады;
2) z = 0 – бұл нүктелер үшін тек бір ғана болашақ үлгі бар;
3) z < 0 – бұл нүктелер үшін болашақ үлгісі мүлдем жоқ.
x = 0, z = 0 түзуі – ерекше;ол үшін N, L векторлары ортогональ. Бұл
түрдің ерекшелігі қабат деп аталады.
3. Бетті қарастырайық
z = x
3
+ xy немесе x
3
+ xy – z = 0.
Бұл беттің нормаль векторы
N =(3x2 + y, x, -1).
Бұл бетті у өлшеміне әртүрлі мән беріп
кескін әдісімен көрейік.
y=1: z = x
3
+ x;
y = 0: z = x
3
;
y = - 1: z = x
3
– x;
Кейін барлық бетті құрауға да
болады.
(N,L) = 3x
2
+ y =0 шарты бойынша,
бетте
жатқан қисық бойында y = - 3x
2
, z = - 2x
3
теңдігімен L және N векторлары перпендикуляр.
Х шығарып тастап, біз бұл қисықта
Бұл теңдеу x = 0 жазықтығында
жартылайкубты парабола.
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 36
беті
Бұл қисық жазықтықтың нүктелерін үш топқа бөледі:
1 – нүкте ұшында, олардың әрқайсысының бетінде тура екі болашақ
үлгіден бар;
2 – ұшының ішінде, әр нүкте үшін үш болашақ үлгіден бар;
3 – ұшынан тыс, әр нүкте үшін бір болашақ үлгіден бар.
Жалпы алғанда бұл түрдің ерекшелігі жинау деп аталады.
Жартылайкубты парабола x = 0 жазықтығында ұшталған нүктесі
болады., оның болашақ үлгісі бастапқы бетте
x = x, y = -3x
2
, z = - 2x
3
тұрақты қисық болады.
Ерекшеліктер теориясы дәлелдегендей (катастрофалар теориясы), жазық
бетке проекциялау кезінде қарастырылған үш проекция түрі мүмкін:
- қарапайым;
- қабат;
- жинау.
Геометриялық сплайндар
Бұл бағыттағы ең бірінші жұмыс Шенберг 1946 жылы жасаған.
Бірінші кезеңде бұл теория мен практика сияқты функцияларды
жақындату мәселесінің шешімі болды. Бірақ кейін плайндардың өздері әртүрлі
және әртүрлі аймақтарда қолданылады: сандық әдіс, САПР, ғылыми
зерттеулерді автоматтандыру, КГжәне т.б.
Ағылшын тілінен келген spline –бұл берілген нүктелер арқылы
жүргізілетін тегіс қисықтар, болаттың иілетін жолағы.
Компьютердің пайда болуымен сплайн – аппроксимация теориясы
көмегімен өте күрделі беттерді қарапайым формулалармен көрсету мүмкіндігі
пайда болды.
Қисықтар
мен беттердің КГ визуализациясы кезінде оларды
проекциялаудан кейін не болатынына баға беруге мүмкіндік береді және керек
кезде бетті сипаттауда өзгеріс енгізу үшін.
Өзінен өзі сплайндардың теориясы қазіргі кезде өте кең
тараған; төменде біз тек қисықтар мен түзулерді проекциялау
кезіндегі геометриялық моделдеу есебін қарастырамыз.
Әдеттегі есеп: нүктелер массиві бойынша жазықтықта
немесе кеңістікте қисық құру:
- берілген нүкте ден өтетіндер (интерполяция);
- берілген нүктелердің жанынан өтетін нүктелер (тегістеу).
Мысал ретінде суретте жоғары қисық көрсетілген - интерполяциялаушы,
төменгісі – тегістеу.
Бірден екі мәселе:
- керегін қисықтың қай классында іздеу керек;
- қалай іздеу керек.
Бірінші мәселеде тоқталайық.
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 37 беті
Талаптардың біреуі – есептің шешілуінің жалғыз болуы. Екіншісі –
жасалған қисық баяу өзгеру керек.
Жазықтықта (х ,у ), i=0,1,...,m нүктелер жиыны берілсін, сонымен қатар
х
0
< x
1
< x
2
<...< x
m
көптүбірді (полиномдар) классында іздейміз. Лагранжа полиномы белгілі
Бұл полином құрастырылуы бойынша өзі жасаған қисық берілген
нүктелердің барлығынан өтеді.
Аппроксимацияның екінші тәсілі – сынықтар көмегімен. Бұл жағдайда
жеке аймақтарда сызықты аппроксимация, ал бұрыштық нүктелерде бірінші
туындының үзілуі болады. Аппроксимация мен қисық полином арасындағы
ымыра жеке аймақтарда жүзеге асады, ал барлық қисықта бірден – ақырындап
аймақтан аймаққа, ал содан соң баяу кездесетін жеке аймақтардың полином
коэффициентіне тиісті таңдау арқылы жүзеге асады.
Бұндай аппроксимация нәтижесі сплайн – функциясы немесе жай ғана
сплайн деп аталады. Сызба сплайндарымен үйлестік өте айқын. Онымен қоса,
егер иілгіш болат сызғышалып, оның көмегімен тіректер қатарынан қисық
жүргізсе, пайда болған қисық үшінші дәрежелі полином тіректердің әрбір
аймағында у(х) функциясын көрсетеді,ал х
0
, х
1
, ... ,х
m
– барлық аймағында
екінші ретті дифференцялды функция. Бұл функция интерполяциялы куб
сплайны деп аталады.
Нақты анықтамасы:
S(x) функциясы интерполяционды кубты сплайн деп аталады
1. S(x
i
)= y
i
, i= 0, 1, ..., m;
2. Әр бір кесіндіде [x
i
, x
i+1
] , i = 0, 1, ..., m-1
3. [x
0
, x
m
] барлық ұзындығында S(x) функциясында кем дегенде үздіксіз
екі алғашқы функциясы бар.
Әр бір бөліктегі үшінші дәрежелі полином 4 санмен (коэффициентпен),
ал аймақтар m – мен анықталса, нәтижесінде 4m сан табу керек.
Үшінші шарт бойынша сплайнның үзіксіздігін барлық ішкі бөліктерінде
болу керек ( яғни S(xi - 0) = S(xi + 0), i=1, 2, ..., m-1 ) - бұл m-1 шарт. Бірінші
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 38
беті
туынды үшін де m-1 шарт және екіншіге де. Егер бірінші талаптағы m+1
шартты қоссақ, онда барлығы 4m-2 шарт болады. Екі жетіспейтін шарт болады,
мысалы, i = 0 және i = m нүктелерінде қиылысатын туындылардың бірінші мәні
S(x
0
) = l
0
; S(x
m
) = l
m
;
және осы кезде есеп бір жолмен шешіледі
Егер массив бойынша кеңістікте екі ауыспалы функцияны ұүрастыру
керек болса, онда сплайнның интерполяциялы бикубы деген түсінік
қоданылады.
Жазықтықтағы әрбір нүктеге
(x
i
,y
j
), i=0,1,...,m; j=0,1,...,n
x
0
< x
1
<... < x
m
, y
0
< y
1
<...< y
n
,
z
ij
нүктесі жауап берсін; бұл жағдайда келесідей массив бар
(x
i
, y
j
, z
ij
), i = 0, 1, ..., m; j = 0, 1, ..., n.
Осы нүктелер арқылы өтетін бетің функциясының графигін анықтайық.
Екі ауыспалы үшін сплайнның интерполяциялы бикубы
1.
S(x
i
,y
j
)=z
ij
; i=0,1,...,m; j=0,1,...,n;
болатын S(x,y) функциясын айтамыз.
2. Әрбір бөліктегі тік бұрыш
[x
i
,x
i+1
]*[y
j
,y
j+1
], (i = 0, 1, ..., m-1; j = 0, 1, ... , n-1)
3. Барлық тік бұрышта [x
0
,x
m
]*[y
0
,y
n
] бірінші үзіліссіз және S(x,y)-та
екінші туынды бар.
Әрбір тік үшбұрышта - 16 коэффициент, барлығы 16mn болады.
Олар жоғарыдығы бір өлшемді жағдайлар сияқты пікірлерден табылып
қалады.
Базалық сплайндар
0
t
1 аумағын бөліктерге жіктейік
0=t
0
< t
1
< t
2
<...< t
m-1
< t
m
=1
Қояйық
N
i,1
(t) = 1 , t [ t
i
, t
i+1
],
N
i,1
(t) = 0, t
[ t
i
, t
i+1
]
Одан кейін
Бұл міндеттер:
1. N
i,q
(t) > 0 ( t
i
, t
i+q
) интервалында
2. N
i,q
(t) = 0 интервал сыртында.
3. N
i,q
(t) (q>3) функциясы тапсырманың барлық аумағында q-2 қоса ретке
дейін үздіксіз туынды болады.
Анық, N
i,4
(t) текшелі сплайн құру үшін бес түйінділердің бөліктеулері
қажет
ПОӘК 042-14-1-05.1.20.43/03-2013
«18» қыркүйек 2013 ж. №1 басылым
56 беттің 39 беті
t
i
, t
i+1
, t
i+2
, t
i+3
, t
i+4
[0, 1] кесінді. Сондықтан егер түйінділер жеткіліксіз болса, нақтылы
түрмен олардың жиындарын кеңейтеді мысалға ойластырсақ.
t
-3
= t
-2
= t
-1
=0, t
m+1
= t
m+2
= t
m+3
= 1.
Ендірілетін қосымшалар “кесінділер” нөлдік ұзындықта болады, ал
бастапқы бірінші t = 0 және соңғы t = 1түйінділер еселі болады.
Ендірілген функцияларға теңдік сақталады.
N
i,q
( t ) = 1.
Ол деген:
r(t)= N
i,4
(t)*V
i
, ( 3 )
векторлық теңестірумен берілген қисық әрдайым массив төбелерінің
дөңес қабығына жатқызылады. Бұдан басқа, V
0
нүктесінен шығып және V
m
,
нүктесінде түйінділермен жанасып келеді.
Қисық жеткілікті тегістегі де сақталады: q 4 кезінде барлық міндетті
коэффициенттер көптеген практикалық тапсырмаға жеткілікті болатын, үздіксіз
екінші туынды болады. Одан әрі
q = 4 қабылданады.
Массивтағы бір төбенің жағдайының өзгерістері барлық қисықты толық
өзгеріске алып келмейді; қайта есептің қасиеттеіне байланысты функционалдық
коэффициенттер тек қана бес қосындыларға әсерін тигізеді.
Қисықтың анықталатын кесіндісі жазық жағдайдағы төр бұрышты
олардың дөңес қабығы және тетраэдр кеңістіктің ішінде жатады.
Кейде белгілі бір оймен құрылған қисық бізге ұнамайды, нәтижені
өзгерткіміз келеді. Оны қисықтың ендірілетін теңеуіндегі параметр көмегімен
орындауға болады. Ол үшін бетасплайндар қолданылады, бұл жағдайда құрама
қисық қолданылады.
Бета-сплайндар
Құрама жүйелі қисық құрастыруға жүйелі қисықтардың кескінділерінің
байланысуы түйіндестің шарты нүктеге қолданылады.
Егер
1
және
2
– параметрлік теңеумен белгіленген
жүелі қисық.
r = r
1
(t), 0
t
1, r = r (t), 0
t
1
түйісінше ортақ нүкте болатын
Достарыңызбен бөлісу: |