Professional Documents
Culture Documents
1
2
Ðåñéå÷üìåíá
2 ÃåíéêÜ 13
2.1 Ãåùìåôñßá êáé ÍáõðçãéêÝò ÅöáñìïãÝò . . . . . . . . . . . . . . . 13
2.1.1 ÊáôÜëïãïò Åöáñìïãþí . . . . . . . . . . . . . . . . . . . . . 14
3 Ãåùìåôñéêïß Ìåôáó÷çìáôéóìïß
Ð.Ä. ÊáêëÞò, Áðñßëéïò 2005 25
3.1 ÅéóáãùãÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Óçìåéáêïß êáé Äéáíõóìáôéêïß ×þñïé . . . . . . . . . . . . . . . . . 26
3.3 Ïìïðáñáëëçëéêïß Ìåôáó÷çìáôéóìïß . . . . . . . . . . . . . . . . . 33
3.3.1 Éóïìåôñéêïß Ìåôáó÷çìáôéóìïß . . . . . . . . . . . . . . . . . 40
3.4 Ðñïâïëéêïß Ìåôáó÷çìáôéóìïß . . . . . . . . . . . . . . . . . . . . 41
3.5 Ïìïãåíåßò ÓõíôåôáãìÝíåò . . . . . . . . . . . . . . . . . . . . . . . 46
3
6 Êáìðýëåò Bézier 65
6.1 Ï áëãüñéèìïò de Casteljau, ç âÜóç Bernstein êáé ç áíáðáñÜóôáóç
Bézier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2 Ïìïðáñáëëçëéêïß ìåôáó÷çìáôéóìïß ðáñáìÝôñïõ . . . . . . . . . . 70
6.3 Óýíèåôåò êáìðýëåò Bézier . . . . . . . . . . . . . . . . . . . . . . . 71
6.3.1 C0 -óõíÝ÷åéá Þ ðáñáìåôñéêÞ óõíÝ÷åéá ìçäåíéêÞò ôÜîçò óôïí
êüìâï u = ui+1 . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3.2 C1 -óõíÝ÷åéá Þ ðáñáìåôñéêÞ óõíÝ÷åéá ðñþôçò ôÜîçò óôïí
êüìâï u = ui+1 . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3.3 G1 -óõíÝ÷åéá Þ ãåùìåôñéêÞ óõíÝ÷åéá ðñþôçò ôÜîçò óôï êüìâï
u = ui+1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.3.4 C2 -óõíÝ÷åéá Þ ðáñáìåôñéêÞ óõíÝ÷åéá äåýôåñçò ôÜîçò óôïí
êüìâï u = ui+1 . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.3.5 G2 -óõíÝ÷åéá Þ ãåùìåôñéêÞ óõíÝ÷åéá äåýôåñçò ôÜîçò óôïí
êüìâï u = ui+1 . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4 Áíýøùóç âáèìïý áðëÞò êáìðýëçò Bézier (degree raising) . . . . . 77
6.5 Õðïäéáßñåóç áðëÞò êáìðýëçò Bézier (curve subdivision) . . . . . . 79
6.6 Óçìåßá åëÝã÷ïõ óõíáñôçóéáêÞò êáìðýëçò Bézier . . . . . . . . . . 80
7 Êáìðýëåò B−splines
Ð.Ä. ÊáêëÞò, ÌÜñôéïò 2008 81
7.1 ÅéóáãùãÞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 Ðïëëáðëïß êüìâïé . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.3 Káìðýëåò Â-spline . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.3.1 ÓõããñáììéêÜ Þ óõìðßðôïíôá óçìåßá de Boor . . . . . . . . . 88
7.4 Ï áëãüñéèìïò de Boor . . . . . . . . . . . . . . . . . . . . . . . . . 90
4
9 Ôï ÐåñéâÜëëïí ÁíÜðôõîçò Óõíèåôéêþí Êüóìùí: SUPERSCAPE VRTTM109
9.1 ÌéêñÞ ÅéóáãùãÞ óôçí ÅéêïíéêÞ Ðñáãìáôéêüôçôá (Virtual Reality) 109
9.1.1 Ôé åßíáé ç åéêïíéêÞ ðñáãìáôéêüôçôá; . . . . . . . . . . . . . 109
9.1.2 ÓõóôÞìáôá åéêïíéêÞò ðñáãìáôéêüôçôáò . . . . . . . . . . . . 110
9.1.3 ÅöáñìïãÝò åéêïíéêÞò ðñáãìáôéêüôçôáò . . . . . . . . . . . . 112
9.2 Superscape VRTTM . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.2.1 ÃåíéêÜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.2.2 ×áñáêôçñéóôéêÜ ôïõ óõóôÞìáôïò . . . . . . . . . . . . . . . . 116
9.2.3 ×ñÞóç ôïõ ðåñéâÜëëïíôïò SUPERSCAPE VRT . . . . . . . 117
9.3 VR, ÍáõðçãéêÞ & ÍáõôéêÞ Ìç÷áíïëïãßá . . . . . . . . . . . . . . 118
9.3.1 ÐñïôÜóåéò ãéá ÷ñÞóç ôçò åéêïíéêÞò ðñáãìáôéêüôçôáò (VR)
óôçí ÍáõðçãéêÞ Ôå÷íïëïãßá: . . . . . . . . . . . . . . . . . . 118
9.3.2 ÐñïôÜóåéò ãéá ÷ñÞóç ôçò åéêïíéêÞò ðñáãìáôéêüôçôáò (VR)
óôçí ÍáõðçãéêÞ óôá ðëáßóéá åêðáßäåõóçò: . . . . . . . . . . 119
9.3.3 ÐñáêôéêÜ ðáñáäåßãìáôá . . . . . . . . . . . . . . . . . . . . 120
10 ÐáñÜñôçìá ÁóêÞóåùí 121
5
6
ÊåöÜëáéï 1
7
½
0.7γ + 0.3², åÜí γ≥5;
τ=
γ, Üëëùò.
Åðßóçò ïé óðïõäáóôÝò åíèáññýíïíôáé íá êÜíïõí ÷ñÞóç ôçò âéâëéïãñáößáò, ç
ïðïßá åßíáé äéáèÝóéìç åßôå óôçí ÊåíôñéêÞ ÂéâëéïèÞêç ôïõ Éäñýìáôïò, ìÝóù ôïõ
èåóìïý ôçò ðïëëáðëÞò âéâëéïãñáößáò (âë. http://www.lib.ntua.gr),
åßôå óôéò âéâëéïèÞêåò ôùí äéäáóêüíôùí ôïõ ìáèÞìáôïò. Ðñïò ôçí êáôåýèõíóç
áõôÞ, áêïëïõèåß ìéêñüò âéâëéïãñáöéêüò êáôÜëïãïò ìå åíäåéêôéêïýò ôßôëïõò áðü
ôéò ðåñéï÷Ýò ôçò Ãåùìåôñßáò, ôùí óõíáñôÞóåùí Splines êáé ôçò ÃåùìåôñéêÞò
Ìïíôåëïðïßçóçò.
8
ÂÉÂËÉÏÃÑÁÖÉÁ
1. Ä.Ã. Äáóêáëüðïõëïò, Ôõðïëüãéïí ÁíùôÝñùí Ìáèçìáôéêþí, ÁèÞíáé 1977
-- ÊåöÜëáéï ÉÉÉ: ÁíáëõôéêÞ Ãåùìåôñßá, óåë.120-183, ÊåöÜëáéï ÉÉ×: Äéá-
öïñéêÞ Ãåùìåôñßá, óåë. 268-286.
6. J.H. Ahlberg, E.N. Nilson and J.L. Walsh, The Theory of Splines and Their
Applications, Academic Press, New York, 1967.
10. G. Farin, Curves and Surfaces for Computer Aided Geometric Design, A
Practical Guide, Third Edition, Academic Press, Inc., New York, 1993.
11. G. Farin, J. Hoschek and M.-S. Kim, editors Handbook of Computer Aided
Geometric Design, Elsevier Science, Amsterdam, 2002.
12. G. Farin, Curves and Surfaces for Computer Aided Geometric Design, A
Practical Guide, Fifth Edition, Morgan Kaufmann Publishers, San Fran-
sisco, 2002.
9
13. G. Farin, NURB Curves and Surfaces, From Projective Geometry to Practical
Use, A.K. Peters Ltd., Wellesley, Massachusetts, 1994.
14. G. Farin and D. Hansford, The Geometry Toolbox for Graphics and Mod-
eling, A.K. Peters, Massachusetts, 1997.
18. D. Marsh, Applied Geometry for Computer Graphics and CAD, Second
Edition, Springer Undergraduate Mathematics Series, Springer-Verlag,
Berlin, 2005.
20. M.E. Mortenson, Geometric Modeling, John Wiley & Sons, New York,
1967.
22. L. Piegl and W. Tiller, The NURBS Book, Springer-Verlag, Berlin, 1995.
7→ ðïëëáðëÞ âéâëéïãñáößá (× 3)
25. L.L. Schumaker, Spline Functions: Basic Theory, John Wiley & Sons, New
York, 1981.
10
26. D.J. Struik, Lectures on Classical Differential Geometry, Second Edition,
Dover Publications, Inc., New York, 1988.
27. J. Vince, Geometry for Computer Graphics, Formulae, Examples & Proofs,
Springer-Verlag London Limited, Berlin, 2005.
11
12
ÊåöÜëáéï 2
ÃåíéêÜ
13
óþìá ðñÝðåé íá åìöáíßæåé åëÜ÷éóôç åðéöÜíåéá ãéá äåäïìÝíï üãêï éóïäõíáìåß
ìå ôçí áðáßôçóç íá Ý÷åé ôï óþìá áõôü, óå ãåíéêÝò ãñáììÝò, óöáéñéêü ó÷Þìá.
Ôï áðïôÝëåóìá áõôü, ãíùóôü óôá ìáèçìáôéêÜ ùò éóïðåñéìåôñéêÞ áíéóüôçôá
(isoperimetric inequality), ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá íá åîçãÞóïõìå ôï ãå-
ãïíüò üôé Ýíáò ïñãáíéóìüò ðïõ åðéäéþêåé íá åëá÷éóôïðïéÞóåé ôçí Ýêôáóç ôïõ
óõíüñïõ ôïõ, ÷Üñéí äéáôÞñçóçò ôçò èåñìüôçôáò Þ ãéá ëüãïõò Üìõíáò Ýíáíôé
ôïõ åîùôåñéêïý ôïõ ðåñéâÜëëïíôïò, Ý÷åé óõíÞèùò óöáéñéêü ó÷Þìá. ÁíôéèÝôùò,
åÜí ôï óýíïñï åíüò ïñãáíéóìïý ðñÝðåé íá åßíáé äéáðåñáôü þóôå íá åðéôñÝðåé
ôçí ñïÞ ïîõãüíïõ Þ ôñïöÞò äéáìÝóù áõôïý, ôüôå ç åëá÷éóôïðïßçóç ôçò åðéöÜ-
íåéÜò ôïõ äåí åßíáé ç êáôÜëëçëç åðéëïãÞ. Óôçí ðåñßðôùóç áõôÞ èá Þôáí ëïãéêÞ
ç éó÷ýò ìéáò áíáëïãßáò ìåôáîý ôïõ åìâáäïý ôçò åðéöÜíåéáò ôïõ óþìáôïò êáé
ôïõ ðåñéêëåéüìåíïõ üãêïõ. Åí ôïýôïéò, Ýíáò ïñãáíéóìüò äåí ìðïñåß íá áíá-
ðôýóóåôáé äéáôçñþíôáò ôï ó÷Þìá ôïõ êáé ôáõôü÷ñïíá íá ðáñáìÝíåé óôáèåñüò
ï ëüãïò üãêïõ ðñïò åðéöÜíåéá. Ãéá íá åðéôåõ÷èåß áõôü, ç áíÜðôõîç áêïëïõ-
èåßôáé áðü ìéá áëëáãÞ ìïñöÞò, óõíÞèùò ìÝóù ôçò åéóáãùãÞò åíüò éäéáßôåñá
óõíåóôñáììÝíïõ óõíüñïõ. Ìéá ôÝôïéá ðåñßðôùóç áðïôåëïýí ïé ðíåõìïíéêïß
éóôïß. Ðñüóöáôåò åîåëßîåéò óôçí èåùñßá ôùí ó÷éóôùäþí(fractals) áðÝäåéîáí
üôé äåí åßíáé áíáãêáßï ç êëßìáêá ôïõ óõíüñïõ ìéáò ôñéóäéÜóôáôçò äïìÞò íá
áõîÜíåôáé êáô' áíáëïãßá ðñïò ôï ôåôñÜãùíï ôïõ ìÞêïõò ôçòÞ ôçò äéáìÝôñïõ
ôçò. Óôçí ðñáãìáôéêüôçôá, ìéá éäéáßôåñá óõíåóôñáììÝíç åðéöÜíåéá ìðïñåß íá
èåùñçèåß ùò ç ðñïóÝããéóç åíüò ó÷éóôþäïõò.
14
• åîïìÜëõíóç íïìÝùí, éóÜëùí êáé äéáìÞêùí ôïìþí ìå âÜóç óçìåßá
ðïõ Ý÷ïõí ðñïÝëèåé áðü ôçí øçöéïðïßçóç (digitizing) íáõðçãéêþí
ó÷åäßùí Þ êáôáëüãùí óõóôçìáôéêþí óåéñþí (ð.÷., FORMDATA),
• ÌåôáôñïðÞ ôùí íáõðçãéêþí ó÷åäßùí, ðïõ ðáñÜãïõí êáé äéáêéíïýí
íáõðçãéêÜ ìåëåôçôéêÜ ãñáöåßá, íáõôéëéáêÝò åôáéñåßåò êáé Íçïãíþ-
ìïíåò, áðü ÷áñôß Þ Üëëï õëéêü (ð.÷., polyester sepia) óå çëåêôñïíéêÞ
- äéáíõóìáôéêÞ ìïñöÞ (hardcopy → raster → vector).
7→ TïìÝáò ÌåëÝôçò Ðëïßïõ êáé Èáëáóóßùí Ìåôáöïñþí
15
• ÔÝëïò, ïé äýï ôåëåõôáßïé ÷áñáêôÞñåò ôïõ êùäéêïý áðïôåëïýí ôá
äýï ðñþôá øçößá ôïõ äåêáäéêïý ìÝñïõò ôïõ ðñùñáßïõ, CBF , Þ
ðñõìíáßïõ, CBA , óõíôåëåóôÞ ãÜóôñáò ôïõ óêÜöïõò, áíÜëïãá ìå ôï
áí ç óõãêåêñéìÝíç ïéêïãÝíåéá íïìÝùí áíÞêåé óôï ðñùñáßï Þ ðñõ-
ìíáßï ôìÞìá ôïõ óêÜöïõò. Óõíåðþò, ïé åðéëåãÝíôåò íïìåßò áíÞêïõí
óå óêÜöïò áíôéóôïé÷åß ìå ðñùñáßï óõíôåëåóôÞ ãÜóôñáò 0.70.
• ãñáììÞ êáôáóôñþìáôïò,
• áêìÝò ôá÷õðëüùí óêáöþí,
• ðåñßãñáììá Ýëéêáò,
• ãñáììÝò ñïÞò.
7→ Tïìåßò ÌåëÝôçò Ðëïßïõ êáé Èáëáóóßùí Ìåôáöïñþí &
ÍáõôéêÞò êáé ÈáëÜóóéáò ÕäñïäõíáìéêÞò
16
3. Ó÷åäéáóìüò åðéöÜíåéáò ãÜóôñáò -- ð.÷., êáôáóêåõÞ ôñéóäéÜóôáôïõ ãåù-
ìåôñéêïý ìïíôÝëïõ ãéá ãÜóôñá ðëïßïõ ìå âÜóç:
17
åðß ôçò F, Ýôóé þóôå: f (xi ) = fi , i = 1(1)N -- ð.÷.,ìåôñÞóåéò ðéÝóåùò
óôçí âñå÷üìåíç åðéöÜíåéá ãÜóôñáò Þ ôçò Ýëéêáò.
7→ TïìÝáò ÍáõôéêÞò êáé ÈáëÜóóéáò ÕäñïäõíáìéêÞò
Ãéá ôçí åîïìïßùóç ôùí ãåùìåôñéêþí áôåëåéþí ôïõ êõëßíäñïõ, ðïõ äç-
ìéïõñãÞèçêáí êáôÜ ôçí êáôáóêåõÞ ôïõ, ÷ñçóéìïðïéÞèçêå ç ëåãüìåíç
skinning technique, ðïõ ÷ñçóéìïðïéåßôáé êõñßùò ãéá ôçí áíáêáôáóêåõÞ
åðéöáíåéþí áðü äéäéÜóôáôåò ôïìÝò (surface reconstruction from 2D sec-
tions), âë. ð.÷., [8]. Ìå ôç âïÞèåéá ôçò ìåèüäïõ áõôÞò áíáðáñáóôÞèçêå
ç ðñáãìáôéêÞ åóùôåñéêÞ êáé åîùôåñéêÞ åðéöÜíåéá ôïõ êõëßíäñïõ, áöïý
18
åëÞöèçóáí õðüøç ïé áñ÷éêÝò ãåùìåôñéêÝò áôÝëåéåò ôùí åðéöáíåéþí áõ-
ôþí êáé ç ðñáãìáôéêÞ êáôáíïìÞ ðÜ÷ïõò ôïõ êõëßíäñïõ, óôïé÷åßá ôá ïðïßá
ìåôñÞèçêáí ðåéñáìáôéêÜ.
12. Õðïëïãéóìüò ôùí ãñáììþí áíÜêëáóçò (reflection lines) Þ/êáé ôùí õøß-
öùôùí (highlights) Þ/êáé ôùí éóüöùôùí (isophotes) ìéáò åðéöÜíåéáò:
áðëÜ ìïíôÝëá ãåùìåôñéêÞò ïðôéêÞò ãéá ôïíÝëåã÷ï ôçò ïìáëüôçôáò åðé-
öáíåéþí ìå áéóèçôéêÝò áðáéôÞóåéò -- ð.÷., ãÜóôñåò óêáöþí áíáøõ÷Þò.
19
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1
Ó÷Þìá 2.1á : ÄéáêñéôïðïéçìÝíá óçìåßá áðü ôçí FORMDATA B0 2F 70 (ñüìâïé)
êáé ïé õðü åîïìÜëõíóç ðáñåìâÜëëïíôåò íïìåßò (óõíå÷Þò ãñáììÞ).
20
Ó÷Þìá 2.1â : ËåðôïìÝñåéá ``ðõèìÝíá'' áðü ôï Ó÷. 2.1á
21
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Ó÷Þìá 2.2á : ÄéáêñéôïðïéçìÝíá óçìåßá áðü ôçí FORMDATA B0 2F 70 (ñüìâïé)
êáé ïé åîïìáëõìÝíïé íïìåßò (óõíå÷Þò ãñáììÞ).
22
Ó÷Þìá 2.2â : ËåðôïìÝñåéá ``ðõèìÝíá'' áðü ôï Ó÷. 2.2á
23
Ó÷Þìá 2.4: ÉäéïìïñöÞ ëõãéóìïý êõëßíäñïõ ìå ãåùìåôñéêÝò áôÝëåéåò.
24
ÊåöÜëáéï 3
Ãåùìåôñéêïß Ìåôáó÷çìáôéóìïß
Ð.Ä. ÊáêëÞò, Áðñßëéïò 2005
3.1 ÅéóáãùãÞ
Ïé Ãåùìåôñéêïß ìåôáó÷çìáôéóìïß, ðïõ ðåñéëáìâÜíïíôáé óôçí äéäáêôÝá ýëç ôïõ
Ãõìíáóßïõ êáé ôïõ Ëõêåßïõ, ðåñéïñßæïíôáé óå:
• ÌåôáöïñÝò (translations),
• ÐåñéóôñïöÝò (rotations),
• Káôïðôñéóìïýò (reflections) êáé
• Oìïéüìïñöåò áëëáãÝò êëßìáêáò (uniform scalings), óõóôïëÝò Þ äéáóôïëÝò.
Ïé ìåôáó÷çìáôéóìïß áõôïß ïíïìÜæïíôáé Åõêëåßäåéïé (Euclidean) ìåôáó÷çìáôé-
óìïß. Ç ìåëÝôç ôùí éäéïôÞôùí ôùí áíôéêåéìÝíùí, ïé ïðïßåò ðáñáìÝíïõí áíáë-
ëïßùôåò ìåôÜ ôçí åöáñìïãÞ ôùí ìåôáó÷çìáôéóìþí áõôþí, óõíéóôÜ ôçí Åõêëåß-
äåéá Ãåùìåôñßá. ÔÝôïéåò éäéüôçôåò åßíáé ôï ìÝôñï ãùíßáò, ç ïìïéüôçôá 1 , éäéü-
ôçôåò ïé ïðïßåò äéáôçñïýíôáé áíáëëïßùôåò ìåôÜ ôçí åöáñìïãÞ ïðïéïõäÞðïôå
áðü ôïõò ôÝóóáñåò ðáñáðÜíù ìåôáó÷çìáôéóìïýò. Ïé ôñåéò ðñþôïé áðü áõôïýò
åßíáé êáé éóïìåôñéêïß, äéáôçñïýí äçëáäÞ ôéò áðïóôÜóåéò ìåôáîý óçìåßùí êáé
áðïôåëïýí ôï áíôéêåßìåíï ôçò ëåãüìåíçò ìåôñéêÞò Åõêëåßäåéáò Ãåùìåôñßáò. Åí
ôïýôïéò, ç ÃåùìåôñéêÞ Ìïíôåëïðïßçóç (Geometric Modelling) áëëÜ êáé ç Ãñá-
öéêÞ (Graphics) áðáéôïýí ôçí ÷ñÞóç êáé Üëëùí Ãåùìåôñéþí, üðùò, ð.÷.,
1
Õðü ôçí Ýííïéá üôé ïé áðïóôÜóåéò äéáôçñïýíôáé êáôÜ ðñïóÝããéóç ðïëëáðëáóéáóôéêÞò óôá-
èåñÜò.
25
• ç ÏìïðáñáëëçëéêÞ) Þ ÁöéíéêÞ (affine) Ãåùìåôñßá, êáé
• ç ÐñïâïëéêÞ (Projective) Ãåùìåôñßá.
Ç ãíþóç âáóéêþí óôïé÷åßùí áðü ôéò ðñïáíáöåñèåßóåò Ãåùìåôñßåò åßíáé áðá-
ñáßôçôç ü÷é ìüíïí ãéá ôïí åðéóôÞìïíá Íáõðçãü Ìç÷áíïëüãï Ìç÷áíéêü (ÍÌÌ),
ï ïðïßïò áðáéôåßôáé íá ðáñÜãåé, íá åëÝã÷åé êáé íá ôñïðïðïéåß ôïí ãåùìåôñéêü
ðõñÞíá ôùí ðïëýðëïêùí ðñïâëçìÜôùí ðïõ êáëåßôáé íá åðéëýóåé, áëëÜ êáé
ãéá ôïí ó÷åäéáóôÞ ÍÌÌ, ðïõ ïöåßëåé íá ÷ñçóéìïðïéåß áðïäïôéêÜ ôï óýóôçìá
åíäéáìÝóïõ ÷ñÞóôç-õðïëïãéóôÞ (user-interface), ðïõ ðáñÝ÷åé ôï åêÜóôïôå óý-
óôçìá CAD/CAM (Computer-Aided Design / Computer-Aided Manufactur-
ing), ðñïêåéìÝíïõ íá õëïðïéåß ôïõò ó÷åäéáóôéêïýò êáé êáôáóêåõáóôéêïýò ôïõ
óôü÷ïõò.
Ðéï óõãêåêñéìÝíá, ç ÏìïðáñáëëçëéêÞ Ãåùìåôñßá ìåëåôÜ ôéò éäéüôçôåò ôùí ãå-
ùìåôñéêþí ïíôïôÞôùí ðïõ ðáñáìÝíïõí áìåôÜâëçôåò ùò ðñïò êÜèå ïìáëü (äç-
ëáäÞ áíôéóôñÝøéìï) ïìïðáñáëëçëéêü ìåôáó÷çìáôéóìü. ¸íáò ôÝôïéïò ìåôáó÷ç-
ìáôéóìüò áðåéêïíßæåé åõèåßåò óå åõèåßåò, åðßðåäá óå åðßðåäá êáé ðáñÜëëçëåò
åõèåßåò Þ ðáñÜëëçëá åðßðåäá óå ðáñÜëëçëåò åõèåßåò Þ ðáñÜëëçëá åðßðåäá,
áíôéóôïß÷ùò. Áíôßèåôá, êáôÜ ôïõò ïìïðáñáëëçëéêïýò ìåôáó÷çìáôéóìïýò ìðï-
ñïýí íá ìåôáâÜëëïíôáé ôá ìÞêç ôùí åõèõãñÜììùí ôìçìÜôùí, ôá ìÝôñá ôùí
ãùíéþí, ôá åìâáäÜ åðéðÝäùí ó÷çìÜôùí êáé ïé üãêïé óôåñåþí. ×áñáêôçñéóôé-
êïß åêðñüóùðïé ôùí åí ëüãù ìåôáó÷çìáôéóìþí åßíáé ïé:
• Aíéóüôñïðåò áëëáãÝò êëßìáêáò (non-uniform scalings), êáé ç
• ÄéÜôìçóç (shearing),
ÔÝëïò, óôçí ÐñïâïëéêÞ Ãåùìåôñßá ïé óõíÞèåéò Ýííïéåò ôçò ðáñáëëçëßáò, ôïõ
ìÞêïõò ôïõ åõèõãñÜììïõ ôìÞìáôïò, ôïõ åìâáäïý êáé ôïõ üãêïõ äåí Ý÷ïõí
÷áñáêôÞñá áíáëëïßùôïõ. Ìßá Ýííïéá âáóéêÞò óçìáóßáò ãéá ôçí ÐñïâïëéêÞ
Ãåùìåôñßá åßíáé åêåßíç ôïõ äéðëïý ëüãïõ ôåôñÜäïò óõíåõèåéáêþí óçìåßùí, ï
ïðïßïò ðáñáìÝíåé áìåôÜâëçôïò ìåôÜ ôçí åöáñìïãÞ ðñïâïëéêÞò áðåéêüíéóçò.
26
åêÜóôïôå ÷ñçóéìïðïéåß. Óå ðñùôïãåíÝò åðßðåäï, ôá óôåñåÜ áíôéêåßìåíá ìðï-
ñïýí íá èåùñçèïýí ùò óõìðáãÞ õðïóýíïëá óçìåßùí ôïõ E3 , ôá ïðïßá (óçìåßá)
áðïôåëïýí ôá ðñùôáñ÷éêÜ óôïé÷åßá ðïõ ôïí óõíèÝôïõí. Ïé ðñùôáñ÷éêÝò áõôÝò
ïíôüôçôåò ìïíôåëïðïéïýíôáé ìáèçìáôéêÜ ùò ôñéÜäåò ðñáãìáôéêþí áñéèìþí, ïé
ïðïßåò áíáðáñéóôïýí ôéò óõíéóôþóåò åíüò óçìåßïõ ùò ðñïò ôï óýóôçìá óõ-
íôåôáãìÝíùí ðïõ Ý÷åé åðéëåãåß. Åíôåëþò ðáíïìïéüôõðá ìïíôåëïðïéïýíôáé ôá
óôïé÷åßá ôïõ ôñéóäéÜóôáôïõ ãñáììéêïý (äéáíõóìáôéêïý) ÷þñïõ R3 , ôá ãíùóôÜ
ìáò äéáíýóìáôá.
Ç ïìïéüôçôá ìïíôåëïðïßçóçò óçìåßùí êáé äéáíõóìÜôùí ìáò ðåßèåé åýêïëá
üôé ïé óçìåéáêïß êáé ïé äéáíõóìáôéêïß ÷þñïé åßíáé óôåíÜ óõíõöáóìÝíïé ìåôáîý
ôïõò, ôüóï þóôå óôçí åðïðôéêÞ ãåùìåôñßá ï «÷þñïò» íá èåùñåßôáé ôáõôü÷ñïíá
ùò óçìåéáêüò êáé ùò äéáíõóìáôéêüò ÷þñïò. 2 3 Åí ôïýôïéò, ôá óýíïëá
E3 êáé R3 åßíáé åí ãÝíåé îÝíá ìåôáîý ôïõò, üðùò ðñïêýðôåé Üìåóá áðü ôïí
áîéùìáôéêü ïñéóìü ôïõ óçìåéáêïý ÷þñïõ ðïõ áêïëïõèåß (âë. Ïñéóìü 1.1 óôï
ÊåöÜëáéï ÉÉÉ ôïõ âéâëßïõ [10] ôïõ êáèçãçôÞ Í.Ê. Óôåöáíßäç).
27
(á) Ïôáí äïèïýí ôõ÷üí p∈An êáé ôõ÷üí v∈V n , õðÜñ÷åé áêñéâþò Ýíá q∈An ,
Ýôóé þóôå (p, q)7→v.
(â) Áðü ôéò áíôéóôïé÷ßóåéò (p1 , p2 )7→v12 , (p2 , p3 )7→v23 Ýðåôáé üôé (p1 , p3 )7→
v12 + v23 .
Êáßôïé ëïéðüí åßíáé öáíåñü üôé ïé óçìåéáêïß ÷þñïé äéáöÝñïõí áðü ôïõò äéá-
íõóìáôéêïýò, ôá äýï èåùñÞìáôá ðïõ áêïëïõèïýí (âë. ÈåùñÞìáôá 1.1 êáé 1.2
óôï ÊåöÜëáéï ÉÉÉ ôïõ [10]) åðéâåâáéþíïõí ôçí óôåíÞ ôïõò óõíÜöåéá.
~ = Op
• Õðïëïãßæïõìå ôï äéÜíõóìá Or ~ + Oq
~ êáé, ôÝëïò,
4
Íá åîåôÜóåôå åÜí ï äéáíõóìáôéêüò ÷þñïò V n ìðïñåß íá èåùñçèåß ùò ïìïðáñáëëçëéêüò
óçìåéáêüò ÷þñïò ïñßæïíôáò: (v1 , v2 )7→v1 + v2 .
28
~ .
• Õðïëïãßæïõìå ôï ìïíáäéêü óçìåßï r Ýôóé þóôå (O, r)7→Or
v =q−p ⇐ ~ + ((−1)Op).
v = Oq ~ (3.1)
q=p+v ⇐ ~ = Op
Oq ~ + v, (3.2)
29
Ó÷Þìá 3.1: Áèñïéóìá óçìåßùí ùò ðñïò äýï äéáöïñåôéêÜ ïìïðáñáëëçëéêÜ
óõóôÞìáôá óõíôåôáãìÝíùí.
p = O óôçí (3.2) êáé áíáëýóïõìå ôï, ìïíáäéêü óýìöùíá ìå ôïí Ïñéóìü 3.1,
äéÜíõóìá v ùò ðñïò ôçí âÜóç ei , i = 1, 2, 3, êáôáëÞãïõìå óôçí áêüëïõèç
áíáðáñÜóôáóç ãéá êÜèå óçìåßï q óçìåéáêïý ÷þñïõ:
3
X
q=O+ xi e i . (3.3)
i=1
30
Ó÷Þìá 3.2: Ðïëëáðëáóéáóìüò óçìåßïõ ìå ôïí áñéèìü 2 ùò ðñïò äýï äéáöïñå-
ôéêÜ ïìïðáñáëëçëéêÜ óõóôÞìáôá óõíôåôáãìÝíùí.
combination), éóïäýíáìá:
X X
λ i pi , λi = 1, pi ∈ E3 . (3.4)
i i
Ôüôå éó÷ýåé:
P
Ôï Üèñïéóìá i λi (pi − p0 ) åßíáé êáëþò ïñéóìÝíï, ùò ãñáììéêüò óõíäõáóìüò
ôùí äéáíõóìÜôùí pi − p0 , êáé ïñßæåé öõóéêÜ Ýíá äéÜíõóìá, Ýóôù v. Óõíåðþò,
ôï ôåëåõôáßï ìÝëïò ôçò (3.5) åßíáé ôï Üèñïéóìá åíüò äéáíýóìáôïò, v, êáé åíüò
óçìåßïõ, p0 . ¥
31
×ñçóéìïðïéþíôáò ôçí ãåùìåôñéêÞ êáôáóêåõÞ óçìåßï+äéÜíõóìá7→óçìåßï, Ýôóé
üðùò áõôÞ ðåñéãñÜöåôáé óôçí äåýôåñç áðü ôéò éóüôçôåò (3.2), êáé ãéá äýï
äéáöïñåôéêÜ óõóôÞìáôá óõíôåôáãìÝíùí, åýêïëá êáôáëÞãïõìå óôï
Ìå âÜóç ôï Èåþñçìá 3.3 êáé ôï ËÞììá 3.1 ïäçãïýìåèá Üìåóá óôï áêüëïõèï
âáóéêü
λv = (0; vx , vy , vz )T , (3.6)
32
êáé
v + w = (0; vx + wx , vy + wy , vz + wz )T . (3.7)
êáé
p + q = (2; px + qx ; py + qy ; pz + qz )T . (3.9)
Ôï ãåãïíüò üôé ç óõíéóôþóá âÜñïõò óôéò ðñÜîåéò (3.8) êáé (3.9) éóïýôáé ìå 2,
óçìáßíåé üôé ôï áðïôÝëåóìá äåí åßíáé èÝóç êáé, óõíåðþò, ïé åí ëüãù ðñÜîåéò
äåí åßíáé êáôÜëëçëåò ãéá óçìåßá. Áíôßèåôá, åßíáé öáíåñü üôé ïé ïìïðáñáëëç-
ëéêïß óõíäõáóìïß óçìåßùí äåí Ý÷ïõí ðñüâëçìá, ð.÷.,
1 1 1 1 1
p + q = (1; (px + qx ); (py + qy ); (pz + qz ))T , (3.10)
2 2 2 2 2
üðïõ ôï áðïôÝëåóìá åßíáé èÝóç óçìåßï. Åðßóçò åýêïëá áíáäåéêíýåôáé ç íïìé-
ìüôçôá ðñÜîåùí üðùò: óçìåßï + äéÜíõóìá 7→ óçìåßï:
p + v = (1; px + vx ; py + vy ; pz + vz )T , (3.11)
p − q = (0; px − qx ; py − qy ; pz − qz )T . (3.12)
33
Ïñéóìüò 3.2. Ìåôáó÷çìáôéóìüò Φ åðß ïìïðáñáëëçëéêïý ÷þñïõ A èá ïíïìÜ-
æåôáé ïìïðáñáëëçëéêüò åÜí êáé ìüíïí åÜí éêáíïðïéåß ôéò áêüëïõèåò ôÝóóáñåò
ðñïûðïèÝóåéò:
(i) Φ : V→V,
(ii) Φ : P
A→A, P
(iii) Φ( k ck vk ) = k ck Φ(vk )), vk ∈V, ck ∈R,
(iv) Φ(p + V) = Φ(p) + Φ(v), p∈A, v∈V .
34
ÓõíäõÜæïíôáò ôéò (3.15) êáé (3.16) êáôáëÞãïõìå óôçí
v = Φ(Q) − Q, (3.20)
ôùí óçìåßùí ôïõ óçìåéáêïý ÷þñïõ A üôáí ôï ãñáììéêü ìÝñïò ôïõ Φ åêöõëëß-
æåôáé óôïí ôáõôïôéêü ôåëåóôÞ. Ç ðñüèåóç ÷ñÞóçò ôçò (3.19) åéò âÜñïò ôçò (3.17)
åîùèåß, äåäïìÝíïõ ôïõ ðñþôïõ üñïõ óôï äåîß ìÝëïò ôçò (3.19), óôçí áíÜãêç
åéóáãùãÞò ôçò Ýííïéáò ôïõ ðïëëáðëáóéáóìïý ìçôñþïõ ìå óçìåßï ùò åîÞò:
35
ïðüôå ïäçãïýìåèá óôçí áêüëïõèç åíáëëáêôéêÞ áíáðáñÜóôáóç åíüò ïìïðá-
ñáëëçëéêïý ìåôáó÷çìáôéóìïý:
Φ(p) = A·p + v. (3.22)
ÅÜí åðéëÝîïõìå Q = O, ç ïðïßá áðïôåëåß êáé ôçí óõíÞèç åðéëïãÞ óôçí ó÷åôéêÞ
âéâëéïãñáößá, ôüôå
A·p = A[px , py , pz ]T , (3.23)
üðïõ px , py êáé pz åßíáé ïé óõíéóôþóåò ôïõ p ùò ðñïò ôï ïìïðáñáëëçëéêü
óýóôçìá óõíôåôáãìÝíùí {O, e1 , e2 , e3 , } äçëáäÞ:
p = O + px e1 + py e2 + pz e3 . (3.24)
Óôçí ðåñßðôùóç áõôÞ óõíçèßæåôáé íá ãñÜöåôáé üôé ïé ïìïðáñáëëçëéêïß ìåôá-
ó÷çìáôéóìïß ÷áñáêôçñßæïíôáé ðëÞñùò áðü Ýíá ðßíáêá, A, êáé Ýíá äéÜíõóìá
ìåôáöïñÜò, v. Óôéò ðáñïýóåò Óçìåéþóåéò äåí õéïèåôïýìå áõôÞ ôçí ïðôéêÞ
áëëÜ ðáñáìÝíïõìå óôçí áíáðáñÜóôáóç (3.17), ç ïðïßá äåí ÷ñåéÜæåôáé ôçí åé-
óáãùãÞ ôçò Ýííïéáò ôïõ ðïëëáðëáóéáóìïý ìçôñþïõ ìå óçìåßï áëëÜ ïýôå êáé
ôçí åðéëïãÞ ôçò ôïðïèÝôçóçò ôïõ ÷áñáêôçñéóôéêïý óçìåßïõ Q óôçí áñ÷Þ O ôïõ
áöéíéêïý óõóôÞìáôïò óõíôåôáãìÝíùí.
Ôï õðüëïéðï ôçò ðáñïýóçò ðáñáãñÜöïõ áöéåñþíåôáé óôçí äéáôýðùóç êáé áðü-
äåéîç ðÝíôå èåùñçìÜôùí, ôá ïðïßá áíáäåéêíýïõí ôçí öýóç ôùí ïìïðáñáëëç-
ëéêþí ìåôáó÷çìáôéóìþí.
36
Èåþñçìá 3.7. Åóôù ïìïðáñáëëçëéêüò ìåôáó÷çìáôéóìüò Φ ïñéæüìåíïò áðü ôïí
ðßíáêá A êáé ôçí åéêüíá Φ(Q) ÷áñáêôçñéóôéêïý óçìåßïõ Q. ÅÜí detA6=0,
ôüôå ï Φ åßíáé ïìáëüò, äçëáäÞ äéáèÝôåé áíôßóôñïöï ðïõ åßíáé åðßóçò ïìïðá-
ñáëëçëéêüò.
áðü ôéò ïðïßåò ðñïêýðôïõí, ìå áöáßñåóç êáôÜ ìÝëç, ïé åîÞò äýï éóüôçôåò:
37
δp23 = x23 e1 + y23 e2 . (3.31)
Ìéá êáé ôá óçìåßá pi , i = 1, 2, 3, äåí åßíáé óõíåõèåéáêÜ, ôá äéáíýóìáôá δp12
êáé δp23 åßíáé ãñáììéêÜ áíåîÜñôçôá êáé óõíåðþò ç ïñßæïõóá:
¯ ¯
¯ x12 y12 ¯
¯
det ¯ ¯ 6=0. (3.32)
x23 y23 ¯
Ïìùò, ôï äéÜíõóìá Ae1 äåí åßíáé ðáñÜ ç ðñþôç óôÞëç ôïõ ðßíáêá A. Åíôåëþò
áíÜëïãá, âñßóêïõìå êáé ôá óôïé÷åßá ôçò äåýôåñçò óôÞëçò Ae2 ôïõ A. Åôóé
ðñïóäéïñßæåôáé, êáôÜ ìïíáäéêü ôñüðï, ï ðßíáêáò A, ïðüôå áðü ïðïéáóäÞðïôå
áðü ôéò ó÷Ýóåéò (3.28) ðñïóäéïñßæåôáé, åðßóçò êáôÜ ìïíáäéêü ôñüðï, êáé ç
åéêüíá Φ(Q) ôïõ ÷áñáêôçñéóôéêïý óçìåßïõ Q. ¥
38
Áðüäåéîç: Äß÷ùò ìåßùóç ôçò ãåíéêüôçôáò èá õðïèÝóïõìå üôé ôï óçìåßï b âñß-
óêåôáé åóùôåñéêü ôïõ åõèõãñÜììïõ ôìÞìáôïò ðïõ ïñßæïõí ôá óçìåßá a êáé c.
Óõíåðþò,
b − a = λ(c − a), 0< λ< 1, (3.37)
áöïý ôá äéáíýóìáôá b−a êáé c−a åßíáé ðáñÜëëçëá êáé ïìüññïðá ìå kc−ak >
kb − ak. Áðü ôçí (3.37) ðñïêýðôåé Üìåóá üôé
39
Èåþñçìá 3.10. Ïé ïìáëïß ïìïðáñáëëçëéêïß ìåôáó÷çìáôéóìïß äéáôçñïýí ôçí
óõíåõèåéáêüôçôá, ôçí óõíåðéðåäüôçôá êáé ôçí ðáñáëëçëßá.
Áðüäåéîç: ÊáôÜ ôçí áðüäåéîç ôçò äéáôÞñçóçò ôïõ ìåñéêïý ëüãïõ óõíåõèåéáêÞò
ôñéÜäïò ðñïÝêõøå Üìåóá üôé ïìïðáñáëëçëéêïß ìåôáó÷çìáôéóìïß äéáôçñïýí
ôçí óõíåõèåéáêüôçôá (âë. áðüäåéîç ôïõ ðñïçãïýìåíïõ ÈåùñÞìáôïò 3.9). Ôï
áðïôÝëåóìá áõôü åðÜãåé üôé äýï ôåìíüìåíåò åõèåßåò ðáñáìÝíïõí åõèåßåò êáé
äç ôåìíüìåíåò ìåôÜ ôçí åöáñìïãÞ åíüò ïìïðáñáëëçëéêïý ìåôáó÷çìáôéóìïý,
åîáóöáëßæïíôáò Ýôóé üôé ôï åðßðåäï, ðïõ ïñßæåé ôï áñ÷éêü æåýãïò åõèåéþí,
èá áðåéêïíéóèåß óå åðßðåäï. Óõíåðþò ïé ïìïðáñáëëçëéêïß ìåôáó÷çìáôéóìïß
äéáôçñïýí êáé ôçí óõíåðéðåäüôçôá.
Áò õðïèÝóïõìå ôþñá üôé äéáèÝôïõìå äýï åõèåßåò ²1 êáé ²2 , ïñéæüìåíåò áðü
ôéò äõÜäåò óçìåßùí {a, b} êáé {c, d}, áíôßóôïé÷á, ïé ïðïßåò åßíáé ðáñÜëëçëåò
ìåôáîý ôïõò. Óõíåðþò,
áðü ôçí äåýôåñç éóüôçôá ôçò ïðïßáò, ðñïêýðôåé üôé ïé åéêüíåò-åõèåßåò Φ(²1 )
êáé Φ(²2 ) äéáôçñïýí ôçí ðáñáëëçëßá. ¥
40
éóïìåôñéêüò. ÃåùìåôñéêÜ, êÜèå ïñèïãþíéïò ðßíáêáò ìðïñåß ãåíéêÜ íá åêöñá-
óèåß ùò ôï ãéíüìåíï ìéáò ðåñéóôñïöÞò êáé åíüò êáôïðôñéóìïý. Óôçí ðåñßðôùóç
ôïõ åðéðÝäïõ, ç ãåíéêÞ ìïñöÞ ôïõ ðßíáêá ðåñéóôñïöÞò Aπ êáé ôïõ ðßíáêá êá-
ôïðôñéóìïý Aκ Ý÷ïõí ùò åîÞò:
· ¸ · ¸
cos θ − sin θ cos θ sin θ
Aπ (θ) = , Aκ (θ) = . (3.43)
sin θ cos θ sin θ − cos θ
41
Ó÷Þìá 3.3: ÊåíôñéêÞ ÐñïâïëÞ, O: êÝíôñï ðñïâïëÞò, E : åðßðåäï ðñïâïëÞò.
42
ïñßæåôáé ç ôïìÞ ôïõ E ìå ôçí åõèåßá ðïõ ïñßæïõí ôá óçìåßá O êáé p. Áò õðïèÝ-
óïõìå, ðñïò äéåõêüëõíóç ôùí ðñÜîåùí êáé äß÷ùò ìåßùóç ôçò ãåíéêüôçôáò, üôé
ôï O óõìðßðôåé ìå ôçí áñ÷Þ ôïõ ÷ñçóéìïðïéïýìåíïõ óõóôÞìáôïò óõíôåôáãìÝ-
íùí êáé üôé ôï E åßíáé êÜèåôï åðß ôïí Üîïíá Ox, áðÝ÷åé äå áðü ôï óçìåßï O
4 4
áðüóôáóç d. Ôüôå, ç ãåùìåôñéêÞ ïìïéüôçôá ôùí ôñéãþíùí O p a, O p0 a0 êáé
4 4
O a b, O a0 b0 , åðÜãåé ôéò áêüëïõèåò éóüôçôåò:
z0 ||Oa0 || ||Ob0 || d dz
= = = ⇒ z0 = . (3.44)
z ||Oa|| ||Ob|| x x
Åñãáæüìåíïé åíôåëþò áíÜëïãá ãéá ôéò y -óõíéóôþóåò ôïõ áñ÷Ýôõðïõ p êáé ôçò
åéêüíáò ôïõ p0 , âñßóêïõìå:
dy
y0 = . (3.45)
x
TÝëïò, ãéá ôçí x-óõíéóôþóá ôïõ p0 ðñïöáíþò Ý÷ïõìå:
x0 = d (3.46)
H ñçôÞ åîÜñôçóç, ùò ðñïò x, y êáé z , ôïõ äåýôåñïõ ìÝëïõò ôùí (3.44) êáé (3.45),
åðÜãåé Üìåóá üôé ç êåíôñéêÞ ðñïâïëÞ äåí ðåñéëáìâÜíåôáé óôïõò ïìïðáñáë-
ëçëéêïýò ìåôáó÷çìáôéóìïýò. Ç áíÜãêç ëïéðüí ÷ñÞóçò êáé ñçôþí, ùò ðñïò
x, y, z , ìåôáó÷çìáôéóìþí, ïäÞãçóå óôçí åéóáãùãÞ ôùí ëåãüìåíùí ðñïâïëéêþí
(projective) ìåôáó÷çìáôéóìþí, ïé ïðïßïé ïñßæïíôáé ùò åîÞò óôïí ôñéóäéÜóôáôï
áöéíéêü ÷þñï A3 :
a11 x + a12 y + a13 z + a14
x0 = , (3.47)
a41 x + a42 y + a43 z + a44
a21 x + a22 y + a23 z + a24
y0 = , (3.48)
a41 x + a42 y + a43 z + a44
a31 x + a32 y + a33 z + a34
z0 = . (3.49)
a41 x + a42 y + a43 z + a44
43
áðü ôï êÝíôñï ðñïâïëÞò O ôüôå, åðåéäÞ ç ðïóüôçôá d−1 èá ìåéþíåôáé, ç êå-
íôñéêÞ ðñïâïëÞ åíüò áíôéêåéìÝíïõ èá ìåãåíèýíåôáé. ÔÝëïò, áí èÝëïõìå íá
ìåëåôÞóïõìå ôçí óõìðåñéöïñÜ ôçò êåíôñéêÞò ðñïâïëÞò êáèþò ôï óçìåßï O
áðïìáêñýíåôáé áðü ôï ðñïâïëéêü åðßðåäï E , èá ðñÝðåé íá ôïðïèåôÞóïõìå
ôï ôåëåõôáßï óôçí áñ÷Þ ôùí áîüíùí. Óôçí ðåñßðôùóç áõôÞ, ïé ó÷Ýóåéò (3.50)
ôñïðïðïéïýíôáé ùò åîÞò:
0 (d−1 x)d y z
x = −1 , y 0 = −1 , z 0 = −1 , (3.51)
d x+1 d x+1 d x+1
¼ôáí ëïéðüí ôï O áðïìáêñýíåôáé, ôï d−1 èá ìåéþíåôáé, ïðüôå óõìðåñáßíïõìå
üôé, óôï üñéï, ïé ó÷Ýóåéò (3.51) áðëïðïéïýíôáé ùò åîÞò:
x0 = d, y 0 → y, z 0 → z, (3.52)
44
Ó÷Þìá 3.4: ÄéáôÞñçóç ôïõ äéðëïý ëüãïõ óôçí ðåñßðôùóç ôçò åðßðåäçò êå-
íôñéêÞò ðñïâïëÞò.
4 4
üðïõ ìå | (·) | óõìâïëßæïõìå ôï åìâáäüí ôïõ ôñéãþíïõ (·). Óôçí óõíÝ÷åéá, ç
(3.54) ìðïñåß íá ãñáöåß äéáäï÷éêÜ ùò åîÞò:
1
2
||Oc|| ||Oa|| sin(ϕ1 + ϕ2 )
R(a, b, c, d) = 1 ·
2
||Oc|| ||Ob|| sin ϕ2
1
||Od|| ||Ob|| sin(ϕ2 + ϕ3 )
·1 2 ⇒
2
||Od|| ||Oa|| sin(ϕ1 + ϕ2 + ϕ3 )
sin(ϕ1 + ϕ2 ) sin(ϕ2 + ϕ3 )
R(a, b, c, d) = , (3.55)
sin ϕ2 sin(ϕ1 + ϕ2 + ϕ3 )
45
Èåþñçìá 3.12. Ç óýíèåóç äýï ðñïâïëéêþí ìåôáó÷çìáôéóìþí åßíáé åðßóçò ðñï-
âïëéêüò ìåôáó÷çìáôéóìüò.
Ãéá êÜèå óçìåßï (x, y) ôïõ åðéðÝäïõ åßíáé ðñïöáíþò Üìåóï íá åðéëåãïýí
ôñåéò ðñáãìáôéêïß áñéèìïß ðïõ óõíéóôïýí ïìïãåíåßò óõíôåôáãìÝíåò ôïõ, ð.÷.,
x, y, 1. Ôï áíôßóôñïöï äåí éó÷ýåé, åí ãÝíåé. Åôóé, åÜí äßäåôáé ìßá ôñéÜäá
46
ðñáãìáôéêþí áñéèìþí x1 , x2 , x3 ìå x3 = 0, åßíáé áäýíáôïí íá ðñïóäéïñéóèåß
óçìåßï ôïõ åðéðÝäïõ ãéá ôï ïðïßï ïé äåäïìÝíïé áñéèìïß óõíéóôïýí ôéò ïìïãå-
íåßò óõíôåôáãìÝíåò ôïõ. Ç áäõíáìßá áõôÞ êáèßóôáôáé éäéáßôåñá åíï÷ëçôéêÞ
üôáí ìåëåôïýìå ôïõò ðñïâïëéêïýò ìåôáó÷çìáôéóìïýò êáé, ðñïêåéìÝíïõ íá ôçí
Üñïõìå, åðåêôåßíïõìå ôï åðßðåäï åöïäéÜæïíôÜò ôï ìå äýï íÝá óôïé÷åßá: ôá åð'
Üðåéñïí óçìåßá êáé ôçí åð' Üðåéñïí åõèåßá. Óõíåðþò, óôï åîÞò èá èåùñïýìå
üôé ïðïéáäÞðïôå ôñéÜäá áñéèìþí x1 , x2 , x3 ìå x3 = 0, áíôéóôïé÷åß óå Ýíá åð'
Üðåéñïí óçìåßï. Ï ãåùìåôñéêüò ôüðïò ôùí óçìåßùí áõôþí áðïôåëåß ôçí åð'
Üðåéñïí åõèåßá.
a1 x1 + a2 x2 + a3 x3 = 0, (3.60)
a1 x1 + a2 x2 + a3 x3 = 0, (3.61)
b1 x1 + b2 x2 + b3 x3 = 0, (3.62)
47
üëá ôá åðßðåäá ðïõ äéÝñ÷ïíôáé áðü ôï êÝíôñï ôïõ áíôéóôïé÷ïýí óå ãñáì-
ìÝò ôïõ P 2 . Ôá åðßðåäá áõôÜ áíáðáñéóôþíôáé áðü åîéóþóåéò ôçò ìïñöÞò:
ax1 + bx2 + cx3 = 0. ÅÜí (a, b)6=(0, 0), ôüôå áõôÝò ìðïñïýí íá ãñáöïýí ùò
åîÞò: a(x1 /x3 ) + b(x2 /x3 ) + c = 0, ïðüôå áíáðáñéóôïýí ãñáììÝò óôï óçìåéáêü
åðßðåäï, åíþ üôáí (a, b) = (0, 0) ç åîßóùóç ôïõ åðéðÝäïõ åêöõëëßæåôáé óôçí
cx3 = 0, ç ïðïßá áíôéóôïé÷åß óôçí åð' Üðåéñïí åõèåßá ôïõ ðñïâïëéêïý åðéðÝäïõ
P 2.
Óôçí óõíÝ÷åéá ïñßæïõìå ôçí ïéêïãÝíåéá ôùí áíôéóôñÝøéìùí ãñáììéêþí ìåôá-
ó÷çìáôéóìþí óôï ðñïâïëéêü åðßðåäï P 2 . Ç ïéêïãÝíåéá áõôÞ áíáðáñßóôáôáé
áíáëõôéêÜ ùò åîÞò:
x0i = ai1 x1 + ai2 x2 + ai3 x3 , i = 1, 2, 3, (3.64)
üðïõ
A = {aij }3i,j=1 , det(A)6=0. (3.65)
Åöáñìïæüìåíïé óôï ìç åðåêôåôáìÝíï óçìåéáêü åðßðåäï E2 , ïé áíùôÝñù ìå-
ôáó÷çìáôéóìïß óõìðßðôïõí ìå ôïõò åðßðåäïõò ðñïâïëéêïýò ìåôáó÷çìáôéóìïýò,
ðïõ åéóÞ÷èçóáí óôçí ðñïçãïýìåíç ðáñÜãñáöï. ÐñÜãìáôé, óôï E2 , éó÷ýïõí ïé
áíéóüôçôåò:
x3 6=0, x03 6=0. (3.66)
Ïðüôå, äéáéñþíôáò êáôÜ ìÝëç ôéò äýï ðñþôåò áðü ôéò åîéóþóåéò (3.64) ìå ôçí
ôñßôç åî áõôþí, ëáìâÜíïíôáò õð' üøéí ôéò óõíèÞêåò (3.66) êáé ôéò ó÷Ýóåéò ïñé-
óìïý (3.57) ôùí ïìïãåíþí óõíôåôáãìÝíùí, ôåëéêþò ëáìâÜíïõìå ôï æåýãïò ôùí
åîéóþóåùí:
a11 x + a12 y + a13
x0 = , (3.67)
a31 x + a32 y + a33
a21 x + a22 y + a23
y0 = , (3.68)
a31 x + a32 y + a33
ôï ïðïßï ðñÜãìáôé ðáñÝ÷åé ôçí ãåíéêÞ áíáðáñÜóôáóç ôùí ðñïâïëéêþí ìåôá-
ó÷çìáôéóìþí óôï ìç åðåêôåôáìÝíï åðßðåäï E2 . Ãéá ôïí ôñéóäéÜóôáôï óçìåéáêü
÷þñï E3 , ïé ïìïãåíåßò óõíôåôáãìÝíåò x1 , x2 , x3 êáé x4 åíüò óçìåßïõ ìå êáñôå-
óéáíÝò óõíôåôáãìÝíåò x, y êáé z, ðñÝðåé íá éêáíïðïéïýí ôéò ó÷Ýóåéò:
x1 x2 x3
x= , y= , y= . (3.69)
x4 x4 x4
Êáô' áíáëïãßá ìå ôï óçìåéáêü åðßðåäï, ï ôñéóäéÜóôáôïò ÷þñïò E3 ìðïñåß íá
åðåêôáèåß åìðëïõôßæïíôÜò ôïí ìå åð' Üðåéñïí óôïé÷åßá: åð' Üðåéñïí óçìåßá,
48
åð' Üðåéñïí åõèåßåò êáé ôï åð' Üðåéñïí åðßðåäï. Ãéá ôïí Ýôóé åðåêôåôáìÝíï
ôñéóäéÜóôáôï óçìåéáêü ÷þñï, ï ïðïßïò áíáöÝñåôáé óôçí âéâëéïãñáößá êáé ùò
o ðñïâïëéêüò ÷þñïò P 3 , åßíáé åýêïëï íá äåé÷èïýí ôá áêüëïõèá:
a1 x1 + a2 x2 + a3 x3 + a4 x4 = 0, (3.70)
a1 x1 + a2 x2 + a3 x3 + a4 x4 = 0, (3.71)
b1 x1 + b2 x2 + b3 x3 + b4 x4 = 0, (3.72)
ïñßæåé ìßá åõèåßá ãñáììÞ, ç ïðïßá åßíáé åð' Üðåéñïí ãñáììÞ åÜí a1 /b1 =
a2 /b2 = a3 /b3 .
ìå
A = {aij }4i,j=1 , det(A)6=0. (3.74)
49
50
ÊåöÜëáéï 4
Åíáëëáêôéêïß Ôñüðïé
ÁíáðáñÜóôáóçò Êáìðýëùí Ìïñöþí
4.1 ÃåíéêÜ
Áò õðïèÝóïõìå üôé èÝëïõìå íá áíáðáñáóôÞóïõìå ìáèçìáôéêÜ êáé óôçí óõíÝ-
÷åéá óôïí õðïëïãéóôÞ ìßá êáìðýëç ìïñöÞ S (êáìðýëç Þ åðéöÜíåéá), ç ïðïßá
åìðåñéÝ÷åôáé óå Ýíáí ÷þñï Q äéÜóôáóçò ìåãáëýôåñçò áðü ôçí äéÜóôáóç ôçò
S . Ï ÷þñïò áõôüò èá ïíïìÜæåôáé óôï åîÞò ÷þñïò áíôéêåéìÝíùí (object space).
¸óôù s êáé q ïé äéáóôÜóåéò ôùí S êáé Q, áíôßóôïé÷á, ïé ïðïßåò, ðñïöáíþò,
éêáíïðïéïýí ôçí áíéóüôçôá s< q .
ÕðÜñ÷ïõí äýï âáóéêÜ ìïíôÝëá áíáðáñÜóôáóçò ôçò ìïñöÞò S õðü ôçí
ìïñöÞ óõóôÞìáôïò åîéóþóåùí: ôï ëåãüìåíï ðáñáìåôñéêü (parametric) êáé ôï
ëåãüìåíï ðåðëåãìÝíï (implicit) ìïíôÝëï. Ôï ðñþôï ìïíôÝëï ÷áñáêôçñßæåôáé
áðü ôï ãåãïíüò üôé ç ìïíôåëïðïéïýóá óõíÜñôçóç áðåéêïíßæåé êÜðïéï âïçèç-
ôéêü ÷þñï P óôïí Q, åíþ óôçí äåýôåñç ðåñßðôùóç ç ìïíôåëïðïéïýóá óõíÜñ-
ôçóç Ý÷åé ðåäßï ïñéóìïý ôïí Q êáé ðáßñíåé ôéìÝò óå êÜðïéï êáôÜëëçëï âïçèç-
ôéêü ÷þñï R.
Ðéï óõãêåêñéìÝíá, óôá ðáñáìåôñéêÜ ìïíôÝëá, ç ìïñöÞ S ïñßæåôáé ùò ôï
ðåäßï ôéìþí F (P) ìéáò äéáíõóìáôéêÞò óõíÜñôçóçò F : P → Q, üðïõ P åßíáé
Ýíáò s-äéÜóôáôïò ÷þñïò, ï ïðïßïò ïíïìÜæåôáé ðáñáìåôñéêüò ÷þñïò (paramet-
ric space). ¸ôóé, ìßá óõíÜñôçóç ðïõ ìïíôåëïðïéåß Ýíá ðáñáìåôñéêü ìïíôÝëï
äÝ÷åôáé, ùò äåäïìÝíá, óçìåßá ôïõ ðáñáìåôñéêïý ÷þñïõ, äçëáäÞ ôéìÝò ãéá ôéò
s ðáñáìÝôñïõò, êáé ðáñÝ÷åé, ùò åîáãüìåíá, óçìåßá åðß ôçò ìïñöÞò S .
51
Óå Ýíá ðåðëåãìÝíï ìïíôÝëï, ç ìïñöÞ S áíáðáñßóôáôáé óõíÞèùò ùò åîÞò:
x2 y2 z2
2
+ 2
+ 2
= 1, (4.3)
52
åðéäÝ÷åôáé ôçí ðåðëåãìÝíç áíáðáñÜóôáóç:
x2 y2 z2
F (x, y, z) = 0, F (x, y, z) = 2
+ 2
+ 2
− 1, (4.4)
êáßôïé åßíáé ìßá öïñÜ óõíå÷þò ðáñáãùãßóéìç ùò ðñïò t ∈ [0, 2], äåí áíáðá-
ñéóôÜ ìéá ëåßá êáìðýëç áöïý: üôáí t ∈ [0, 1] ôüôå ôï óçìåßï q(t) åõñßóêåôáé
ðÜíù óôïí Üîïíá y = 0, êéíïýìåíï áðü x = 1(t = 0) Ýùò x = 0(t = 1), åíþ
53
y
x
0 1
x(t) y(t)
1 1
t t
0 1 2 0 1 2
üôáí t ∈ [1, 2], ôüôå ôï óçìåßï q(t) åõñßóêåôáé óôïí êáôáêüñõöï Üîïíá x = 0,
êéíïýìåíï áðü y = 0(t = 1) Ýùò êáé y = 1(t = 2). ÄçëáäÞ ç ðáñáìåôñéêÞ êá-
ìðýëç (4.6) áíáðáñéóôÜ ãåùìåôñéêÜ ìßá ãùíßá (âëÝðå Ó÷Þìá 4.1). ÅðéðëÝïí,
óôï ãùíéáêü óçìåßï q(1), ç ðñþôç ðáñáìåôñéêÞ ðáñÜãùãïò q̇(t) = dq(t) dt
ôçò
q(t) ìçäåíßæåôáé. Öáßíåôáé ëïéðüí üôé õðÜñ÷åé êÜðïéá óõó÷Ýôéóç ìåôáîý ôùí
óçìåßùí ìçäåíéóìïý ôçò q̇(t) êáé ôõ÷üí ãåùìåôñéêþí áíùìáëéþí ôçò êáìðýëçò,
ðïõ áíáðáñéóôÜ ç äéáíõóìáôéêÞ óõíÜñôçóç q(t). Ç óõó÷Ýôéóç áõôÞ ðñÜãìáôé
õðÜñ÷åé êáé ðåñéãñÜöåôáé áíáëõôéêÜ ùò åîÞò:
54
Èåþñçìá 4.1. ¸óôù γ ìßá êáíïíéêÞ êáìðýëç êáé q(t) = (q1 (t), q2 (t), q3 (t))T
ìßá êáíïíéêÞ ðáñáìåôñïðïßçóç áõôÞò óôçí ãåéôïíéÜ ôïõ óçìåßïõ (xo , yo , zo )T ,
ôï ïðïßï áíôéóôïé÷åß óôçí ðáñáìåôñéêÞ ôéìÞ t = to . Ôüôå, ìéá ôïõëÜ÷éóôïí áðü
ôéò ôñåéò ðáñáãþãïõò q̇i (to ), i = 1, 2, 3, èá åßíáé äéáöïñåôéêÞ ôïõ ìçäåíüò, ð.÷.,
q̇1 (to ) 6= 0, ïðüôå óå ìßá åðáñêþò ìéêñÞ ãåéôïíéÜ ôïõ (xo , yo , zo )T ç êáìðýëç γ
ìðïñåß íá áíáðáñáóôáèåß ùò åîÞò:
ÅÜí ëïéðüí ìßá ðáñáìåôñïðïßçóç äåí åßíáé êáíïíéêÞ, ôüôå áõôü áðïôåëåß Ýí-
äåéîç áëëÜ ü÷é êáé áðüäåéîç ãéá ôçí ýðáñîç éäéïìïñöéþí óôï ãåùìåôñéêü áíôé-
êåßìåíï ðïõ ðåñéãñÜöåé ç ðáñáìåôñéêÞ áíáðáñÜóôáóç. Ð.÷., ç äéáíõóìáôéêÞ
óõíÜñôçóç:
q(t) = (t3 , t3 )T , t ∈ (−∞, ∞), (4.10)
äåí åßíáé êáíïíéêÞ áöïý ||q̇(0)|| = 0. ¼ìùò, áí êÜíïõìå ôçí áíáðáñáìåôñï-
ðïßçóç:
t = τ 1/3 , τ ∈ (−∞, ∞), (4.11)
ôüôå ç ßäéá êáìðýëç èá ðåñéãñÜöåôáé áðü ôçí äéáíõóìáôéêÞ óõíÜñôçóç:
55
2
1.5
0.5
0
0 0.2 0.4 0.6 0.8 1
-0.5
-1
(t^2,t^2)
(t^2, t^3)
(t^2, t^4+t^5)
p = (x(to ), y(to ))T , åÜí ç ðñþôç ìç ìçäåíéæüìåíç ðáñÜãùãïò ôùí x(t), y(t)
óôï óçìåßï t = to åßíáé ðåñéôôÞò ôÜîçò. ¢ëëùò ôï óçìåßï po åßíáé éäéüìïñöï
óçìåßï. Ôá éäéüìïñöá óçìåßá ìéáò åðßðåäçò áíáëõôéêÞò êáìðýëçò ìðïñåß íá
êáôçãïñéïðïéçèïýí ùò åîÞò: áêìÝò (cusps) ðñþôïõ ôýðïõ êáé áêìÝò äåýôåñïõ
ôýðïõ (âëÝðå Ó÷Þìá 4.2).
56
ÊåöÜëáéï 5
Èåþñçìá 5.1. Ìéá ëåßá êáìðýëç γ ∈ E3 Ý÷åé ìßá êáé ìïíáäéêÞ åöáðôïìÝíç óå
êÜèå óçìåßï ôçò. ÅÜí r = r(t) åßíáé ðáñáìåôñéêÞ áíáðáñÜóôáóç ôçò γ , ôüôå ç
åöáðôïìÝíç ôçò γ óôï óçìåßï p åßíáé ðáñÜëëçëç ìå ôï äéÜíõóìá ṙ(t).
Ïñéóìüò 5.2. ¸óôù γ ∈ E3 êáìðýëç, p óçìåßï åð' áõôÞò êáé Ð åðßðåäï äéåñ-
÷üìåíï áðü ôï óçìåßï p. ËáìâÜíïõìå óçìåßï q åðß ôçò γ êáé ðëçóßïí ôïõ p
êáé óõìâïëßæïõìå ìå d êáé δ ôéò áðïóôÜóåéò ôïõ q áðü ôá p êáé Ð, áíôßóôïé÷á.
Ôï åðßðåäï Ð èá ïíïìÜæåôáé åããýôáôï åðßðåäï ôçò γ óôï p áí êáé ìüíï áí
δ/d2 → 0 êáèþò q → p.
57
Èåþñçìá 5.2. Ìßá ëåßá êáìðýëç γ ∈ E3 äéáèÝôåé åããýôáôï åðßðåäï óå êÜèå
óçìåßï ôçò, ôï ïðïßï ìðïñåß íá åßíáé ìïíáäéêü Þ ïðïéïäÞðïôå åðßðåäï ðïõ
ðåñéÝ÷åé ôçí åöáðôïìÝíç. ÅÜí r = r(t) åßíáé ðáñáìåôñéêÞ áíáðáñÜóôáóç ôçò
γ êáé r(t) åßíáé äýï öïñÝò óõíå÷þò ðáñáãùãßóéìç äéáíõóìáôéêÞ óõíÜñôçóç,
ôüôå ôï åããýôáôï åðßðåäï åßíáé ðáñÜëëçëï ðñïò ôá äéáíýóìáôá ṙ(t) êáé r̈(t).
5.1.3 ÖõóéêÞ Ðáñáìåôñïðïßçóç Êáìðýëçò
¸óôù γ ∈ E3 êáíïíéêÞ êáìðýëç, ç ïðïßá åðéäÝ÷åôáé ôçí êáíïíéêÞ ðáñáìå-
ôñïðïßçóç r = r(t). Ç óõíÜñôçóç:
Z t
s(t) = ||ṙ(t)||dt, t ∈ [a, b], (5.1)
a
ìåôñÜ ôï ìÞêïò ôçò êáìðýëçò áðü ôï óçìåßï r(a) óôï óçìåßï r(t). Ç óõíÜñôçóç
áõôÞ åßíáé ãíçóßùò áýîïõóá, áöïý ||ṙ(t)|| > 0 ãéá êáíïíéêÝò êáìðýëåò, êáé
óõíåðþò õðÜñ÷åé ç áíôßóôñïöç óõíÜñôçóç:
t = ρ(s), s ∈ [0, s(b)]. (5.2)
Ç áíáðáñáìåôñïðïßçóç ôçò r(t) ìÝóù ôçò (5.2):
r̃(s) = r(ρ(s)), s ∈ [0, s(b)], (5.3)
ïíïìÜæåôáé öõóéêÞ ðáñáìåôñïðïßçóç êáé Ý÷åé óáí âáóéêü ÷áñáêôçñéóôéêü üôé
ôï åöáðôïìåíéêü äéÜíõóìá ôçò r̃(s) Ý÷åé ìïíáäéáßï ìÞêïò, Þôïé:
||r̃0 (s)|| = 1, (·)0 = d(·)/ds. (5.4)
58
Ó÷Þìá 5.1: Êáìðõëüôçôá êáìðýëçò.
Èåþñçìá 5.3. ¼ôáí ç êáìðýëç γ áíáðáñßóôáôáé ìÝóù ôçò öõóéêÞò ôçò ðáñá-
ìåôñïðïßçóçò r = r(s), ç êáìðõëüôçôá ðáßñíåé ôçí áêüëïõèç ìïñöÞ: κ(s) =
||r00 (s)||.
Áðüäåéîç: Áöïý s åßíáé ç öõóéêÞ ðáñÜìåôñïò ôçò êáìðýëçò, ôüôå ||r0 (s)|| = 1,
ó÷Ýóç ç ïðïßá ìðïñåß íá ãñáöåß êáé ùò åîÞò: r0 (s)·r0 (s) = 1. Ðáñáãùãßæïíôáò
ôçí ó÷Ýóç áõôÞ ùò ðñïò s ðáßñíïõìå: r0 (s) · r00 (s) = 0, ôï ïðïßï óçìáßíåé üôé
ôá äéáíýóìáôá r0 (s) êáé r00 (s) åßíáé êÜèåôá ìåôáîý ôïõò. Åðß ôç âÜóåé ôùí
ðñïçãïýìåíùí ðáñáôçñÞóåùí, ç ó÷Ýóç (5.5) ìðïñåß íá áðëïðïéçèåß ùò åîÞò:
1 · ||r00 (s)|| · 1
= = ||r00 (s)||. (5.6)
13
¥
Óôçí ðåñßðôùóç ôùí äéäéÜóôáôùí êáìðõëþí, r(t) = (x(t), y(t))T ∈ E2 , ôá
äéáíýóìáôá ṙ(t) êáé r̈(t) áíÞêïõí óôï åðßðåäï ôçò êáìðýëçò êáé, êáôÜ óõíÝ-
ðåéá, ôï äéÜíõóìá ṙ(t) ×r̈(t) èá Ý÷åé óôáèåñÞ äéåýèõíóç, Þôïé èá åßíáé êÜèåôï
óôï åðßðåäï ôçò êáìðýëçò. Ç öïñÜ ôïõ äéáíýóìáôïò áõôïý êáèïñßæåé ôçí
ôïðéêÞ êõñôüôçôá ôçò êáìðýëçò, ç ïðïßá ïñßæåôáé ìÝóù ôçò ôïðéêÞò öïñÜò ðå-
ñéóôñïöÞò ôïõ åöáðôïìåíéêïý äéáíýóìáôïò (âëÝðå Ó÷. 5.2). ¸ôóé ëïéðüí ãéá
59
.
r(t
2 )
k(t
2 )>0
.
r(t
1 )
k(t
1 )>0
ÿ(x)
κ(x) = . (5.9)
(1 + ẏ 2 (x))3/2
60
b
t
p
b
t
n
q
ôéìÞ ôçò óôñÝøçò ôçò êáìðýëçò γ óôï óçìåßï p åßíáé ôï üñéï ôïõ ëüãïõ ∆θ/|∆s|
êáèþò q → p (âëÝðå Ó÷. 5.3). Ôï ðñüóçìï ôçò óôñÝøçò êáèïñßæåôáé áðü ôçí
öïñÜ ðåñéóôñïöÞò (áðü ôçí äéêÜèåôï b ðñïò ôçí êýñéá êÜèåôï n Þ áíôéèÝôùò)
ôïõ åããýôáôïõ åðéðÝäïõ ðåñß ôï åöáðôïìåíéêü äéÜíõóìá t êáèþò q → p.
ÅÜí ç êáìðýëç γ åðéäÝ÷åôáé ìßá êáíïíéêÞ ðáñáìåôñïðïßçóç r = r(t) ç ïðïßá,
åðéðëÝïí, åßíáé ôñåéò öïñÝò ðáñáãùãßóéìç ùò ðñïò t, ôüôå ç óôñÝøç τ (t) ôçò
γ óôï óçìåßï r(t) ïñßæåôáé õðü ôçí ðñïûðüèåóç üôé ç êáìðõëüôçôá κ(t) óôï åí
ëüãù óçìåßï åßíáé ìç ìçäåíéêÞ. Ôüôå:
...
[ṙ(t), r̈(t), r(t)]
τ (t) = − , (5.10)
||ṙ(t) × r̈(t)||2
üðïõ ìå [a, b, c] óõìâïëßæïõìå ôï âáèìùôü ôñéðëü ãéíüìåíï a · (b × c) ôñéþí
äéáíõóìÜôùí.
Èåþñçìá 5.4. Ç óôñÝøç ìéáò åðßðåäçò êáìðýëçò éóïýôáé ìå ìçäÝí, ìå åîáßñåóç
ôá óçìåßá êáìðÞò (óçìåßá ìçäåíéóìïý ôçò êáìðõëüôçôáò).
61
© ª
= (x, y, z)T ∈ E 3 : x = f1 (u, v), y = f2 (u, v), z = f3 (u, v), (u, v) ∈ Ω ,
(5.11)
üðïõ Ω Ýíá óõìðáãÝò êáé áðëÜ óõíåêôéêü ÷ùñßï óôï åðßðåäï E êáé fi (u, v), i =
2
62
Ôï åóùôåñéêü ãéíüìåíï áìöïôÝñùí ôùí ìåëþí ôçò 5.16 ìå ôï êÜèåôï äéÜíõóìá
n äßíåé, áöïý fu · n = fv · n = 0, ôï áêüëïõèï áðïôÝëåóìá:
63
Óôçí óõíÝ÷åéá, áò õðïèÝóïõìå üôé ç êáìðýëç áíÞêåé óôçí ïéêïãÝíåéá ôùí
ôïìþí ôçò åðéöÜíåéáò ìå åðßðåäá êÜèåôá åðß ôïõ åöáðôïìåíéêïý åðéðÝäïõ ôçò
åðéöÜíåéáò óôï óçìåßï r(s) = f (u(s), v(s)). Ôüôå ç êáìðýëç åßíáé åðßðåäç
êáé óõíåðþò ç êõñßá êÜèåôïò áõôÞò v óõìðßðôåé ìå ôçí êÜèåôï n åðß ôçí
åðéöÜíåéá. Óôçí ðåñßðôùóç áõôÞ cos = ±1, ïðüôå ç ó÷Ýóç 5.21 ïäçãåß óôï
áêüëïõèï áðïôÝëåóìá/ïñéóìü:
64
ÊåöÜëáéï 6
Êáìðýëåò Bézier
Áíôéêáèéóôþíôáò ôéò ôñåéò ó÷Ýóåéò (6.1a) óôéò äýï ó÷Ýóåéò (6.1b) êáé áõôÝò ìå
ôçí óåéñÜ ôïõò óôçí (6.1c), ôåëéêÜ ðáßñíïõìå:
65
Êáèþò ëïéðüí ç ðáñÜìåôñïò t äéáôñÝ÷åé ôï äéÜóôçìá [0, 1], ç äéáíõóìáôéêÞ
óõíÜñôçóç b30 (t) äéáôñÝ÷åé ìßá êõâéêÞ êáìðýëç óôïí ÷þñï. Ç áíáðáñÜ-
óôáóç (6.2) ôçò êáìðýëçò áõôÞò åìöáíßæåé ïñéóìÝíåò åíäéáöÝñïõóåò éäéüôç-
ôåò, êõñßùò óå üôé áöïñÜ ôïí óõó÷åôéóìü ôçò ìïñöÞò ôçò êáìðýëçò b30 (t) ìå
ôçí ìïñöÞ ôïõ ðïëõãþíïõ, ðïõ ïñßæåôáé áðü ôá óçìåßá åëÝã÷ïõ êáé ôï ïðïßï
áíáöÝñåôáé óôçí âéâëéïãñáößá ùò ðïëýãùíï åëÝã÷ïõ (control polygon). Ïé êõ-
ñéüôåñåò áðü ôéò éäéüôçôåò áõôÝò ìðïñïýí íá óõíïøéóèïýí ùò åîÞò:
2. Ôá åöáðôïìåíéêÜ äéáíýóìáôá óôá Üêñá ôçò êáìðýëçò b30 (t) åßíáé ðáñÜë-
ëçëá êáé ïìüññïðá ìå ôá äéáíýóìáôá ∆b0 = b1 −b0 êáé ∆b2 = b3 −b2 ,
áíôßóôïé÷á.
µ ¶
3
3. Ïé óõíáñôÞóåéò Bi (t) =
2
(1 − t)3−i ti , i = 0, 1, 2, 3, áðïôåëïýí
i
âÜóç óôïí ÷þñï P3 ôùí ðïëõùíýìùí ôñßôïõ âáèìïý êáé, åðéðëÝïí, áíá-
ëýïõí ôçí ìïíÜäá (partition of unity property), äçëáäÞ:
3
X
B3i (t) = 1, t ∈ [0, 1]. (6.3)
i=0
66
Ìå áöåôçñßá ôéò ó÷Ýóåéò (6.1a)-(6.1c), ìðïñïýìå åýêïëá íá äéáôõðþóïõìå ôïí
ãåíéêü áëãüñéèìï de Casteljau ãéá n óçìåßá åëÝã÷ïõ b0 , b1 , ..., bn ùò åîÞò:
bri (t) = (1 − t)br−1
i (t) + tbr−1
i+1 (t), i = 0, ..., n − r, r = 1, ..., n, (6.4)
ìå b0i (t) := bi , i = 0, 1, ..., n. Ï áëãüñéèìïò áõôüò ìðïñåß íá áíáðáñáóôá-
èåß ãñáöéêÜ ìÝóù ôïõ ëåãüìåíïõ ôñéãþíïõ áíáäñïìÞò (recurrence triangle), âë.
Ó÷Þìá ... ¼ðùò èá äåé÷èåß óôçí óõíÝ÷åéá, ç êïñõöÞ bn0 (t) ôïõ ôñéãþíïõ äéá-
ôñÝ÷åé, êáèþò t∈[0, 1], ìéá êáìðýëç n-ïóôïý âáèìïý, ðïõ áíáðáñßóôáôáé ùò
åîÞò:
X n µ ¶
n n n n
b0 (t) = bi Bi (t), Bi (t) = (1 − t)n−1 ti , t ∈ [0, 1]. (6.5)
i
i=0
Óõãêñßíïíôáò ôçí (6.6) ìå ôçí ðñïò áðüäåéîç (6.5), ðñïêýðôåé Üìåóá üôé ç
ðñþôç åßíáé ìéá ãåíéêüôåñç ó÷Ýóç ðïõ åîåéäéêåýåôáé óôçí äåýôåñç èÝôïíôáò
r = n. Èá áðïäåßîïõìå ëïéðüí óôçí óõíÝ÷åéá ôçí (6.6) åðáãùãéêÜ. Êáô' áñ÷Þí
ãéá r = 1, ç (6.6) ðáñÝ÷åé ôéò éóüôçôåò
1
X
b1i (t) = bi+j Bj1 (t) = bi (1 − t) + bi+1 t, i = 0, ..., n − 1, (6.7)
j=0
67
áðü ôéò ïðïßåò, üðùò áíáöÝñáìå ðáñáðÜíù, ç ôåëåõôáßá ðñïêýðôåé Üìåóá ðá-
ñáôçñþíôáò ôï ðñþôï åðßðåäï åíäéÜìåóùí óçìåßùí åëÝã÷ïõ óôï áíáäñïìéêü
ôñßãùíï ôïõ áëãïñßèìïõ de Casteljau. Óôçí óõíÝ÷åéá, êáé óýìöùíá ìå ôçí
ìÝèïäï ôçò åðáãùãÞò, èá áðïäåßîïõìå ôçí éó÷ý ôçò (6.6) ãéá r = q õðïèÝôï-
íôáò üôé åßíáé áëçèÞò ãéá r = q − 1. Áðü ôïí áëãüñéèìï de Casteljau êáé ôçí
åðáãùãéêÞ õðüèåóç ðáßñíïõìå ôéò áêüëïõèåò éóüôçôåò:
bqi (t) = (1 − t)biq−1 (t) + tbq−1
i+1 (t) =
q−1 q−1
X X
(1 − t) bi+j Bjq−1 (t) + t bi+1+j Bjq−1 (t) =
j=0 j=0
q−1 q
X X
(1 − t) bi+j Bjq−1 (t) +t q−1
bi+j Bj−1 (t),
j=0 j=1
68
üðïõ
∆bi = bi+1 − bi , i = 0, 1, ..., n − 1. (6.6b)
èÝôïíôáò t = 0 êáé t = 1 óôçí (6.6a) âñßóêïõìå:
dbn0 (0) dbn0 (1)
= n∆b0 = n∆bn−1 , (6.7)
dt dt
áíôßóôïé÷á, ó÷Ýóåéò ïé ïðïßåò åðáíáâåâáéþíïõí üôé ôá áêñáßá åöáðôï-
ìåíéêÜ ôçò êáìðýëçò Bézier bn0 (t) åßíáé ðáñÜëëçëá ðñïò ôá áêñáßá
óêÝëç ∆b0 êáé ∆bn−1 ôïõ ðïëõãþíïõ åëÝã÷ïõ áíôßóôïé÷á. ÔÝëïò, ï
ôýðïò (6.6a) ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôïí õðïëïãéóìü ðáñáãþãùí
êÜèå ôÜîçò. ¸ôóé, ð.÷.,
X n−2
d2 bn0 (t)
= n(n − 1) ∆2 bi Bin−2 (t), t ∈ [0, 1]. (6.8)
dt2 i=0
69
6.2 Ïìïðáñáëëçëéêïß ìåôáó÷çìáôéóìïß ðáñáìÝôñïõ
Óôçí áíáðáñÜóôáóç ôùí êáìðõëþí Bézier, ç ëåãüìåíç ôïðéêÞ ðáñÜìåôñïò
(local parameter) t ïñßæåôáé ðáñáäïóéáêÜ óôï äéÜóôçìá [0, 1], ðáñÜäïóç ôçí
ïðïßá õéïèåôÞóáìå êáé åìåßò ìÝ÷ñé ôþñá óôçí áíÜðôõîç ôïõ ðáñüíôïò êåöá-
ëáßïõ. Ôþñá, áò õðïèÝóïõìå ðùò ðñÝðåé íá áíáðáñáóôÞóïõìå ìéá êáìðýëç
Bézier bn0 (t) ùò ðñïò ðáñÜìåôñï u, ç ïðïßá äéáôñÝ÷åé ôï äéÜóôçìá [a, b], áíÜ-
ãêç ç ïðïßá ðñïêýðôåé óôçí ðñÜîç üôáí èÝëïõìå íá êáôáóêåõÜóïõìå ìéá
óýíèåôç êáìðýëç Bézier (âëÝðå § 6.3).
Ç ìåôÜâáóç áðü ôçí ôïðéêÞ ðáñÜìåôñï t ∈ [0, 1] óôçí ðáñÜìåôñï u, ç
ïðïßá áíáöÝñåôáé óõ÷íÜ óôçí âéâëéïãñáößá ùò ìç ôïðéêÞ (global) ðáñÜìåôñïò,
ìðïñåß íá ãßíåé Üìåóá ìÝóù ôïõ ïìïðáñáëëçëéêïý ìåôáó÷çìáôéóìïý:
u−a
t= , u ∈ [a, b]. (6.10)
b−a
¸ôóé, ç êáìðýëç Bézier bno (t) ìðïñåß íá ãñáöåß, ùò ðñïò ôçí ðáñÜìåôñï u,
ùò åîÞò:
µ ¶
n u−a
b0 := qn0 (u), u ∈ [a, b]. (6.11)
b−a
Ç éóüôçôá (6.11) áíáöÝñåôáé óôçí âéâëéïãñáößá êáé ùò ìç ìåôáâëçôüôçôá ôùí
êáìðõëþí Bézier ùò ðñïò ïìïðáñáëëçëéêïýò ìåôáó÷çìáôéóìïýò ôçò ðáñáìÝ-
ôñïõ. Ç éäéüôçôá áõôÞ ðáýåé íá éó÷ýåé ãéá ôéò ðáñáãþãïõò ôùí êáìðõëþí
Bézier. ÐñÜãìáôé:
dk qn0 (u) k n
−k d b0 (t)
= h , k = 1, 2, ... (6.13)
duk dtk
70
6.3 Óýíèåôåò êáìðýëåò Bézier
Ìéá óýíèåôç êáìðýëç Bézier bn0 (u), u ∈ [u0 , um+1 ], áðïôåëåßôáé áðü m +
1 áðëÝò êáìðýëåò Bézier bn0i (u), u ∈ [ui , ui+1 ], i = 0, 1, ..., m, ïé ïðïßåò
áíáðáñéóôþíôáé ùò åîÞò:
Xn µ ¶
n n u − ui
b0i (u) = bki Bk , hi = ui+1 − ui , i = 0, 1, ..., m. (6.14)
k=0
h i
71
Ó÷Þìá 6.1: C1 -óõíÝ÷åéá óôïí êüìâï u = ui+1 ìéáò óýíèåôçò êáìðýëçò Bezier.
n n
· (bni − bn−1,i ) = · (b1,i+1 − b0,i+1 ). (6.16)
hi hi+1
ÓõíäõÜæïíôáò ôþñá ôéò ó÷Ýóåéò (6.15) êáé (6.16), êáôáëÞãïõìå óôçí áêüëïõèç
ó÷Ýóç:
hi+1 hi
bni = bn−1,i + b1,i+1 . (6.17)
hi + hi+1 hi + hi+1
Ç áíùôÝñù ó÷Ýóç åðÜãåé üôé, üôáí Ý÷ïõìå C1 -óõíÝ÷åéá óôïí êüìâï u = ui+1 ,
ôüôå ïé êïñõöÝò åëÝã÷ïõ bn−1,i , bni , êáé b1,i+1 åßíáé óõíåõèåéáêÝò êáé, åðé-
ðëÝïí, ç ìåóáßá êïñõöÞ åëÝã÷ïõ bni åêöñÜæåôáé ùò êõñôüò óõíäõáóìüò ôùí
bn−1,i êáé b1,i+1 ìå âáñýôçôåò 1 − λ êáé λ = hi /(hi + hi+1 ) (âë. Ó÷. 6.1).
Éóïäýíáìá, ìðïñïýìå íá ðïýìå üôé ç ôñéÜäá bn−1,i , bni , êáé b1,i+1 åßíáé óõ-
íåõèåéáêÞ ìå ìåñéêü ëüãï (âë. Èåþñçìá 3.9) ßóï ìå hi /hi+1 .
72
6.3.3 G1 -óõíÝ÷åéá Þ ãåùìåôñéêÞ óõíÝ÷åéá ðñþôçò ôÜîçò óôï
êüìâï u = ui+1 .
Ç áðáßôçóç G1 -óõíÝ÷åéáò ìéáò óýíèåôçò êáìðýëçò Bézier óôïí êüìâï u = ui+1 ,
éóïäõíáìåß ìå ôçí óõíÝ÷åéá èÝóåùò êáé åðéðëÝïí ôçí áêüëïõèç áðáßôçóç: ôï
åî áñéóôåñþí åöáðôïìåíéêü äéÜíõóìá óôüí êüìâï u = ui+1 ðñÝðåé íá åßíáé
ðáñÜëëçëï êáé ïìüññïðï ìå ôï åê äåîéþí åöáðôïìåíéêü äéÜíõóìá óôïí åí
ëüãù êüìâï1 . ¢ñá, èá ðñÝðåé íá éó÷ýåé ç éóüôçôá:
dbn0i (ui+1 −) dbn0,i+1 (ui+1 +)
= â , (6.18)
du du
üðïõ â ïðïéïóäÞðïôå èåôéêüò áñéèìüò (ðñïöáíþò ãéá â = 1 ç G1 -óõíÝ÷åéá
åêöõëëßæåôáé óôçí C1 óõíÝ÷åéá). Åñãáæüìåíïé, üðùò êáé óôçí ðñïçãïýìåíç
ðåñßðôùóç, ç (6.18), óå óõíäõáóìü ìå ôçí (6.16), êáôáëÞãåé óôçí éóüôçôá:
hi
(bni − bn−1,i ) = â(b1,i+1 − bni ), (6.19a)
hi+1
ç ïðïßá ìðïñåß íá ãñáöåß êáé ùò åîÞò:
(bni − bn−1,i ) = a(b1,i+1 − bni ), (6.19b)
üðïõ a ïðïéïóäÞðïôå èåôéêüò áñéèìüò. Ç áíùôÝñù ó÷Ýóç åðÜãåé üôé, üôáí
Ý÷ïõìå G1 -óõíÝ÷åéá óôïí êüìâï u = ui+1 , ôüôå ïé êïñõöÝò åëÝã÷ïõ bn−1,i , bni
êáé b1,i+1 ðñÝðåé íá åßíáé óõíåõèåéáêÝò êáé ç bni íá âñßóêåôáé ìåôáîý ôùí
Üëëùí äýï. ¸ôóé, áí ìåôáêéíÞóïõìå ôçí êïñõöÞ åëÝã÷ïõ b1,i+1 áðü ôçí èÝóç
ðïõ êáôåß÷å óôï Ó÷Þìá 6.1 óôçí èÝóç b̃1,i+1 , ôüôå ç óýíèåôç êáìðýëç Bézier
ðáýåé íá åßíáé C1 -óõíå÷Þò óôçí ãåéôïíéÜ ôïõ êüìâïõ u = ui+1 áëëÜ ðáñáìÝíåé
G1 -óõíå÷Þò (âëÝðå Ó÷Þìá 6.2).
73
Ó÷Þìá 6.2: G1 -óõíÝ÷åéá óôïí êüìâï u = ui+1 ìéáò óýíèåôçò êáìðýëçò Bezier.
74
h2i+1 bn−1,i − hi hi+1 bn−1,i − 2h2i+1 bn−1,i + h2i+1 bn−2,i =
−hi hi+1 b1,i+1 + h2i b1,i+1 + h2i b2,i+1 − 2h2i b1,i+1 ⇐⇒
hi+1
−hi hi+1 [bn−1,i + (bn−2,i − bn−1,i )] =
hi
hi
hi hi+1 [b1,i+1 + (b1,i+1 − b2,i+1 )] ⇐⇒
hi+1
hi+1 hi
Di+1 ≡ bn−1,i + (bn−1,i − bn−2,i ) = b1,i+1 + (b1,i+1 − b2,i+1 ). (6.22)
hi hi+1
Ç ó÷Ýóç (6.22) ìðïñåß íá áíáãíùóèåß ùò åîÞò: ïé çìéåõèåßåò ðïõ åêêéíïýí áðü
ôá óçìåßá åëÝã÷ïõ bn−1,i êáé b1,i+1 ìå êáôåýèõíóç ôá äéáíýóìáôá bn−1,i −
bn−2,i êáé b1,i+1 − b2,i+1 , áíôßóôïé÷á, Ý÷ïõí ôïìÞ óå óçìåßï, Ýóôù Di+1 . Ç
äéáðßóôùóç áõôÞ åðÜãåé üôé ç ðåíôÜäá ôùí óçìåßùí åëÝã÷ïõ {bn−2,i , bn−1,i ,
bni , b1,i+1 , b2,i+1 }, ðïõ åìðëÝêïíôáé óôçí äéáìüñöùóç ôçò C 2 -óõíÝ÷åéáò óôïí
êüìâï u = uu+1 , áíÞêïõí óôï ßäéï åðßðåäï êáé ôá áêñáßá áðü áõôÜ, bn−2,i
êáé b2,i+1 , âñßóêïíôáé óôï ßäéï áðü ôá äýï çìéåðßðåäá ðïõ ïñßæåé ç ìåóáßá óõ-
íåõèåéáêÞ ôñéÜäá {bn−1,i , bni , b1,i+1 }. ÔÝëïò, ç (6.22) ìáò äßíåé ôçí áêüëïõèç
ìåôñéêÞ ó÷Ýóç:
75
6.3.5 G2 -óõíÝ÷åéá Þ ãåùìåôñéêÞ óõíÝ÷åéá äåýôåñçò ôÜîçò óôïí
êüìâï u = ui+1 .
Ç G2 -óõíÝ÷åéá áðáéôåß, ðÝñáí ôçò G1 -óõíÝ÷åéáò, óõíÝ÷åéá ôçò äéêáèÝôïõ, äç-
ëáäÞ óõíÝ÷åéá ôïõ ôñéÝäñïõ Frénet, êáé óõíÝ÷åéá ôçò êáìðõëüôçôáò. Áíá-
êáëþíôáò üôé ç äéêÜèåôïò ìéáò ðáñáìåôñéêÞò êáìðýëçò åßíáé ðáñÜëëçëç êáé
ïìüññïðç ìå ôï åîùôåñéêü ãéíüìåíï ôçò ðñþôçò ìå ôçí äåýôåñç ðáñÜãùãï,
óõìðåñáßíïõìå üôé ç óõíÝ÷åéá ôçò äéêáèÝôïõ óôïí êüìâï u = ui+1 éóïäõíáìåß
ìå ôçí áðáßôçóç ôá äéáíýóìáôá:
¸ ¸
dbn0i d2 bn0i dbn0,i+1 d2 bn0,i+1
× × (6.24)
du du2 u=ui+1 − du du2 u=ui+1 +
n2 (n − 1) 1 2 n2 (n − 1) 1
= ∆ b n−1,i ×∆ b n−2,i = ∆ bn−1,i ×(∆1 bn−1,i −∆1 bn−2,i ) =⇒
h3i h3i
¸
dbn0i d2 bn0i n2 (n − 1) 1
=⇒ × = ∆ bn−2,i × ∆1 bn−1,i . (6.25)
du du2 u=ui+1 − h3i
Åñãáæüìåíïé áíÜëïãá ãéá ôï äåýôåñï åîùôåñéêü ãéíüìåíï ôçò (6.24) êáôáëÞ-
ãïõìå óôï óõìðÝñáóìá üôé ç óõíÝ÷åéá ôçò äéêáèÝôïõ óôïí êüìâï u = ui+1
éóïäõíáìåß ìå ôçí áðáßôçóç ôá äéáíýóìáôá:
76
b0,i+1 , b1,i+1 êáé b2,i+1 áíÞêïõí óôï áõôü åðßðåäï êáé, åðéðëÝïí, ïé êïñõöÝò
åëÝã÷ïõ bn−2,i êáé b2,i+1 íá áíÞêïõí óôï ßäéï çìéåðßðåäï ùò ðñïò ôçí åõèÝéá
ðïõ ïñßæåé ç óõíåõèåéáêÞ ôñéÜäá bn−1,i , bni = b0,i+1 êáé b1,i+1 .
ÔÝëïò, ç óõíÝ÷åéá ôçò êáìðõëüôçôáò óôïí êüìâï u = ui+1 ïäçãåß óôéò
áêüëïõèåò éóïäõíáìßåò:
κ(ui+1 −) = κ(ui+1 −) ⇐⇒
#
dbn d2 bn dbn d2 bn
|| du0i× du20i || || du
0,i+1
× du0,i+1 ||
=
2
⇐⇒
dbn dbn
|| du0i ||3 u=ui+1 −
0,i+1 3
|| du ||
u=u i+1 +
dbn
0i (1) d2 bn
0i (1)
dbn
0,i+1 (0) d2 bn
0,i+1 (0)
|| dt
× dt2
|| || dt
× dt2
||
dbn
= (0)n
⇐⇒
0i (1) db0,i+1
|| dt
||3 || dt
||3
||∆bn−2,i × ∆bn−1,i || ||∆b0,i+1 × ∆b1,i+1 ||
= . (6.27)
||∆bn−1,i ||3 ||∆b0,i+1 ||3
Óôçí óõíÝ÷åéá, ÷ñçóéìïðïéþíôáò ôçí óõíèÞêç (6.19a) ôçò G1 -óõíÝ÷åéáò óôïí
êüìâï u = ui+1 êáé ðáñáôçñþíôáò üôé ôï ìÝôñï ||a × b|| ôïõ åîùôåñéêïý
ãéíïìÝíïõ äýï äéáíõóìÜôùí éóïýôáé ìå ôï åìâáäüí ôïõ ôñéãþíïõ ðïõ ïñßæïõí
ôá a êáé b, ç óõíèÞêç (6.27) ìðïñåß éóïäýíáìá íá ãñáöåß ùò åîÞò:
E(bn−2,i , bn−1,i , bni ) hi 3
= (â ), (6.28)
E(bni , b1,i+1 , b2,i+1 ) hi+1
77
áðïôåëåß ôçí êáôÜ Ýíá âáèìü áíýøùóç ôçò bn0 (t), äßíïíôáé áðü ôçí ó÷Ýóç:
µ ¶
i i
ci = bi−1 + 1 − bi i = 0, 1, ..., n, n + 1 (6.30)
n+1 n+1
êáé êÜíïõìå óôï äåýôåñï Üèñïéóìá ôïõ ðñþôïõ ìÝëïõò ôçò (6.31) ôçí áëëáãÞ
ìåôáâëçôÞò: q = i + 1, ç ïðïßá äßíåé: q = 1 ãéá i = 0 êáé q = n + 1 ãéá i = n.
Ôüôå ç (6.31) ðáßñíåé ôçí áêüëïõèç ìïñöÞ:
n
X µ ¶ n+1
X µ ¶
n n+1−i i n
bi (1 − t) t + bq−1 (1 − t)(n+1)−q tq =
i q−1
i=0 q=1
n+1
X
= ci Bn+1
i (t), t ∈ [0, 1]. (6.33)
i=0
78
ËáìâÜíïíôáò õð'üøéí ôéò óõìâÜóåéò (6.32) ìðïñïýìå íá åðåêôåßíïõìå ôï ðåäßï
ôéìþí ôùí äåéêôþí óôï áñéóôåñÜ ìÝëïò ôçò (6.33) áðü i = 0, ..., n êáé q =
1, ..., n + 1, óå i = 0, ..., n + 1 êáé q = 0, ..., n + 1. ÅðéðëÝïí, èÝôïíôáò q = i,
÷Üñéí ïìïéïìïñößáò, ç (6.33) ãñÜöåôáé ùò åîÞò:
n+1
X µ ¶ n+1
X µ ¶
n (n+1)−i i n
bi (1 − t) t + bi−1 (1 − t)(n+1)−i ti =
i i−1
i=0 i=0
n+1
X µ ¶
n+1
= ci (1 − t)(n+1)−i ti ⇐⇒
i
i=0
n+1
X · µ ¶ µ ¶ µ ¶¸
(n+1)−i i n+1 n n
(1−t) t ci − bi−1 − bi = 0, t ∈ [0, 1] ⇐⇒
i i−1 i
i=0
µ ¶ µ ¶
n n
i−1 i
ci = bi−1 µ ¶ + bi µ ¶ , i = 0, 1, ..., n + 1 ⇐⇒
n+1 n+1
i i
µ ¶
i i
ci = bi−1 + bi 1 − i = 0, 1, ..., n + 1.
n+1 n+1
Èåþñçìá 6.2. Ôá åíäéÜìåóá óçìåßá åëÝã÷ïõ {bi0 (t̃), i = 0, ...n, } êáé {bin−i (t̃),
i = 0, ...n, }, ðïõ ðñïÝñ÷ïíôáé áðü
Pnôçí åöáñìïãÞ ôïõ áëãïñßèìïõ de Casteljau
åðß ôçò êáìðýëçò Bézier b0 (t) = i=0 bi Bi (t), t∈[0, 1] óôçí ðáñáìåôñéêÞ èÝóç
n n
t = t̃ åßíáé ôá óçìåßá åëÝã÷ïõ ôùí äýï áðëþí êáìðõëþí Bézier, ðïõ ðñïêýðôïõí
áðü ôçí õðïäéáßñåóç ôçò åí ëüãù êáìðýëçò óôçí ðáñáìåôñéêÞ èÝóç t = t̃.
79
6.6 Óçìåßá åëÝã÷ïõ óõíáñôçóéáêÞò êáìðýëçò Bézier
Èåþñçìá 6.3. ¸óôù êáìðýëç Bézier ðïõ ìðïñåß íá áíáðáñáóôáèåß óáí óõíÜñ-
ôçóç ùò ðñïò ôïí x Üîïíá ôïõ ÷ñçóéìïðïéïýìåíïõ êáñôåóéáíïý óõóôÞìáôïò
óõíôåôáãìÝíùí, äçëáäÞ bn0 (t) = (t, bn0y (t))T . Ôüôå ïé x-óõíéóôþóåò bix ôùí óç-
ìåßùí åëÝã÷ïõ ôçò bn0 (t) éóáðÝ÷ïõí êáôÜ 1/n.
n−1
X n−1
X
Bin−1 (t) =n ∆bix Bin−1 (t), t∈[0, 1], ⇐⇒
i=0 i=0
n−1
X
(1 − n∆bix )Bin−1 (t) = 0, t∈[0, 1], ⇐⇒
i=0
80
ÊåöÜëáéï 7
Êáìðýëåò B−splines
Ð.Ä. ÊáêëÞò, ÌÜñôéïò 2008
7.1 ÅéóáãùãÞ
Óôï ðñïçãïýìåíï êåöÜëáéï ( Êåö. 6) âáóéóèÞêáìå óå ìéá ðïëõùíõìéêÞ âÜóç,
ôçí âÜóç Âernstein, ãéá íá áíáðáñáóôÞóïõìå ðïëõùíõìéêÝò êáìðýëåò spline,
ôéò ëåãüìåíåò óýíèåôåò êáìðýëåò Bézier. Áíôßèåôá ç âÜóç B asic-spline Þ,
üðùò óõíçèßæåôáé íá áíáöÝñåôáé óôçí óõíáöÞ âéâëéïãñáößá, ç âÜóç B -spline,
ç ïðïßá êáé áðïôåëåß ôï áíôéêåßìåíï ìåëÝôçò ôïõ ðáñüíôïò êåöáëáßïõ, áðáñôß-
æåôáé áðü óõíáñôÞóåéò spline, ôéò ëåãüìåíåò óõíáñôÞóåéò B -spline. ÁõôÞ ç óôå-
íüôåñç óõíÜöåéá áíÜìåóá óôç äïìÞ ôçò âÜóçò êáé ôçí äïìÞ ôùí ðñïò áíáðáñÜ-
óôáóç êáìðõëþí, äçëáäÞ: âÜóç spline 7→ êáìðýëåò spline Ýíáíôé ôïõ éó÷ýïíôïò
óôéò êáìðýëåò Bézier: ðïëõùíõìéêÞ âÜóç 7→ êáìðýëåò spline, åðéôñÝðåé ôçí êá-
ôáóêåõÞ åíüò åõÝëéêôïõ êáé ðïëõäýíáìïõ ó÷åäéáóôéêïý åñãáëåßïõ, ôï ïðïßï
åíþ äéáèÝôåé üëá ôá ðñïôåñÞìáôá ôùí êáìðõëþí Bézier åßíáé áðáëëáãìÝíï
áðü ôçí âáóéêÞ ôïõò áäõíáìßá, äçëáäÞ ôçí ìç-ôïðéêüôçôá (non-locality).
Èá îåêéíÞóïõìå ìå Ýíáí áíáäñïìéêü ïñéóìü ôùí óõíáñôÞóåùí B−spline k -
ôÜîåùò, ïé ïðïßåò óôï åîÞò èá óõìâïëßæïíôáé ìå Nik (t), t ∈ R, i = 0, ..., n.
¼ðùò èá öáíåß óôçí óõíÝ÷åéá, ï äåßêôçò n ó÷åôßæåôáé Üìåóá ìå ôçí äéÜóôáóç
ôïõ ÷þñïõ ôùí splines, óôïí ïðïßï óõíéóôÜ âÜóç ç ïéêïãÝíåéá {Nik (t)}ni=0 .
ÊÜèå ìÝëïò áõôÞò ôçò ïéêïãÝíåéáò áðïôåëåßôáé áðü ðïëõùíõìéêÜ ôìÞìáôá âáè-
ìïý k − 1 - Þ ôÜîçò k üðùò óõíçèßæåôáé åðßóçò íá áíáöÝñåôáé óôçí ó÷åôéêÞ
âéâëéïãñáößá - ôá ïðïßá óõíäÝïíôáé ìå ëåéüôçôá C k−2 óôçí ãåéôïíéÜ ôùí åóù-
ôåñéêþí êüìâùí ôïõ ëåãüìåíïõ êïìâïäéáíýóìáôïò (knot vector):
81
T = {to , t1 , ..., tn+k }, ti ≤ti+1 , i = 0, 1, ..., n + k − 1. (7.1)
t − ti ti+k − t
Nik (t) = Ni,k−1 (t) + Ni+1,k−1 (t) i = 0, 1, ..., n, k > 1,
ti+k−1 − ti ti+k − ti+1
(7.2)
ìå
½ ¾
1, t∈(ti , ti+1 ],
Ni1 (t) = (7.3)
0, t∈R\(ti , ti+1 ].
Ðáñáôçñïýìå üôé ïé ðñùôïôÜîéåò (ìçäåíéêïý âáèìïý) óõíáñôÞóåéò B−spline,
Ni1 (t), äéáèÝôïõí, åî ïñéóìïý, ìïíüðëåõñç åî áñéóôåñþí óõíÝ÷åéá óôçí ãåéôïíéÜ
ôùí êüìâùí ti êáé ti+1 . Ðñïöáíþò, ç åðéëïãÞ èá ìðïñïýóå íá åßíáé ïé Ni1 (t)
íá äéáèÝôïõí åê äåîéþí óõíÝ÷åéá óôçí ãåéôïíéÜ ôùí ti êáé ti+1 .
82
1. ÓõìðÜãéá öïñÝá: suppNik (t) = [ti , ti+k ].
2. Èåôéêüôçôá óôï åóùôåñéêü ôïõ öïñÝá: Nik (t) > 0 üôáí t ∈ (ti , ti+k ).
P
3. ÁíÜëõóç ìïíÜäáò: ni=1 Nik (t) = 1 üôáí t∈[tk−1 , tn+1 ].
5. ÂÜóç óôïí ÷þñï S k−1 ([tk−1 , tn+1 ]) : oé óõíáñôÞóåéò B -splines Nik (t),
i = 0, 1, ..., n, áðïôåëïýí âÜóç óôï ÷þñï ôùí ðïëõùíõìéêþí splines âáè-
ìïý k − 1 , ïé ïðïßåò ïñßæïíôáé óôï äéÜóôçìá [tk−1 , tn+1 ] êáé äéáèÝôïõí
óõíÝ÷åéá C k−2 óôïõò êüìâïõò ôïõ êïìâïäéáíýóìáôïò ïé ïðïßïé åìðåñéÝ-
÷ïíôáé óôï åóùôåñéêü ôïõ äéáóôÞìáôïò [tk−1 , tn+1 ].
Ç ôåëåõôáßá áðü ôéò ðáñáðÜíù éäéüôçôåò éó÷ýåé åöüóïí n+1 > k −1. Ð.÷., ãéá
ìéá ïéêïãÝíåéá ãñáììéêþí B−splines (k = 2) èá ðñÝðåé n≥1, äçëáäÞ ç ïéêïãÝ-
íåéá ðñÝðåé íá ðåñéëáìâÜíåé ôïõëÜ÷éóôïí äýï (min n + 1 = 2) ìÝëç. ÁíÜëïãá,
ìéá ïéêïãÝíåéá êõâéêþí B−splines (k = 4) èá ðñÝðåé íá ðåñéëáìâÜíåé ôïõëÜ-
÷éóôïí ôÝóóåñá ìÝëç (n≥3). Áðü ìéá Üëëç óêïðéÜ, ôï óýóôçìá {Nik (t)}ni=0
èá ðñÝðåé íá ðåñéëáìâÜíåé ôïõëÜ÷éóôïí k óôïé÷åßá, äéüôé óå êÜèå äéÜóôçìá
[ti , ti+1 ] ïöåßëåé íá åêöõëëßæåôáé óå âÜóç óôï ÷þñï ôùí ðïëõùíýìùí âáèìïý
k − 1, áðáßôçóç ç ïðïßá ïäçãåß êáé ðÜëé óôçí áíéóüôçôá n≥k − 1. ÔÝëïò, åÜí
õðïèÝóïõìå üôé ôï êïìâïäéÜíõóìá T áðïôåëåßôáé áðü áðëïýò êüìâïõò, äçëáäÞ
ti 6= tj üôáí i 6= j , ôüôå ï áñéèìüò ôùí ðïëõùíõìéêþí ôìçìÜôùí êÜèå spline
ðïõ áíÞêåé óôïí ÷þñï S k−1 ([tk−1 , tn+1 ]) éóïýôáé ìå n+1−(k−1) = n−k+2.
Óôç âéâëéïãñáößá áðáíôþíôáé åðßóçò êáé ïé ëåãüìåíåò ìç êáíïíéêïðïéçìÝíåò
(non normalized)óõíáñôÞóåéò B−spline Mik (t), üðïõ ìå ôïí ôåëåõôáßï áõôü üñï
åííïïýìå üôé ôá ìÝãéóôá ôùí åí ëüãù óõíáñôÞóåùí äåí Ý÷ïõí Üíù öñÜãìá ôçí
ìïíÜäá, óå áíôßèåóç ìå üôé óõìâáßíåé ìå ôéò êáíïíéêïðïéçìÝíåò Nik (t). ¼ìùò,
êáé ïé Mik (t) åðéäÝ÷ïíôáé áíáäñïìéêü ïñéóìü:
t − ti ti+k − t
Mik (t) = Mi,k−1 (t) + Mi+1,k−1 (t), i = 0, 1, ..., n, k > 1
ti+k − ti ti+k − ti
(7.6)
ìå
½ ¾
(ti+1 − ti )−1 , t∈(ti , ti+1 ],
Mi1 (t) = (7.7)
0, t∈R\(ti , ti+1 ],
83
êáé, üðùò åýêïëá ìðïñåß íá äåé÷èåß, óõíäÝïíôáé ìå ôéò êáíïíéêïðïéçìÝíåò
óýìöùíá ìå ôç ðáñáêÜôù ó÷Ýóç:
84
ÄåäïìÝíïõ üôé ï öïñÝáò ôçò N02 åßíáé äéÜóôçìá ìçäåíéêïý ìÝôñïõ, áöïý
supp{N02 } = [t0 , t2 ] = [0, 0], ï ðñþôïò üñïò óôï äåîß ìÝëïò ôçò (7.10) ðá-
ñáëåßðåôáé ùò ìç ïñéæüìåíïò, óýìâáóç ôçí ïðïßá õéïèåôïýìå áðü ôþñá êáé
óôï åîÞò. ¸ôóé ç (7.10) ãñÜöåôáé:
1−t
N03 (t) = N12 (t) = (1 − t)N12 (t). (7.11)
1−0
Åöáñìüæoíôáò îáíÜ ôïí áíáäñïìéêü ôýðï (7.2) ãéá ôçí óõíÜñôçóç âÜóçò
N12 (t), ðïõ åìöáíßæåôáé óôï äåîß ìÝëïò ôçò ðñïçãïýìåíçò ó÷Ýóçò âñßóêïõìå:
h t−t t3 − t i
1
N03 (t) = (1 − t) N11 (t) + N21 (t) , (7.12)
t2 − t1 t3 − t1
ç ïðïßá, äåäïìÝíïõ üôé supp{N11 (t)} = [t1 , t2 ] = [0, 0] êáé supp{N21 } = [0, 1],
áðëïðïéåßôáé ìÝóù ôçò ðñïáíáöåñèåßóáò óýìâáóçò ùò åîÞò:
N03 (t) = (1 − t)2 N21 (t). (7.13)
ÓõíäõÜæïíôáò ôþñá ôçí (7.13) ìå ôçí (7.3) êáôáëÞãïõìå óôçí áêüëïõèç ôåëéêÞ
Ýêöñáóç ãéá ôçí ½ ¾
(1 − t)2 , t∈(0, 1],
N03 (t) = (7.14)
0, t áëëïý.
Åñãáæüìåíïé áíÜëïãá ãéá ôéò õðüëïéðåò äýï óõíáñôÞóåéò ôçò ôåôñáãùíéêÞò
âÜóçò B−spline ðïõ êáôáóêåõÜæïõìå, êáôáëÞãïõìå óôéò áêüëïõèåò ó÷Ýóåéò:
½ ¾
2t(1 − t), t∈(0, 1],
N13 (t) = , (7.15)
0, t áëëïý,
êáé ½ ¾
t2 , t∈(0, 1],
N23 (t) = (7.16)
0, t áëëïý.
Ïé ó÷Ýóåéò (7.14), (7.15) êáé (7.16) ïäçãïýí óôçí ðáñáôÞñçóç üôé, ãéá ôï êïì-
âïäéÜíõóìá T = {t0 = t1 = t2 = 0, t3 = t4 = t5 = 1}, ç áíôéóôïé÷ïýóá
ôåôñáãùíéêÞ âÜóç B -spline åêöõëëßæåôáé óôçí ôåôñáãùíéêÞ âÜóç Bernstein.
Ôï óõìðÝñáóìá áõôü ìðïñåß íá ãåíéêåõèåß
Èåþñçìá 7.1. ¸óôù êïìâïäéÜíõóìá T = {0, ..., 0, 1, ..., 1} áðïôåëïýìåíï áðü
| {z } | {z }
k k
ôïõò êüìâïõò 0 êáé 1 ìå ðïëëáðëüôçôá k . Ôüôå ï ðåñéïñéóìüò óôï [0, 1] ôçò ïé-
êïãÝíåéáò ôùí áíôßóôïé÷ùí óõíáñôÞóåùí B−splines, {Nik (t), t∈[0, 1]}i=0,...,k−1 ,
óõìðßðôåé ìå ôç âÜóç Bernstein {Bik−1 (t), t∈[0, 1]}i=0,...,k−1 .
85
Áðü ìéá Üëëç óêïðéÜ, ïé ó÷Ýóåéò (7.14), (7.15) êáé (7.16) ìáò åðéôñÝðïõí íá ðá-
ñáôçñÞóïõìå üôé ïé ðïëëáðëïß êüìâïé ìåéþíïõí ôç ëåéüôçôá êáé ôçí Ýêôáóç ôïõ
öïñÝá ôùí óõíáñôÞóåùí B−splines. ¸ôóé, åíþ ïé óõíáñôÞóåéò Ni3 (t) áíáìÝ-
íåôáé, óýìöùíá ìå ôç âáóéêÞ éäéüôçôá 4 ôùí óõíáñôÞóåùí B−splines (âë. §7.1),
íá äéáèÝôïõí ëåéüôçôá C 1 åðß ôçò åõèåßáò R, ïé óõíáñôÞóåéò B−splines, ðïõ
ïñßæïõí ïé ðñïáíáöåñèåßóåò ó÷Ýóåéò, äåí åßíáé, åí ãÝíåé, ïýôå êáí óõíå÷åßò
óôç ãåéôïíéÜ ôùí êüìâùí t = 0 êáé t = 1. Ãåíéêüôåñá, ìðïñåß íá áðïäåé÷èåß
ôï áêüëïõèï áðïôÝëåóìá:
Èåþñçìá 7.2. ÅÜí ç óõíÜñôçóç Â-spline Nik (t) åìöáíßæåé ðïëëáðëüôçôá ôÜîåùò
r óôçí ðáñáìåôñéêÞ ôéìÞ t = tm ôüôå, óôç ãåéôïíéÜ ôïõ åí ëüãù êüìâïõ, ç
Nik (t) åìöáíßæåé óõíÝ÷åéá C k−r−1 . Eðßóçò, ï öïñÝáò ôçò Nik (t) ðåñéëáìâÜíåé
k − r + 1 ðáñáìåôñéêÜ äéáóôÞìáôá.
86
ðáñáôÞñçóç üôé, ðñïêåéìÝíïõ Ýíá óçìåßï de Boor di íá åðçñåÜæåé ôçí êá-
ìðýëç óôï äéÜóôçìá [tr , tr+1 ], èá ðñÝðåé ôï åí ëüãù äéÜóôçìá íá åìðåñéÝ÷åôáé
óôïí öïñÝá [ti , ti+k ] ôçò áíôßóôïé÷çò óõíÜñôçóçò âÜóçò Nik (t), Þôïé:
87
äéáèÝôåé, óýìöùíá ìå ôï Èåþñçìá 7.2 óôçí ãåéôïíéÜ ôïõ ðïëëáðëïý êüìâïõ t0
ðáñáãùãéóéìüôçôá C k−k−1 = C −1 , äçëáäÞ èá åìöáíßæåé áóõíÝ÷åéá èÝóçò. Ç
óõíÜñôçóç B−spline N1k (t) Ý÷åé öïñÝá ôï äéÜóôçìá [t1 , tk+1 ], ïðüôå ï áêñáßïò
êüìâïò t1 äéáèÝôåé ðïëëáðëüôçôá ôÜîçò k − 1 êáé óõíåðþò, áíáêáëþíôáò êáé
ðÜëé ôï Èåþñçìá 7.2, ç N1k (t) èá äéáèÝôåé óôçí ãåéôïíéÜ ôïõ åí ëüãù êüìâïõ
ðáñáãùãéóéìüôçôá C k−(k−1)−1 = C 0 , äçëáäÞ èá åìöáíßæåé óõíÝ÷åéá èÝóçò,
äçëáäÞ N1k (t1 ) = 0 = N1k (t0 ). Ìå áíÜëïãá åðé÷åéñÞìáôá ìðïñïýìå åýêïëá
íá óõìðåñÜíïõìå üôé ôï ðñïçãïýìåíï óõìðÝñáóìá éó÷ýåé ãéá ôçí áêñáßá ôéìÞ
êáé ôùí õðïëïßðùí B−splines Nik (t), i≥2, ôùí ïðïßùí âÝâáéá ç ëåéüôçôá óôçí
ãåéôïíéÜ ôïõ t = t0 âåëôéþíåôáé êáèþò ï äåßêôçò i áõîÜíåôáé. Óõíïøßæïíôáò,
ç áêñáßá ôéìÞ Nik (t0 ) åßíáé ìçäåíéêÞ ãéá üëåò ôéò ôéìÝò ôïõ äåßêôç i åêôüò áðü
ôçí áñ÷éêÞ, i = 0, ãéá ôçí ïðïßá ðñÝðåé íá ëáìâÜíåé ôçí ôéìÞ 1(= N0k (t0 )) ùò
áðïôÝëåóìá ôçò éäéüôçôáò ôçò áíÜëõóçò ìïíÜäáò êáé ãéá t = t0 . Óõíåðþò:
n
X
Q(t0 ) = di Nik (t0 ) = d0 N0k (t0 ) = d0 ,
i=1
88
áíáðáñßóôáôáé ùò åîÞò:
r
X
Qy (t) = diy Nik (t) = dry Nrk (t), t∈[tr , tr+1 ]. (7.19)
r−(k−1)
ËáìâÜíïíôáò õðüøç üôé supp{Nrk (t)} = [tr , tr+k ] êáé üôé, ãéá áðëïýò êüìâïõò,
Nrk (t)∈C k−2 (R), ç ðáñáðÜíù ó÷Ýóç ãéá t = tr êáé õðü ôçí ðñïûðüèåóç üôé
k≥2, äßíåé:
Qy (tr ) = 0,
áðïôÝëåóìá ðïõ åîáóöáëßæåé üôé ôï óçìåßï ôçò êáìðýëçò Q(tr ) èá âñßóêå-
ôáé ðÜíù óôçí åõèåßá ðïõ ïñßæåé ç ïìÜäá ôùí óõããñáììéêþí óçìåßùí. Åðé-
ðëÝïí, áí åöáñìüóïõìå ôçí éäéüôçôá ôçò ôïðéêÞò êõñôÞò èÞêçò ùò ðñïò ôçí
x−óõíéóôþóá ôçò Q(t) ãéá t∈[tr , tr+1 ], ôüôå ðñïêýðôåé üôé ôï óçìåßï Q(tr ) èá
åìðåñéÝ÷åôáé óôï óêÝëïò ôïõ ðïëõãþíïõ åëÝã÷ïõ ðïõ åíþíåé ôá k − 1 óõã-
ãñáììéêÜ óçìåßá de Boor. Åðßóçò, åöüóïí ôï ôìÞìá ôçò êáìðýëçò äåí ìðïñåß
íá åîÝëèåé ôçò ôïðéêÞò êõñôÞò èÞêçò, ðñïêýðôåé üôé, åÜí ôï êïéíü ôïõò óçìåßï
åßíáé êáíïíéêü óçìåßï (regular point) ôçò êáìðýëçò, ôüôå ç ôåëåõôáßá èá åöÜ-
ðôåôáé óôï åí ëüãù óçìåßï ìå ôï óêÝëïò ôïõ ðïëõãþíïõ åëÝã÷ïõ ðïõ, üðùò
Ý÷ïõìå Þäç áíáöÝñåé, áðïôåëåß ôìÞìá ôïõ óõíüñïõ ôçò ôïðéêÞò êõñôÞò èÞêçò.
ÐñÜãìáôé, áí áíáâáèìßóïõìå ôéò õðïèÝóåéò ðáñáãùãéóéìüôçôáò èÝôïíôáò k≥3
êáé ðáñáãùãßóïõìå ôçí (7.19) ùò ðñïò t, ôüôå ãéá t = tr âñßóêïõìå:
Q(tr+1 ) = d,
89
äçëáäÞ ç êáìðýëç B−spline Q(t) ðáñåìâÜëëåé ôçí êïéíÞ êïñõöÞ åëÝã÷ïõ d.
Ðáñáãùãßæïíôáò ôçí (7.21) ùò ðñïò t âñßóêïõìå:
äçëáäÞ ôï åöáðôïìåíéêü äéÜíõóìá ôçò êáìðýëçò óôï äéÜóôçìá [tr , tr+1 ] èá åß-
íáé ðáñÜëëçëï ðñïò ôï óêÝëïò ôïõ ðïëõãþíïõ åëÝã÷ïõ ðïõ óõíäÝåé ôçí êïñõöÞ
de Boor dr−(k−1) ìå ôçí êïéíÞ êïñõöÞ d.
Óõíïøßæïíôáò ìðïñïýìå ëïéðüí íá ðïýìå üôé, óôçí õðü åîÝôáóç ðåñßðôùóç, ï
ðåñéïñéóìüò ôçò Q(t) óôï õðïäéÜóôçìá [tr , tr+1 ] åêöõëëßæåôáé óå åõèýãñáììï
ôìÞìá ðïõ äéÝñ÷åôáé áðü ôçí êïéíÞ êïñõöÞ de Boor d = dr−(k−1)+1 = ... =
dr , êáé åßíáé ðáñÜëëçëï ìå ôï óêÝëïò ôïõ ðïëõãþíïõ åëÝã÷ïõ ðïõ óõíäÝåé
ôçí d ìå ôçí áìÝóùò ðñïçãïýìåíç dr−(k−1) . Ãéá ôï õðïäéÜóôçìá [tr+1 , tr+2 ]
ìðïñïýìå óå åõèåßá áíáëïãßá íá áðïäåßîïõìå ôá áíôßóôïé÷á óõìðåñÜóìáôá,
äçëáäÞ: ôï ðïëõùíõìéêü ôìÞìá t∈[tr+1 , tr+2 ] ôçò êáìðýëçò Q(t) åêöõëëßæåôáé
óå åõèýãñáììï ôìÞìá äéåñ÷üìåíï áðü ôçí êïéíÞ êïñõöÞ d êáé ðáñÜëëçëï
ðñïò ôï óêÝëïò dr+1 − dr ôïõ ðïëõãþíïõ åëÝã÷ïõ.
j =i+1⇔i=j−1: j = 1 ⇐ i = 0 και j = n + 1 ⇐ i = n,
90
ìå äåßêôç i äéÜöïñï ôùí {0, 1, 2, ..., n} ëáìâÜíåôáé ßóï ìå ôï ìçäåíéêü óçìåßï,
0, ãñÜöåôáé ùò áêïëïýèùò:
n
X X n+1
ti+k − t tj+k−1 − t
di Ni+1,k−1 (t) = dj−1 Nj,k−1 (t). (7.23)
i=0
ti+k − ti+1 j=0
tj−1+k − t j
Ìå âÜóç ôçí ðñïáíáöåñèåßóá óýìâáóç, ôï ðåäßï ôïõ äåßêôç óôï ðñþôï Üèñïé-
óìá óôï äåîß ìÝëïò ôçò (7.22) ìðïñåß íá åðåêôáèåß Ýùò êáé ôçí ôéìÞ i = n + 1.
Ç ðáñáôÞñçóç áõôÞ óå óõíäõáóìü ìå ôçí (7.23) ìáò åðéôñÝðåé íá ãñÜøïõìå
ôçí (7.22) ùò åîÞò:
n+1 µ
X ¶
t − ti ti+k−1 ti
Q(t) = di + di−1 Ni,k−1 (t),
i=0
ti+k−1 − ti ti+k−1 − ti
êáé ôåëéêÜ
n+1
X
Q(t) = d1i (t)Ni,k−1 (t), (7.24)
i=0
ìå
di−1 (ti+k−1 − t) + di (t − ti )
d1i (t) = . (7.25)
ti+k−1 − ti
Óõãêñßíïíôáò ôéò ó÷Ýóåéò (7.17) êáé (7.24) äéáðéóôþíïõìå üôé óôçí ôåëåõôáßá
Ý÷åé ëÜâåé ÷þñá áõôü ôï ïðïßï óôç âéâëéïãñáößá áíáöÝñåôáé ùò ìåôáöïñÜ
âáèìïý (degree transfer) áðü ôéò óõíáñôÞóåéò B−splines óôá óçìåßá de Boor.
ÅðéðëÝïí åßíáé áîéïóçìåßùôï üôé óôï äéÜóôçìá [ti , ti+k−1 ], óôï ïðïßï ôï ëåãü-
ìåíï åíäéÜìåóï óçìåßï de Boor ðñþôïõ åðéðÝäïõ d1i (t) åðçñåÜæåé ôçí êáìðýëç
Q(t), ôï åí ëüãù óçìåßï åêöñÜæåôáé ùò êõñôüò óõíäõáóìüò ôùí óçìåßùí de
Boor di−1 êáé di .
ÌåôÜ áðü j(≤k − 1) åðáíáëÞøåéò ôçò ðáñáðÜíù äéáäéêáóßáò, ç êáìðýëç
B−spline áðïêôÜ ôçí áêüëïõèç áíáðáñÜóôáóç:
n+j
X
Q(t) = dji (t)Ni,k−j (t), (7.26)
i=0
ìå
t − ti
dji (t) = (1−αij (t))di−1
j−1
+αij (t)dj−1
i (t), aji (t) = d0i := di . (7.27)
ti+k−j − ti
91
Óôï ôåëéêü åðßðåäï j = k − 1 ç (7.26) ëáìâÜíåé ôçí áêüëïõèç ìïñöÞ:
n+k+1
X
Q(t) = dk−1
i (t)Ni1 (t). (7.28)
i=0
ÅÜí t∈(tr , tr+1 ) ôüôå óôç äéáìüñöùóç ôçò êáìðýëçò Q(t) èá óõíåéóöÝñåé ìü-
íïí ç óõíÜñôçóç âÜóçò Nr1 (t) ãéá ôçí ïðïßá ãíùñßæïõìå, üôé suppNr1 (t) =
[tr , tr+1 ). ÊáôÜ óõíÝðåéá, ç (7.28) áðëïðïéåßôáé óôï õðïäéÜóôçìá [tr , tr+1 ) ùò
áêïëïýèùò:
Q(t) = dk−1r (t), t∈[tr , tr+1 ). (7.29)
Ãéá äåäïìÝíç ëïéðüí ôéìÞ ôçò ðáñáìÝôñïõ t, ç åðáíáëçðôéêÞ ãñáììéêÞ ðáñåì-
âïëÞ, ðïõ ðåñéãñÜöåôáé áðü ôçí ó÷Ýóç (7.27), áðïäßäåé óôï ôåëåõôáßï åðßðåäï
j = k−1 ôï óçìåßï ôçò êáìðýëçò ðïõ áíôéóôïé÷åß óôçí åðéëåãåßóá ðáñáìåôñéêÞ
ôéìÞ. Ï áëãüñéèìïò áõôüò, ãíùóôüò óôçí âéâëéïãñáößá êáé ùò áëãüñéèìïò de
Boor, áðü ôï üíïìá ôïõ ìáèçìáôéêïý ðïõ ôïí ðñüôåéíå, åßíáé ï áíôßóôïé÷ïò
ôïõ áëãïñßèìïõ de Casteljau ãéá êáìðýëåò B−splines.
ÅÜí ëÜâïõìå õðüøç üôé ï áëãüñéèìïò áõôüò åöáñìüæåôáé ðÜíôïôå ãéá óõ-
ãêåêñéìÝíç ôéìÞ ôçò ðáñáìÝôñïõ t, Üñá êáé ãéá óõãêåêñéìÝíï õðïäéÜóôçìá
[tr , tr+1 ], ðñïêýðôåé Üìåóá üôé óôï äåîß ìÝëïò ôçò (7.26) èá óõíåéóöÝñïõí ìü-
íïí åêåßíá áðü ôá åíäéÜìåóá óçìåßá de Boor dji ãéá ôá ïðïßá ôï äéÜóôçìá
[tr , tr+1 ] åìðåñéÝ÷åôáé óôïí öïñÝá ôçò óõíÜñôçóçò âÜóçò Ni,k−j (t). Ç ðáñáôÞ-
ñçóç áõôÞ ïäçãåß óôçí ðáñáêÜôù ôåëéêÞ äéáôýðùóç ôïõ áëãïñßèìïõ de Boor:
92
Ó÷Þìá 7.1: Áíáäñïìéêü ôñßãùíï de Boor
93
94
ÊåöÜëáéï 8
8.1 ÃåíéêÜ
H SDL (Surface Design Library of the Ship Design Laboratory) åßíáé ìßá óõë-
ëïãÞ äïìþí êáé óõíáñôÞóåùí, 1 ãñáììÝíùí óå ãëþóóá ðñïãñáììáôéóìïý
C, ðïõ ðñïóöÝñåôáé ãéá ôçí áíÜðôõîç åöáñìïãþí óôï CAGD (Computer
Aided Geometric Design) êáé åéäéêüôåñá óôï CAShipD (Computer Aided Ship
Design). Ç óõëëïãÞ áõôÞ åðéäéþêåé íá ïëïêëçñþóåé, óå Ýíá åíéáßï êáé äï-
ìçìÝíï óýíïëï, ôá åðß ìÝñïõò ëïãéóìéêÜ ðñïé̈üíôá, ðïõ áíáðôýóóïíôáé áðü ôá
ìÝëç ôçò ïìÜäáò CAGD/CAShipD ôïõ Åñãáóôçñßïõ-Óðïõäáóôçñßïõ ÌåëÝôçò
Ðëïßïõ (ÅÓÌÐ) êáé ôïõò óðïõäáóôÝò ðïõ åêðïíïýí ÄéðëùìáôéêÝò Åñãáóßåò
óôéò åí ëüãù åðéóôçìïíéêÝò ðåñéï÷Ýò.
Ç SDL áíáðôýóóåôáé óôá ðëáßóéá ôçò ÄéäáêôïñéêÞò ôïõ ÄéáôñéâÞò, õðü
ôçí åðßâëåøç ôùí ê.ê. Ð.Ä. ôïõ Ã.Ä. Êüñá (åðéâëÝðùí: Ð.Ä. ÊáêëÞò) êáé
óôïí áñ÷éêü ó÷åäéáóìü ôçò óõíåéóÝöåñå óçìáíôéêÜ ï Äñ. Í.Ó. Óáðßäçò, Åéäé-
êüò ÅðéóôÞìùí ÅÌÐ. Åùò ôþñá, Ý÷ïõí åíóùìáôùèåß óôçí SDL ïé áêüëïõèåò
ÄéðëùìáôéêÝò Åñãáóßåò:
95
ÌÜñôéïò 1997, ÅîåôáóôéêÞ ÅðéôñïðÞ: Á. ÐáðáíéêïëÜïõ, Ð.Ä. ÊáêëÞò
(åðéâëÝðùí), Ã. Ðïëßôçò.
96
äýóêïëç áíáæÞôçóç óôïé÷åßùí ìÝóá óå áõôÝò. Áíáãêáßá ðñïṏðüèåóç ãéá ôçí
åðßôåõîç ôïõ óôü÷ïõ áõôïý Þôáí ç áíÜðôõîç ôïõ êþäéêá óýìöùíá ìå ôéò áñ÷Ýò
ôïõ áíôéêåéìåíïóôñåöïýò ðñïãñáììáôéóìïý (object oriented programming).2 .
Ï ó÷åäéáóìüò-ðñïãñáììáôéóìüò áõôïý ôïõ ôýðïõ åðéôñÝðåé óôçí SDL íá éêá-
íïðïéåß ôá áêüëïõèá âáóéêÜ ÷áñáêôçñéóôéêÜ ôùí óõã÷ñüíùí óõóôçìÜôùí ãñá-
öéêÞò:
• Áíïéêôü óýóôçìá. Ç éäéüôçôá áõôÞ êáèéóôÜ äõíáôÞ ôçí åðÝêôáóç ôïõ
êþäéêá, åßôå áðü ôïí ðñïãñáììáôéóôÞ ðïõ áíáðôýóóåé ôçí SDL, åßôå
áðü ôïí ðñïãñáììáôéóôÞ åöáñìïãþí.
• ÄõíáìéêÞ äéá÷åßñéóç ôçò ìíÞìçò. Ç áðáßôçóç áõôÞ õðáãïñåýåôáé áðü ôç
öýóç ôùí ìåèüäùí ðïõ ÷ñçóéìïðïéïýíôáé, åßôå óôïõò õðïëïãéóìïýò åßôå
óôç ãñáöéêÞ áðåéêüíçóç ôùí áðïôåëåóìÜôùí, êáèþò êáé áðü ôïí áë-
ëçëåðéäñáóôéêü (interactive) ÷áñáêôÞñá ðïõ ðñÝðåé íá Ý÷åé ìßá CAGD
åöáñìïãÞ.
Ç âéâëéïèÞêç ãñáöéêþí ðïõ ÷ñçóéìïðïéÞèçêå åßíáé ç Open GL (âë. [27])
ç ïðïßá åßíáé åðßóçò ðñïãñáììáôéóìÝíç óå C. Ç âéâëéïèÞêç áõôÞ áö' åíüò
ìåí èåùñåßôáé ìßá áðü ôéò ðéï ïëïêëçñùìÝíåò âéâëéïèÞêåò ãñáöéêþí, áö' åôÝ-
ñïõ äå õðïóôçñßæåôáé áðü ðïéêßëá ëåéôïõñãéêÜ óõóôÞìáôá (Windows'98, Win-
dows NT, Unix) êáé ðïëëÜ õðïóõóôÞìáôá ãñáöéêþí. Ç Open GL åðéôñÝðåé
óôïí ðñïãñáììáôéóôÞ íá ãñÜöåé êþäéêá áíåîÜñôçôá ôïõ ÷ñçóéìïðïéïýìåíïõ
õëéêïý, ôï ïðïßï ðáñÝ÷åé óôçí SDL ôç äõíáôüôçôá ìåôáöïñÜò óå PC Þ óå work-
station ìå äéáöïñåôéêÜ ëåéôïõñãéêÜ óõóôÞìáôá. Åðßóçò ç Open GL ðáñÝ÷åé
ôç äõíáôüôçôá êáôáóêåõÞò óõíáñôÞóåùí ðïõ âïçèïýí óôïí ðñïãñáììáôéóìü
öéëéêïý áëëçëåðéäñáóôéêïý ðåñéâÜëëïíôïò (user's interface) ìå ÷ñÞóç pop-up
menus, prompt lines êáé mouse picks óôï ðáñÜèõñï ôùí ãñáöéêþí.
Óôçí åðüìåíç ðáñÜãñáöï èá áíáöåñèïýìå óôç äïìÞ ôçò SDL, ðåñéãñÜ-
öïíôáò ôá ôìÞìáôÜ ôçò (modules). ÔÝëïò, óôçí ôñßôç ðáñÜãñáöï, èá äþóïõìå
ðåñéãñáöéêÜ ôçí êáôáóêåõÞ ìßáò ìéêñÞò áëëÜ ïëïêëçñùìåíÞò åöáñìïãÞò ãéá
õðïëïãéóìü êáé áðåéêüíéóç óýíèåôùí êáìðõëþí Bézier, ìáæß ìå êÜðïéá áðá-
ñáßôçôá óôïé÷åßá, ðïõ áöïñïýí óôïí ðñïãñáììáôéóìü óå ðáñáèõñéêü ðåñéâÜë-
ëïí.
97
• ôï ôìÞìá ôçò äïìÞò ãåùìåôñéêþí ïíôïôÞôùí,
• ôï ôìÞìá ôçò ãåùìåôñéêÞò ìïíôåëïðïßçóçò, êáé
• ôï ôìÞìá ôùí ãñáöéêþí
ôá ïðïßá êáé áíáëýïíôáé óôç óõíÝ÷åéá.
Primary structures
curve surface
analysis analysis
data data
general general
data data
Secondary structures
Ó÷Þìá 1: Ó÷Ýóç êõñßùí êáé âïçèçôéêþí ïíôïôÞôùí ôïõ ôìÞìáôïò ôçò äïìÞò
ãåùìåôñéêþí ïíôïôÞôùí
98
8.2.2 Ôï ôìÞìá ôçò ãåùìåôñéêÞò ìïíôåëïðïßçóçò
Ïé óõíáñôÞóåéò áõôïý ôïõ ôìÞìáôïò ÷ñçóéìïðïéïýíôáé ãéá ôïí õðïëïãéóìü ãå-
ùìåôñéêþí ïíôïôÞôùí (áðü áõôÝò ðïõ ðáñáôÝèçêáí óôçí ðñïçãïýìåíç ðáñÜ-
ãñáöï), ôùí ðáñáãþãùí ôïõò, ôçò êáèþò êáé ôùí ãåùìåôñéêþí ðïóïôÞôùí, ðïõ
ôéò áöïñïýí (ð.÷., êáìðõëüôçôåò, óôñÝøç, êÜèåôï äéÜíõóìá). Óå áõôü ôï ôìÞìá
ôçò SDL áíÞêïõí åðßóçò êáé ïé óõíáñôÞóåéò ðáñåìâïëÞò êáé åîïìÜëõíóçò ôùí
ãåùìåôñéêþí ïíôïôÞôùí.
99
íá ðáñÝ÷åé ôéò áêüëïõèåò ëåéôïõñãßåò:
(á) ÅéóáãùãÞ ìßáò Þ ðåñéóóïôÝñùí êáìðõëþí Bézier áðü áñ÷åßá ascii,
(â) Áðåéêüíéóç ôçò êáìðýëçò êáé ôçò êáìðõëüôçôÜò ôçò êáé
(ã) ÄéáãñáöÞ üëùí ôùí ðñïçãïõìÝíùí êáìðõëþí (áðü ôçí ïèüíç êáé áðü
ôç ìíÞìç) ìå óêïðü ôçí åéóáãùãÞ íÝùí êáìðõëþí.
Ðñïöáíþò, ç íÝá åöáñìïãÞ èá ðñÝðåé íá ðáñÝ÷åé üëåò ôéò âáóéêÝò ëåéôïõñãßåò
ãéá ôá ãñáöéêÜ, ðïõ áíáöÝñèçêáí óôçí ðñïçãïýìåíç õðïðáñÜãñáöï, åíþ
üëåò ïé ëåéôïõñãßåò èá ðñÝðåé íá ðñïóöÝñïíôáé ðñïò åðéëïãÞ áðü ôï ÷ñÞóôç
ìÝóù åíüò pop-up menu.
Ðñéí ðñï÷ùñßóïõìå, èá êÜíïõìå ìßá ìéêñÞ áíáöïñÜ óå ïñéóìÝíåò âáóéêÝò
Ýííïéåò ôïõ ðñïãñáììáôéóìïý ðáñáèõñéêþí åöáñìïãþí. Ç âáóéêÞ äéáöïñÜ
ìåôáîý ìßáò ðáñáèõñéêÞò åöáñìïãÞò êáé ìßáò åöáñìïãÞò óå ðåñéâÜëëïí ãñáì-
ìÞò åíôïëþí (DOS, Unix) åßíáé üôé óôçí ðñþôç, ìåôÜ ôï ÜíïéãìÜ ôçò,3 ï Ýëåã-
÷ïò äßíåôáé óôï ðåñéâÜëëïí êáé ìßá óõíÜñôçóç ðïõ ïíïìÜæåôáé êýñéïò âñüã÷ïò
(main loop) îåêéíÜ íá ôñÝ÷åé. Ï âñüã÷ïò áõôüò äåí åðéóôñÝöåé ðïôÝ (endless
loop) êáé, óå êÜèå åðáíÜëçøÞ ôïõ, ôï óýóôçìá Ýëåã÷åé ôéò åíÝñãåéåò ôïõ ÷ñÞ-
óôç, ð.÷., ôéò êéíÞóåéò ôïõ mouse, ôéò åðéëïãÝò ôùí ðëÞêôñùí ôïõ mouse Þ ôïõ
ðëçêôñïëïãßïõ. ÁõôÝò ïé åíÝñãåéåò ôïõ ÷ñÞóôç êáëïýíôáé ãåãïíüôá (events).
Ïôáí êÜðïéï ãåãïíüò åðéóçìáíèåß áðü ôïí êýñéï âñüã÷ï, ôüôå ôï ðåñéâÜë-
ëïí êáëåß ôçí áíôßóôïé÷ç óõíÜñôçóç, ç ïðïßá êáé åêôåëåßôáé. Ç óõíÜñôçóç
áõôÞ ëÝãåôáé óõíÜñôçóç åðáíÜêëçóçò (callback function). ÌåôÜ ôçí åêôÝëåóÞ
ôçò, ï Ýëåã÷ïò åðéóôñÝöåé óôïí êýñéï âñüã÷ï ê.ï.ê. Ãéá íá ôåëåéþóåé ç åêôÝ-
ëåóç ôïõ ðñïãñÜììáôïò èá ðñÝðåé óå ìßá ôïõëÜ÷éóôïí áðü ôéò óõíáñôÞóåéò
åðáíÜêëçóçò íá õðÜñ÷åé ìßá åíôïëÞ åîüäïõ (ð.÷., ç åíôïëÞ exit(), ôçò C). Ï
ðñïãñáììáôéóôÞò ìßáò ðáñáèõñéêÞò åöáñìïãÞò äåí ãñÜöåé ìüíï ôéò óõíáñôÞ-
óåéò åðáíÜêëçóçò áëëÜ åðßóçò êáèïñßæåé ðïéÜ áðü áõôÝò èá êëçèåß óå ðïéü
ãåãïíüò, äçëáäÞ ï ðñïãñáììáôéóôÞò êÜðïéáò åöáñìïãÞò óõíäÝåé êÜèå ìßá áðü
áõôÝò ôéò óõíáñôÞóåéò ìå Ýíá ãåãïíüò. Ãéá ôï ëüãï áõôü, êÜèå óýóôçìá API
äéáèÝôåé Ýíá óýíïëï óõíáñôÞóåùí, ôï ïðïßï äßíåé ôçí äõíáôüôçôá óôïí ðñï-
ãñáììáôéóôÞ íá ðåñéãñÜøåé ôçí áëëçëåðßäñáóç ðñïãñÜììáôïò-÷ñÞóôç. Ãéá
ðñïãñáììáôéóìü óå ðáñáèõñéêü ðåñéâÜëëïí ðñïôåßíïõìå ôéò âéâëéïãñáöéêÝò
áíáöïñÝò [19], [20] êáé [21].
3
Ôï Üíïéãìá ìßáò ðáñáèõñéêÞò åöáñìïãÞò ðåñéëáìâÜíåé Ýíá ðëÞèïò õðïëïãéóìþí êáé äå-
äïìÝíùí, üðùò ð.÷. ôç èÝóç ôïõ ðáñáèýñïõ, ôéò äéáóôÜóåéò ôïõ ê.ë.ð., ôá ïðïßá ðñÝðåé íá
åêôåëåóôïýí ðñéí åìöáíéóôåß ôï ðáñÜèõñï ìå ôá menu óôçí ïèüíç. Ç äéáäéêáóßá áõôÞ ëÝãåôáé
êáèïñéóìüò áñ÷éêþí ôéìþí Þ áñ÷éêïðïßçóç (initialization).
100
Áò îáíáðåñÜóïõìå üìùò óôç óõãêåêñéìÝíç åöáñìïãÞ. Áñ÷éêÜ ðñÝðåé íá
ïñßóïõìå ôéò âáóéêÝò ëåéôïõñãßåò ðñßí ôï Üíïéãìá ôïõ ðñïãñÜììáôïò. ÁõôÝò
÷ùñßæïíôáé óå äýï êáôçãïñßåò: óôéò ëåéôïõñãßåò ðïõ åðéèõìïýìå (pop-up menus)
êáé óå åêåßíåò ðïõ õðï÷ñåùôéêÜ ðñÝðåé íá ïñéóèïýí (äéáóôÜóåéò êáé èÝóç
ðáñáèýñïõ, ÷ñþìá, ê.ë.ð.). Ïé ôåëåõôáßåò åßíáé ïé ðåñéóóüôåñåò êáé ïé ðéï
äýóêïëåò, ãé' áõôü êáé äßíåôáé ç äõíáôüôçôá íá áíïßîåé ç åöáñìïãÞ ìå êÜ-
ðïéåò áñ÷éêÝò ôéìÝò êáé óôç óõíÝ÷åéá ï ÷ñÞóôçò íá ìåôáâÜëëåé åêåßíåò ðïõ
åðéèõìåß. Åôóé, ðñéí ôçí êëÞóç ôïõ êõñßïõ âñüã÷ïõ, ï ðñïãñáììáôéóôÞò Ý÷åé
ìüíï íá êáôáóêåõÜóåé ôá pop-up menus. Ìßá óõíÜñôçóç ìå ôçí ïðïßá ãßíåôáé
áõôü åßíáé ç óõíÜñôçóç SDLaddMenuEntry. Ôïí êáèïñéóìü ôùí õðïëïßðùí
áñ÷éêþí ôéìþí áíáëáìâÜíïõí ïé óõíÜñôçóåéò SDLstart2dGraphics êáé SDL-
startGraphics, áíÜëïãá áí ôï áíôéêåßìåíï ðïõ èá ó÷åäéáóèåß åßíáé äéäéÜóôáôï
Þ ôñéóäéÜóôáôï. Ç ðáñáêÜôù ñïõôßíá äåß÷íåé ôç ÷ñÞóç ôùí óõíáñôÞóåùí ðïõ
ðåñéãñÜøáìå ðñïçãïõìÝíùò. Óçìåéþíïõìå áðëÜ üôé Ý÷åé óçìáóßá êáíåßò íá
ðñïóÝîåé ôçí, Ýíá ðñïò Ýíá, áíôéóôïé÷ßá ãåãïíüôïò (åðéëïãÝò: Load a Curve,
Curve/Curvature, New Curve êáé Exit Program) êáé óõíÜñôçóçò åðáíÜêëçóçò
(load, cc, new êáé close).
main()
{
/* New Menus */
SDLaddMenuEntry(load, SDLgetMainMenu(), "Load a Curve");
SDLaddMenuEntry(cc, SDLgetMainMenu(), "Curve/Curvature");
SDLaddMenuEntry(new, SDLgetMainMenu(), "New Curve");
SDLaddMenuEntry(close,SDLgetMainMenu(), "Exit Program");
/* Start the graphics module of SDL. This function contains a */
/* call to the X-windows main loop function and therefore */
/* never returns. */
SDLstart2dGraphics();
}
ÔÝëïò, ðÝñáí ôùí ôåóóÜñùí óõíáñôÞóåùí åðáíÜêëçóçò ðñÝðåé, íá ãñáöåß ìßá
áêüìç óõíÜñôçóç, ç ïðïßá íá õðïëïãßæåé ôçí êáìðýëç, ôçí êáìðõëüôçôÜ ôçò
êáé ôá üñéá áõôÞò (bounding box), êáé, ôÝëïò, íá ôçí ðñïóèÝôåé óôéò õðü ó÷åäß-
áóç ïíôüôçôåò (visible entities). Ôç óõíÜñôçóç áõôÞ ïíïìÜæïõìå DrawCurve.
101
Ãéá íá ðåñéãñÜøïõìå óôç óõíÝ÷åéá ôç ëåéôïõñãßá ôùí ðáñáðÜíù óõíáñôÞ-
óåùí èá åðéóôñÝøïõìå óôçí Ýííïéá ôïõ áíôéêåéìÝíïõ êáé óõãêåêñéìÝíá óôï
áíôéêåßìåíï SDLcBezierCurve ðïõ ìáò ðáñÝ÷åé ç SDL ãéá ôçí áíáðáñÜóôáóç
ìßáò óýíèåôçò êáìðýëçò Bézier. Ãéá ôçí ðåñéãñáöÞ ìßáò ôÝôïéáò êáìðýëçò
÷ñåéÜæïíôáé ïé ðáñáêÜôù ìåôáâëçôÝò:
• SDLgeneral g;
ÄïìÞ, ç ïðïßá ðåñéÝ÷åé ïñéóìÝíá ãåíéêÜ ÷áñáêôçñéóôéêÜ ôçò êáìðýëçò
(üíïìá, ÷ñþìá, ôýðï ãñáììÞò, êùäéêü áñéèìü ó÷åäéáóôéêÞò ïíôüôçôáò
ê.ë.ð.). Ï ðñïãñáììáôéóôÞò ìßáò åöáñìïãÞò äåí ÷ñåéÜæåôáé Üìåóá íá
åðÝìâåé óå êÜðïéá áðü áõôÝò ôéò ìåôáâëçôÝò.
• SDLnumberArray *KnotVector;
ÄéÜíõóìá ðïõ ðåñéÝ÷åé ôéò ðáñáìåôñéêÝò ôéìÝò óôïõò êüìâïõò ôçò êá-
ìðýëçò.
• SDLpointArray *ControlPoints;
ÄéÜíõóìá ðïõ ðåñéÝ÷åé ôá óçìåßá åëÝã÷ïõ ôçò êáìðýëçò Bézier.
• SDLboolean Planar,Closed,Periodic,Rational,Functional;
ËïãéêÝò ìåôáâëçôÝò, ïé ïðïßåò ðáßñíïõí ôéò ôéìÝò 0,1.
• SDLcurveAnalysisData *Analysis;
ÄïìÞ óôçí ïðïßá áðïèçêåýïíôáé ïé ôéìÝò ôçò êáìðýëçò, ôùí ôñéþí ðñþ-
ôùí ðáñáãþãùí ôçò, ôçò êáìðõëüôçôáò, ôçò ðáñáãþãïõ ôçò êáìðõëüôç-
ôáò êáé ôçò óôñÝøçò, ãéá ìéá ðõêíÞ äéáìÝñéóç ôïõ ðáñáìåôñéêïý äéáóôÞ-
ìáôïò ïñéóìïý ôçò êáìðýëçò.
• ÓõíÜñôçóç load:
102
void load(void)
{
SDLcBezierCurve *temp;
char filename[256];
FILE *fp;
printf("Give the input file name: ");
scanf("%s",filename);
fp=fopen(filename,"r");
temp=SDLloadCBezierCurve(fp,1,0,0);
DrawCurve(temp);
}
Óôç óõíÜñôçóç áõôÞ ãßíåôáé ï ïñéóìüò ìßáò óýíèåôçò êáìðýëçò Bézier
êáé óôç óõíÝ÷åéá, ìå ÷ñÞóç ôçò óõíÜñôçóçò SDLloadCBezierCurve, ãßíå-
ôáé ç åéóáãùãÞ ôçò áðü Ýíá áñ÷åßï ascii. ÔÝëïò, ç êáìðýëç áõôÞ äßíåôáé
óôç óõíÜñôçóç DrawCurve ãéá íá õðïëïãéóèåß êáé íá ðñïóôåèåß óôéò õðü
ó÷åäßáóç ïíôüôçôåò.
• ÓõíÜñôçóç cc:
void cc(void)
{
double ar; /* stands for Aspect Ratio */
int iFlag = SDLgetBooleanOption("CURVE OR CURVATURE");
if (iFlag == 0)
{
SDLsetBooleanOption("CURVE OR CURVATURE",1);
SDLsetBooleanOption("PARAMETER OR ARC-LENGTH",0);
SDLsetBoundingBox(bbCurvatureP);
ar=SDLfindAspectRatio();
SDLsetAspectRatio(ar);
SDLresetZoom();
}
else
{
SDLsetBooleanOption("CURVE OR CURVATURE",0);
SDLsetBoundingBox(bbCurve);
103
SDLsetAspectRatio(1.);
SDLresetZoom();
}
}
Óôç óõíÜñôçóç áõôÞ ãßíåôáé ç åíáëëáãÞ êáìðýëçò-êáìðõëüôçôáò ìå ÷ñÞóç
ôùí óõíáñôÞóåùí SDLgetBooleanOption êáé SDLsetBooleanOption. Óôç
óõíÝ÷åéá, ç óõíÜñôçóç áó÷ïëåßôáé ìå ôç ãñáöéêÞ áðåéêüíéóç ôïõ áðï-
ôåëÝóìáôïò áëëÜæïíôáò ôá üñéá ôïõ ãñáöÞìáôïò (bounding box - óõíÜñ-
ôçóç SDLsetBoundinBox), èÝôïíôáò ôï óùóôü ëüãï / ãñáöÞìáôïò (aspect
ratio - óõíÜñôçóç SDLsetAspectRatio) êáé åðáíáêáèïñßæïíôáò ôçí åóôß-
áóç ôïõ áíôéêåéìÝíïõ (zoom - óõíÜñôçóç SDLresetZoom).
• ÓõíÜñôçóç new:
void new(void)
{
SDLcBezierCurve *temp=NULL;
DrawCurve(temp);
}
Óôç óõíÜñôçóç áõôÞ ãßíåôáé ï ïñéóìüò ìßáò óýíèåôçò êáìðýëçò Bézier, ç
ïðïßá üìùò äåí Ý÷åé ôéìÞ (NULL). Áõôü åéäïðïéåß ôç óõíÜñôçóç DrawCurve
ðïõ èá êëçèåß óôç óõíÝ÷åéá ü÷é ìüíïí íá ìç ó÷åäéÜóåé ôçí êáìðýëç áõôÞ,
áëëÜ íá óâÞóåé áðü ôç ìíÞìç êáé üëåò ôéò ðñïçãïýìåíåò.
• ÓõíÜñôçóç close:
void close(void)
{
exit(1);
}
Óôç óõíÜñôçóç áõôÞ ÷ñçóéìïðïéåßôáé ìüíï ç åíôïëÞ åîüäïõ ôçò C, ãéá
ôï êëåßóéìï ôçò åöáñìïãÞò.
ÔÝëïò, èá êÜíïõìå êáé ìßá ìéêñÞ áíáöïñÜ óôç óõíÜñôçóç DrawCurve. Áñ-
÷éêÜ åîåôÜæåôáé áí ç êáìðýëç ðïõ åéóÜãåôáé Ý÷åé ôéìÞ Þ ü÷é. Áí Ý÷åé ôéìÞ ôüôå
ðñïóôßèåôáé áñ÷éêÜ óôéò ïñáôÝò ïíôüôçôåò ôçò SDL (visible entities - óõíÜñôçóç
104
SDLappendCBezierCurve). Óôç óõíÝ÷åéá ãßíåôáé ï õðïëïãéóìüò ôçò, äçëáäÞ
áðïèçêåýïíôáé ïé ôéìÝò ðïõ áíáöÝñáìå ðñïçãïõìÝíùò óôç äïìÞ SDLcurve-
AnalysisData ìå ôç óõíáñôÞóç SDLcomputeCBezierCurve. ÔåëéêÜ ðñïóôßèåôáé
óå Ýíá óýíïëï ïíôïôÞôùí ôýðïõ SDLcBezierCurve. Áí ç êáìðýëç äåí Ý÷åé ôéìÞ,
ôüôå üëåò ïé ðñïçãïýìåíåò êáìðýëåò óâÞíïíôáé áðü ôç ìíÞìç, ìå ôç óõíÜñôçóç
SDLremoveCBezierCurve. Ï êþäéêáò áõôÞò ôçò óõíÜñôçóçò äßíåôáé êáôùôÝñù.
106
8.4 ÐáñÜñôçìá É: ÄïìÝò êáé ÓõíáñôÞóåéò
ÐñïêåéìÝíïõ íá åîçãÞóïõìå ôïõò üñïõò: äïìÞ (structure) êáé óõíÜñôçóç
(function), åßíáé áíáãêáßï íá íá áíáöåñèïýìå óå ïñéóìÝíåò åéóáãùãéêÝò Ýí-
íïéåò ðïõ áöïñïýí ôýðïõò äåäïìÝíùí (data types). Ïé ôåëåõôáßïé äéáêñßíïíôáé
óå:
Ïé ðñþôïé åßíáé áõôïß ðïõ ï ßäéïò ï Ç/Õ ðñïóöÝñåé, ð.÷., áñéèìïß óôáèåñÞò êáé
êéíçôÞò õðïäéáóôïëÞò, ÷áñáêôÞñåò. Ïé éäåáôïß ôýðïé äåäïìÝíùí åßíáé áõôïß
ðïõ ðñïóöÝñïíôáé áðü ôç ãëþóóá ðñïãñáììáôéóìïý, ð.÷., ïé ðßíáêåò, ïé ëï-
ãéêÝò ìåôáâëçôÝò, ðïõ åìöáíßæïíôáé óå üëåò ôéò ãëþóóåò ðñïãñáììáôéóìïý Þ
ïé äåßêôåò êáé ïé ôýðïé void êáé FILE, ðïõ åìöáíßæïíôáé åéäéêþôåñá óôç C. ÔÝ-
ëïò, ïé áöçñçìÝíïé ôýðïé äåäïìÝíùí åßíáé áõôïß ðïõ äçìéïõñãïýíôáé áðü ôïí
ßäéï ôïí ðñïãñáììáôéóôÞ êáé ðïõ ìåñéêïß ìåôáöñáóôÝò (compilers) êáôáëáâáß-
íïõí, ð.÷., ïé ìåôáöñáóôÝò ôçò C êáé ôçò Pascal. Ãéá ðáñÜäåéãìá, Ýíá óçìåßï
óôï ÷þñï ìðïñåß íá ðáñáóôáèåß áðü ôéò ôñåéò ôïõ óõíôåôáãìÝíåò x, y, z , äç-
ëáäÞ áðü ôñåßò ðñáãìáôéêïýò áñéèìïýò. Áò ïíïìÜóïõìå áõôüí ôïí áöçñçìÝíï
ôýðï äåäïìÝíùí óáí POINT. Óôç óõíÝ÷åéá, ìðïñåß íá äçìéïõñãçèåß ï ôýðïò
POLYGON áðü Ýíáí ðßíáêá ìåôáâëçôþí ôýðïõ POINT, ðïõ ðáñéóôÜíåé Ýíá
ðïëýãùíï óôï ÷þñï. Áõôïß ïé ôýðïé äåäïìÝíùí óôç C ïíïìÜæïíôáé äïìÝò.
Ìßá Üëëç Ýííïéá ðïõ óõíáñôÜôáé Üìåóá ìå ôéò äïìÝò åßíáé ç óõíÜñôçóç
(function). Ìßá óõíÜñôçóç ìðïñåß íá åðéóôñÝøåé ãåíéêÜ Ýíáí ïðïéïäÞðïôå
ôýðï äåäïìÝíùí, Üñá êáé ìßá äïìÞ. Áí ãéá ðáñÜäåéãìá èåùñÞóïõìå äýï
óõíÜñôçóåéò, ðïõ õðïëïãßæïõí ôï åìâáäü êáé ôï êÝíôñï åðéöáíåßáò åíüò ðï-
ëõãþíïõ, ôüôå ç ðñþôç åðéóôñÝöåé Ýíáí ðñáãìáôéêü áñéèìü êáé ç äåýôåñç ìßá
äïìÞ ôýðïõ POINT, âë. åðßóçò [28], [29].
107
8.5 ÐáñÜñôçìá ÉÉ: Óôïé÷åßá Áíôéêåéìåíïóôñåöïýò Ðñï-
ãñáììáôéóìïý
×ñçóéìïðïéþíôáò ôï ðáñÜäåéãìá ôïõ ðñïçãïýìåíïõ ðáñáñôÞìáôïò, èá êÜ-
íïõìå ìßá ìéêñÞ áíáöïñÜ óôçí Ýííïéá ôïõ áíôéêåéìÝíïõ êáé ôïõ áíôéêåéìåíï-
óôñåöïýò ðñïãñáììáôéóìïý.
Áí åöïäéÜóïõìå ôç äïìÞ POLYGON ìå Ýíá óýíïëï åðéôñåðôþí ëåéôïõñ-
ãéþí ðïõ ðåñéãñÜöïõí ôéò éäéüôçôåò åíüò ðïëõãþíïõ, ð.÷., åìâáäüí, êÝíôñï
åðéöáíåßáò, Þ ôçí åêôýðùóç ôùí óõíôåôáãìÝíùí ôùí êïñõöþí ôïõ, ôüôå ç
äïìÞ áõôÞ ìáæß ìå ôéò áíôßóôïé÷åò óõíáñôÞóåéò ôçò, áðïôåëåß Ýíá áíôéêåßìåíï
(object). ÁõôÞ ç ïìáäïðïßçóç äéåõêïëýíåé áðïöáóéóôéêÜ ôçí ïñãÜíùóç ôçò
äïìÞò åíüò óýíèåôïõ ëïãéóìéêïý. Åðßóçò, ç ïñãÜíùóç áõôÞ ìðïñåß íá ãßíåé
ðéï áðïäïôéêÞ ìå ôç ÷ñÞóç ôñéþí áêüìç éäéïôÞôùí, ðïõ ÷áñáêôçñßæïõí ôéò
áíôéêåéìåíïóôñåöåßò ãëþóóåò ðñïãñáììáôéóìïý.
(á) Ç éäéüôçôá ôçò áðüêñõøçò (encapsulation), ç ïðïßá äåí åðéôñÝðåé ôçí
Üìåóç ðñüóâáóç ôïõ ÷ñÞóôç óôá åóùôåñéêÜ ÷áñáêôçñéóôéêÜ åíüò áíôéêåéìÝ-
íïõ. Ãéá ðáñÜäåéãìá, áí ï ÷ñÞóôçò äåí Ý÷åé áð' åõèåßáò ðñüóâáóç óôéò óõ-
íôåôáãìÝíåò ôùí êïñõöþí ôïõ ðïëõãþíïõ POLYGON êáé ç ðñüóâáóç åðé-
ôõã÷Üíåôáé ìüíï ìå ôç ÷ñÞóç êÜðïéáò óõíÜñôçóçò, ôüôå ìå ôç óõíÜñôçóç áõôÞ
ìðïñåß íá åëÝã÷åôáé áõôüìáôá åÜí, ëüãïõ ÷Üñç, êÜðïéïá áðü ôá óçìåßá áõôÜ
óõìðßðôïõí, åÜí ôï ðïëýãùíï åßíáé êëåéóôü Þ åÜí ôÝìíåé ôïí åáõôü ôïõ.
(â) Ç éäéüôçôá ôçò êëçñïíïìéêüôçôáò (inheritance) ôùí ÷áñáêôçñéóôéêþí
åíüò áíôéêåéìÝíïõ áðü êÜðïéï Üëëï. Áò õðïèÝóïõìå üôé Ý÷ïõìå ôï áíôéêåß-
ìåíï POLYGON ìå ôéò éäéüôçôåò ðïõ áíáöÝñáìå ðñïçãïõìÝíùò. Ôüôå, ïñß-
æïíôáò êáôÜëëçëá ôï áíôéêåßìåíï TRIANGLE, áõôü ìðïñåß íá êëçñïíïìÞóåé
áðü ôï áíôéêåßìåíï POLYGON üëåò ôïõ ôéò éäéüôçôåò êáé áðëÜ óå áõôü íá
ðñïóèÝôïõìå áõôÝò ðïõ åðéðëÝïí ìáò åíäéáöÝñåé íá Ý÷åé.
(ã) Ç éäéüôçôá ôïõ ðïëõìïñöéóìïý (polymorphism), äçëáäÞ ç ÷ñçóéìïðïß-
çóç ôïõ ßäéïõ ïíüìáôïò ìßáò óõíÜñôçóçò ãéá ðáñåìöåñåßò ÷ñÞóåéò, óå äéá-
öïñåôéêÜ áíôéêåßìåíá, ðïõ üìùò áíÞêïõí óôçí ßäéá éåñáñ÷ßá, äçëáäÞ Ý÷ïõí
ó÷Ýóåéò êëçñïíïìéêüôçôáò. Ãéá ðáñÜäåéãìá, ôá áíôéêåßìåíá TRIANGLE êáé
RECTANGLE êëçñïíïìïýí ôï áíôéêåßìåíï POLYGON. Ïñßæïíôáò óôç óõíÝ-
÷åéá óôá ôñßá áíôéêåßìåíá ôç óõíÜñôçóç draw ðïõ ôá ó÷åäéÜæåé, áõôÞ ìðïñåß
íá åßíáé äéáöïñåôéêÞ, üìùò ï ìåôáöñáóôÞò ôçò ãëþóóáò êáôáëáâáßíåé üôé ôï
üñéóìá óå êÜèå ðåñßðôùóç åßíáé äéáöïñåôéêü êáé ÷ñçóéìïðïéåß ôçí êáôÜëëçëç
óõíÜñôçóç. ÃåíéêÜ, ïé ãåùìåôñéêÝò åöáñìïãÝò, áðïôåëïýí Ýíá áðü ôá êáëý-
ôåñá ðáñáäåßãìáôá ãéá ôçí áíÜãêç ÷ñÞóçò áíôéêåéìåíïóôñåöïýò ðñïãñáììá-
ôéóìïý. (ÂëÝðå åðßóçò [23], [24] êáé [22]).
108
ÊåöÜëáéï 9
Ôï ÐåñéâÜëëïí ÁíÜðôõîçò
Óõíèåôéêþí Êüóìùí:
SUPERSCAPE VRTTM
1
(SUPERSCAPE VRT)
109
áðü äéáöïñåôéêïýò áíèñþðïõò ìå, êáôÜ ðåñßðôùóç, äéáöïñåôéêü íüçìá. Ðïë-
ëÝò öïñÝò ÷ñçóéìïðïéåßôáé ìüíïí ãéá ôçí ðåñéãñáöÞ êÜðïéùí åîåéäéêåõìÝíùí
óõóêåõþí, Üëëïôå ãéá ôçí ðåñéãñáöÞ ìéáò óõãêåêñéìÝíçò åöáñìïãÞò Ç/Õ,
áêüìç êáé ãéá ôçí ðåñéãñáöÞ åíüò ðåñéâÜëëïíôïò äéåðéêïéíùíßáò ÷ñçóôþí
ìÝóù ôïõ äéáäéêôýïõ (Internet).
Ùóôüóï, ðßóù áðü áõôÝò ôéò äéáöïñåôéêÝò åêöÜíóåéò ôïõ üñïõ, ï âáóé-
êüò êïéíüò ðõñÞíáò ôçò åí ëüãù ôå÷íïëïãßáò ìðïñåß íá óõíïøéóèåß óôïí ïñé-
óìü [16]:
110
ÔÝëïò, íá óçìåéþóïõìå üôé óôçí ó÷åôéêÞ âéâëéïãñáößá, ç ßäéá êáôçãïñßá
óõóôçìÜôùí óõíáíôÜôáé êáé õðü ôïí üñï ``desktop VR''. Ôï ëïãéóìéêü ðñï-
úüí SUPERSCAPE VRTT M , ôï ïðïßï ðåñéãñÜöåôáé äéåîïäéêÜ óôï åðüìåíï
êåöÜëáéï, åßíáé áêñéâþò Ýíá WoW Þ desktop VR óýóôçìá.
111
êáé õðÜñ÷åé åãêáôåóôçìÝíï óýóôçìá ôñéóäéÜóôáôïõ Þ÷ïõ (3D Sound Sys-
tem).
Ìç÷áíïëïãßá
Ç åéêïíéêÞ áíáðáñÜóôáóç äåí áðïôåëåß ãéá ôçí Ìç÷áíïëïãßá ìßá íÝá ôå÷íï-
ëïãßá. Ïé ó÷åôéêÝò ìÝèïäïé ðïõ áíáðôý÷èçêáí ôéò äýï ôåëåõôáßåò äåêáåôßåò,
112
åðéôñÝðïõí óôá óýã÷ñïíá óõóôÞìáôá CAD/CAM ôçí áðåéêüíéóç êáé áðïèÞ-
êåõóç ôçò ãåùìåôñßáò åîáéñåôéêÜ ðåñßðëïêùí äéäéÜóôáôùí êáé ôñéóäéÜóôáôùí
ðåñéâáëëüíôùí. Ç åéêïíéêÞ ðñáãìáôéêüôçôá Ýñ÷åôáé íá åìðëïõôßóåé ôçí õðÜñ-
÷ïõóá ôå÷íïëïãßá ìå ôçí äõíáôüôçôá ðëïÞãçóçò óôéò åéêïíéêÝò êáôáóêåõÝò êáé
ìåëëïíôéêÜ ßóùò ïäçãÞóåé óôçí åîÜëåéøç ôçò áíÜãêçò êáôáóêåõÞò ðñïôýðùí
ôïõ ðñïúüíôïò. ÌåñéêÜ ôõðéêÜ ðáñáäåßãìáôá ÷ñÞóçò ôçò åéêïíéêÞò ðñáãìáôé-
êüôçôáò óôçí Ìç÷áíïëïãßá åßíáé ôá áêüëïõèá:
• Ó÷åäßáóç õðïâñõ÷ßùí Óôçí ðåñßðôùóç áõôÞ, åêôüò áðü ôïõò ëüãïõò ðïõ
áíáöÝñèçêáí óôï ðñïçãïýìåíï ðáñÜäåéãìá, óçìáíôéêÞ ðñïò äéåñåý-
íçóç ðáñÜìåôñïò áðïôåëåß ï Ýëåã÷ïò ôçò åñãïíïìßáò êáé ç äõíáôüôçôá
ôïõ ÷ñÞóôç íá ÷ñçóéìïðïéåß ôïõò ÷þñïõò ôïõ õðïâñõ÷ßïõ.
Ç VSEL (Vickers Shipbuilding and Engineering Limited) åãêáôÝóôçóå,
ìÝóù ôùí åñãáóôçñßùí ARRL, Ýíá óýóôçìá ðëÞñïõò âýèéóçò, ôï ïðïßï
äçìéïõñãåß Ýíá åéêïíéêü èáëÜóóéï ðåñéâÜëëïí üðïõ ï ÷ñÞóôçò ìðïñåß
íá ëåéôïõñãåß ôï åéêïíéêÜ êáôáóêåõáóìÝíï õðïâñý÷éï.
113
ìåëÝôç ôçò åñãïíïìßáò, ç äéåñåýíçóç öùôéóìïý êáé áêïõóôéêÞò ôùí ÷þ-
ñùí ê.á.
Øõ÷áãùãßá
ÐïëëÝò åöáñìïãÝò åéêïíéêÞò ðñáãìáôéêüôçôáò Ý÷ïõí êáôáóêåõáóèåß ãéá ôïõò
áêüëïõèïõò ôïìåßò:
• Computer Animation
• Ðáéãíßäéá óå õðïëïãéóôÝò
ÅðéóôçìïíéêÞ Ýñåõíá
ÔõðéêÝò åöáñìïãÝò áðü ôïí ôïìÝá áõôü, ï ïðïßïò äéáèÝôåé ìáêñÜ éóôïñßá
óôï ðåäßï ôçò áðåéêüíéóçò öáéíïìÝíùí êáé Üëëùí åðéóôçìïíéêþí äåäïìÝíùí,
åßíáé:
• ÌïñéáêÞ ìïíôåëïðïßçóç
• Ôçëåðáñïõóßá (Telepresence)
• Ç÷ïãñáößá õðåñÞ÷ùí
114
Åêðáßäåõóç
Ï ôïìÝáò áõôüò áðïôåëåß êýñéï ëüãï ôçò áëìáôþäïõò áíÜðôõîçò ôçò ôå÷íï-
ëïãßáò åéêïíéêÞò ðñáãìáôéêüôçôáò. Ç Ýñåõíá êáé ôå÷íïëïãßá, ðïõ áó÷ïëåßôáé
ìå ôçí åîïìïßùóç ìç÷áíçìÜôùí êáé ëåéôïõñãéþí êáé ôçí åêðáßäåõóç áíèñþ-
ðéíïõ äõíáìéêïý óôïí ÷åéñéóìü ôùí ìç÷áíçìÜôùí, ôåßíåé íá åóôéáóèåß óôçí
áíÜðôõîç ôå÷íéêþí åéêïíéêÞò ðñáãìáôéêüôçôáò. Ç ôå÷íïëïãßá ôùí åêðáéäåõ-
ôéêþí åîïìïéùôþí Ý÷åé ðïëëÝò åöáñìïãÝò êáé åíäåéêôéêÜ ìðïñïýìå íá áíáöÝ-
ñïõìå ôá áêüëïõèá ðáñáäåßãìáôá: áåñïðëÜíá, õðïâñý÷éá, ìåãÜëåò ìïíÜäåò
ðáñáãùãÞò çëåêôñéêïý ñåýìáôïõò, èùñáêéóìÝíá ï÷Þìáôá, åëéêüðôåñá, ðëïßá,
ãåñáíïß áíýøùóçò, ôñÝíá, åêôÝëåóç ÷åéñïõñãéêþí åðåìâÜóåùí, åíäïóêïðÞ-
óåùí êáé Ýëåã÷ïò åíáÝñéáò êõêëïöïñßáò.
ÌåñéêÝò ðåñéðôþóåéò ïëïêëçñùìÝíùí óõóôçìÜôùí åêðáéäåõôéêÞò åîïìïß-
ùóçò åßíáé ïé áêüëïõèåò:
115
9.2 Superscape VRTTM
9.2.1 ÃåíéêÜ
Ôï óõãêåêñéìÝíï ðñïúüí áíÞêåé óôçí êáôçãïñßá ôùí óõóôçìÜôùí WoW2 Þ
desktop VR. Ìå ôçí ðñïóèÞêç êÜðïéùí óõóêåõþí, üðùò ôá HMDs (Head
Mounted Display), ìðïñåß íá ìåôáôñáðåß óå óýóôçìá ìåñéêÞò âýèéóçò (partially
immersive system).
Ôï ðåñéâÜëëïí áíÜðôõîçò SUPERSCAPE VRT áðïôåëåßôáé áðü ìéá ðëç-
èþñá ðáêÝôùí ëïãéóìéêïý áíÜðôõîçò ó÷åäéáóôéêþí, êéíçìáôéêþí êáé Üëëùí
åöáñìïãþí, ðïõ ôï êáèéóôïýí Ýíá ïëïêëçñùìÝíï ðåñéâÜëëïí óõããñáöÞò êáé
áíÜðôõîçò ôñéóäéÜóôùí êüóìùí (3D Worlds), ïé ïðïßïé, åðéðëÝïí, Ý÷ïõí ôçí
éäéüôçôá ôçò áëëçëåðßäñáóçò ìå ôïí ÷ñÞóôç, ïðüôå êáé áðïôåëïýí áõôü ðïõ
ïíïìÜæïõìå áëëçëåðéäñáóôéêïß ôñéóäéÜóôáôïé êüóìïé ( interactive 3D worlds).
Âáóéæüìåíïé óå áõôÞí ôïõò ôçí éäéüôçôá êáé ìå êÜðïéá áêüìç ÷áñáêôçñéóôéêÜ,
ðïõ èá áíáöÝñïõìå óôçí óõíÝ÷åéá, ìðïñïýìå íá éó÷õñéóôïýìå üôé ôï ôåëéêü
áðïôÝëåóìá-ðñïúüí ôïõ ðáêÝôïõ áõôïý áðïôåëåß áõôü, ðïõ óôá ðëáßóéá ôçò åé-
êïíéêÞò Þ ôå÷íçôÞò ðñáãìáôéêüôçôáò (Virtual or Artificial Reality)3 , ïíïìÜæåôáé
åéêïíéêüò Þ óõíèåôéêüò êüóìïò ((Virtual or Synthetic World).
Ç ðëáôöüñìá ðáñïõóßáóçò ôùí åí ëüãù ``êüóìùí'' ìðïñåß íá åßíáé ôï äéáäß-
êôõï (Internet) Þ, åíáëëáêôéêÜ, ïé åöáñìïãÝò áíáðáñÜóôáóçò-õëïðïßçóçò ðïõ
ðñïóöÝñåé ôï ðåñéâÜëëïí áíÜðôõîçò.
116
• World Editor: Áðïôåëåß ôï ðñüãñáììá óôï ïðïßï ãßíåôáé ïõóéáóôéêÜ ç
êáôáóêåõÞ ôïõ ôñéóäéÜóôáôïõ ìïíôÝëïõ ôïõ êüóìïõ (óýíèåóç-ôïðïèÝôçóç
ôñéóäéÜóôáôùí ìïíôÝëùí áíôéêåéìÝíùí ðïõ Ý÷ïõí ðñïêýøåé áðü ôïí Shape
Editor Þ áðü Üëëç ðçãÞ) êáé ç óýíäåóç ôùí ðáñáìÝôñùí áõôïý ìå óôü÷ï
ôçí ñåáëéóôéêüôçôá. ÓõãêåêñéìÝíá, ï ÷ñÞóôçò äýíáôáé íá ðñïóäþóåé
ðïéêßëåò éäéüôçôåò óôá áíôéêåßìåíá (öùôéóìüò, óõìðåñéöïñÜ óå êéíÞóåéò
êáé åíÝñãåéåò ôïõ ÷ñÞóôç, êéíçìáôéêÝò êáé äõíáìéêÝò éäéüôçôåò). Åðßóçò
ìðïñåß íá ÷ñçóéìïðïéÞóåé raster graphics ãéá ôçí ðéóôüôåñç áðåéêüíéóç
ôùí áíôéêåéìÝíùí. ÔÝëïò, ìðïñåß íá óôÞóåé ç÷çôéêÝò ðçãÝò óôï õðï åñ-
ãáóßá ðåñéâÜëëïí.
117
èá êáôáóêåõÜóåé ï ÷ñÞóôçò ìå ôïí Shape Editor. Ôï åðüìåíï âÞìá áöïñÜ
ôçí ðñüóäùóç éäéïôÞôùí óôá áíôéêåßìåíá, üðùò öùôéóìüò, Ýëåã÷ïò åðáöÞò Þ
óýãêñïõóçò (Collision detection), êéíçìáôéêÜ5 êáé äõíáìéêÜ6 ÷áñáêôçñéóôéêÜ
áëëÜ êáé ôçí äõíáôüôçôá ôùí áíôéêåéìÝíùí íá áíôéäñïýí óå ÷åéñéóìïýò ôïõ
÷ñÞóôç (ð.÷., ìéá ðüñôá ðñÝðåé íá áíïßãåé üôáí ï ÷ñÞóôçò áëëçëåðéäñÜ ìå ôï
÷åñïýëé ôçò). Áêüìç ìðïñåß êáíåßò íá ðñïóèÝóåé ç÷çôéêÜ óÞìáôá êáé áéóèçôÞ-
ñåò ðïõ åßíáé óå èÝóç íá ìåôñïýí åíÝñãåéåò Þ ãåãïíüôá ðïõ ðñïêáëïýíôáé
áðü ôçí áëëçëåðßäñáóç ÷ñÞóôç-åéêïíéêïý ðåñéâÜëëïíôïò, ð.÷., ôïðïèÝôçóç áé-
óèçôÞñùí óå ðåñéï÷Ýò ðïõ åëÝã÷ïõí ôçí ðáñïõóßá ôïõ ÷ñÞóôç.
ÔåëéêÜ ôï åéêïíéêü ìïíôÝëï ìðïñåß íá áðïôåëÝóåé ôïí êüóìï ðåñéÞãçóçò
ãéá Ýíá óýíïëï ÷ñçóôþí êáé Ýôóé íá äïêéìáóèåß ç ëåéôïõñãéêüôçôá áõôïý êáé
ç êßíçóç -- áëëçëåðßäñáóç ôùí ÷ñçóôþí ìå áõôü. ¸íá ôõðéêü ðáñÜäåéãìá
áõôÞò ôçò äéáäéêáóßáò èá áðïôåëïýóå ç äçìéïõñãßá åíüò óýíèåôïõ ÷þñïõ,
üðùò áõôïý ôïõ ìç÷áíïóôáóßïõ ôïõ ðëïßïõ êáé ç äïêéìÞ èåìÜôùí áóöÜëåéáò,
óõíôÞñçóçò êáé ðñïóâáóéìüôçôáò.
• ÍáõôéêÞ Ìç÷áíïëïãßá :
118
• Êáíïíéóìïß áóöáëåßáò :
{ Åîïìïßùóç óõíèçêþí áôõ÷çìÜôùí êáé Ýëåã÷ïò áíôßóôïé÷ùí êáíï-
íéóìþí.
{ Åîïìïßùóç öüñôùóçò óêÜöïõò êáé Ýëåã÷ïò êñéôçñßùí êáé êáíïíé-
óìþí.
{ Äéåñåýíçóç åöáñìïãÞò ðñïôåéíüìåíùí êáíïíéóìþí.
• ÌåëÝôç êáé Ó÷åäßáóç :
{ ÐëïÞãçóç óôïõò ÷þñïõò ôïõò óêÜöïõò êáé äéüñèùóç ó÷åäéáóôéêþí
áôåëåéþí.
{ Ôá÷ýôáôç åöáñìïãÞ ó÷åäéáóôéêþí áëëáãþí êáé ðáñáôÞñçóç ôùí
áðïôåëåóìÜôùí áõôþí óôá õðüëïéðá ó÷åäéáóôéêÜ óôïé÷åßá.
{ ¸ëåã÷ïò äéáìåñéóìÜôùí åíäéáßôçóçò êáé ëïéðþí ÷þñùí áðü áðü-
øåùò ëåéôïõñãéêüôçôáò êáé åñãïíïìßáò.
{ Ó÷åäßáóç êáé Ýëåã÷ïò offshore êáôáóêåõþí ÷ùñßò ôçí êáôáóêåõÞ
ðñïôýðïõ.
• ÕäñïäõíáìéêÞ :
{ Åîïìïßùóç äåîáìåíÞò äïêéìþí.
{ ¸ëåã÷ïò äõíáôïôÞôùí åëéãìþí ôïõ óêÜöïõò.
119
• Äßíåôáé ç äõíáôüôçôá óôïí åêðáéäåõüìåíï íá ðåéñáìáôéóôåß ìå óôïé÷åßá
ôçò êáôáóêåõÞò êáé Üëëá ó÷åäéáóôéêÜ ÷áñáêôçñéóôéêÜ.
120
ÊåöÜëáéï 10
ÐáñÜñôçìá ÁóêÞóåùí
ÁóêÞóåéò1
Ëýóç:
i. Ç ãåíéêÞ ìïñöÞ ôïõ ïìïðáñáëëçëéêïý ìåôáó÷çìáôéóìïý åßíáé:
µ ¶ · ¸µ ¶ µ ¶
x0 α11 α12 x b1
= +
y0 α21 α22 y b2
µ ¶ µ ¶
x0 x + y tan φ
Óôçí ðåñßðôùóç ìáò: = Üñá:
y0 y
121
Ãéá íá éó÷ýåé ç ðáñáðÜíù ó÷Ýóç ∀x, y ∈ IR, ðñÝðåé: α11 = 1, α12 = tan φ,
b1 = 0, êáé α21 = 0, α22 = 1, b2 = 0.
ii. Ïðùò êáé ðñïçãïõìÝíùò:
α11 x + α12 y + b1 = x
α21 x + α22 y + b2 = Sy y
Ãéá íá éó÷ýïõí ïé ðáñáðÜíù ó÷Ýóåéò ∀x, y , ðñÝðåé êáé áñêåß: α11 = 1, α12 = 0,
b1 = 0, êáé α21 = 0, α22 = Sy , b2 = 0.
iii. Ïðùò êáé ðñïçãïõìÝíùò:
α11 r cos θ + α12 r sin θ + b1 = r cos(φ + θ)
⇐⇒
α21 r cos θ + α22 r sin θ + b2 = r sin(φ + θ)
α11 cos θ + α12 sin θ + b1 = cos φ cos θ − sin φ sin θ
⇐⇒
α21 cos θ + α22 sin θ + b2 = sin φ cos θ + sin θ cos φ
(α11 − cos φ) cos θ + (α12 + sin φ) sin θ + b1 = 0
(α21 − sin φ) cos θ + (α22 − cos φ) sin θ + b2 = 0
Ãéá íá éó÷ýåé ç ðáñáðÜíù ó÷Ýóç ∀θ ∈ R ðñÝðåé êáé áñêåß: α11 = cos φ,
α12 = − sin φ, b1 = 0, êáé α21 = sin φ, α22 = cos φ, b2 = 0.
Ëýóç: Ðñéí äåßîïõìå ôç ëýóç ôçò Üóêçóçò, ðñÝðåé íá êÜíïõìå Ýíá ó÷üëéï. Ç
åýñåóç åíüò ïìïðáñáëëçëéêïý ìåôáó÷çìáôéóìïý ìðïñåß íá ãßíåé ìå äýï ôñü-
ðïõò: (á) Áí âñóêüìáóôå óôï åðßðåäï åðéëÝãïõìå ôñßá ìç óõíåõèåéáêÜ óçìåßá
êáé ôéò åéêüíåò ôïõò. Áðü ôç ó÷Ýóç P0 = AP + b ðáßñíïõìå Ýíá ãñáììéêü óý-
óôçìá ùò ðñïò ôïõò Ýîé áãíþóôïõò ôïõ ìåôáó÷çìáôéóìïý, äçëáäÞ ôá óôïé÷åßá
ôïõ ðßíáêá A êáé ôïõ äéáíýóìáôïò b. Ôï ßäéï ìðïñåß íá ãßíåé êáé óôïí ôñéóäéÜ-
óôáôï ÷þñï ðáßñíïíôáò ôÝóóåñá ìç óõíåðßðåäá óçìåßá êáé ôéò åéêüíåò ôïõò êáé
åðéëýïíôáò Ýíá 12 × 12 ãñáììéêü óýóôçìá. (â) Öáíôáæüìáóôå ôçí áëëçëïõ÷ßá
ôùí áðëþí ìåôáó÷çìáôéóìþí (âë. Üóêçóç 1) êáé ï ìåôáó÷çìáôéóìüò ðñïêýðôåé
áðü ôïí ðïëëáðëáóéáóìü ôùí ðéíáêþí ôùí áðëþí ìåôáó÷çìáôéóìþí.
i. Áðåéêüíéóç ôïõ ó÷. 2.1å óôï 2.1óô. (ÅöáñìïãÞ ôçò ðñþôçò ìåèüäïõ).
(1) Ôï óçìåßï (0, 0) áðåéêïíßæåôáé óôï (0, 0) . (2) Ôï óçìåßï (0, α) áðåéêïíß-
æåôáé óôï (α tan φ0 , α) . (3) Ôï óçìåßï (α, 0) áðåéêïíßæåôáé óôï (α, 0) . (4) Ôï
óçìåßï (α, α) áðåéêïíßæåôáé óôï (α tan φ0 + α, α) .
Ç ãåíéêÞ ìïñöÞ ôïõ ïìïðáñáëëçëéêïý ìåôáó÷çìáôéóìïý åßíáé:
122
µ ¶ · ¸µ ¶ µ ¶
x0 α11 α12 x b1
= +
y0 α21 α22 y b2
Áðü ôçí áðáßôçóç (1) Ý÷ù: b1 = b2 = 0. Áðü ôçí áðáßôçóç (2) Ý÷ù: α12 α =
α tan φ0 ⇐⇒ α12 = tan φ0 êáé α22 α = α ⇐⇒ α22 = 1. Áðü ôçí áðáßôçóç
(3) Ý÷ù: α11 α = α ⇐⇒ α11 = 1 êáé α12 α = 0 ⇐⇒ α12 = 0.
Óôï åðßðåäï, ïé èÝóåéò ôñéþí ìç óõíåõèåéáêþí óçìåßùí, ðñéí êáé ìåôÜ Ýíáí
áööéíéêü ìåôáó÷çìáôéóìü, ïñßæïõí ðëÞñùò ôïí ìåôáó÷çìáôéóìü. Ãé'áõôü ç
áðáßôçóç (4) åßíáé ðåñéôôÞ. Ìðïñïýìå íá ôç ÷ñçóéìïðïéÞóïõìå ãéá Ýëåã÷ï
ôùí üóùí êÜíáìå.
ÐñÜãìáôé α11 α + α1 2α = α + α tan φ0 êáé α21 α + α2 2α = α.
Áí ïé ðñïçãïýìåíåò ó÷Ýóåéò äåí ßó÷õáí, ôüôå ìåôÜ ôïí ìåôáó÷çìáôéóìü ïé äýï
ðëåõñÝò ôïõ ðáñáëëçëïãñÜììïõ äå èá Þóáí ðéá ðáñÜëëçëåò. Äåí õðÜñ÷åé
üìùò ïìïðáñáëëçëéêüò ìåôáó÷çìáôéóìüò ðïõ íá êáôáóôñÝöåé ôçí ðáñáëëçëßá
äýï åõèåéþí.
ii. Áðåéêüíéóç ôïõ ó÷. 2.1á óôï 2.1â. (ÅöáñìïãÞ ôçò äåýôåñçò ìåèüäïõ).
Ï æçôïýìåíïò ìåôáó÷çìáôéóìüò èá ãßíåé óå äýï âÞìáôá: (1) ìßá äéÜóôïëÞ êáôÜ
ôïí y -Üîïíá þóôå ôï óçìåßï (0, b)T íá áðåéêïíéóôåß óôï (0, a cos φ0 )T . (2) Ìßá
äéÜôìçóç êáôÜ ãùíßá φ0 .
(1) Ï ðßíáêáò ôçò äéáóôïëÞò, üðùò åßäáìå åßíáé:
· ¸
1 0
S=
0 Sy
a cos φ0
êáé óôçí ðåñßðôùóÞ ìáò ðñÝðåé S(0, b)T = (0, a cos φ0 ) , äçëáäÞ: Sy = b
.
(2) Ï ðßíáêáò ôçò äéÜôìçóçò åßíáé:
· ¸
1 tan φ0
∆=
0 1
.
ÔåëéêÜ ëïéðüí ï ðßíáêáò ôïõ æçôïýìåíïõ ìåôáó÷çìáôéóìïý èá åßíáé:
· ¸· ¸ · ¸
1 tan φ0 1 0 1 a sinb φ0
S∆ = =
0 1 0 Sy 0 a cosb φ0
123
Ï æçôïýìåíïò ìåôáó÷çìáôéóìüò èá ãßíåé óå äýï âÞìáôá: (1) ìßá ðåñéóôñïöÞ
ãýñù áðü ôçí áñ÷Þ√ôùí áîüíùí êáôÜ 450 êáé (2) ìßá óõóôïëÞ êáôÜ ôïí x-Üîïíá
þóôå ôï óçìåßï (α 2, 0)T íá áðåéêïíéóôåß óôï óçìåßï (α, 0)T .
(1) Ï ðßíáêáò ôçò ðåñéóôñïöÞò åßíáé:
· √2 −√2 ¸
R = √22 √22
2 2
(2) Ï ðßíáêáò ôçò óõóôïëÞò åßíáé:
· ¸
Sx 0
S=
0 1
√ √
êáé óôçí ðåñßðôùóÞ ìáò ðñÝðåé S(α 2, 0)T = (α, 0) , äçëáäÞ: Sx = 22 .
ÔåëéêÜ ëïéðüí ï ðßíáêáò ôïõ æçôïýìåíïõ ìåôáó÷çìáôéóìïý èá åßíáé:
· √2 −√2 ¸ · √2 ¸ · 1 −1 ¸
0
2
RS = √2 √2 2 2 = √22 √22
2 2
0 1 2 2
Ìðïñïýìå íá åëÝãîïõìå ôï áðïôÝëåóìá
√ ìáò ðáñáôçñþíôáò üôé ôï óçìåßï
(−α, −α) áðåéêïíßæåôáé óôï (0, −α 2) üðùò ðåñéìÝíáìå.
T
124
y y
a
+++++++
+++
+++++++ +++++++
+++
+++++++
+++++++
1/2
a2
+++++++ +++++++
a
+++++++ +++++++
+++++++ x
+++++++
+++++++
x
+++++++
+++++++ +++++++
+++++++
Ó÷Þìá 2.1á Ó÷Þìá 2.1â
++++++++ +++++++++
++++++++ +++++++++
φ
++++++++
++++++++ +++++++++
0
+++++++++
++++++++
++++++++ +++++++++
+++++++++
++++++++
a +++++++++
a
φ0
b
a
a
a
125
Ðñéí ðñï÷ùñÞóïõìå óôéò áóêÞóåéò 4,5 êáé 6, óôéò ïðïßåò ãßíåôáé ÷ñÞóç ïìïãå-
íþí óõíôåôáãìÝíùí, êÜíïõìå ìßá áðëÞ ðáñáôÞñçóç, ç ïðïßá èá âïçèÞóåé ôïí
áíáãíþóôç: Áí Ý÷ïõìå Ýíáí áööéíéêü ìåôáó÷çìáôéóìü ôïõ óçìåßïõ P ∈ IE 2 ,
ï ïðïßïò äßíåôáé áðü ôç ó÷Ýóç:
P0 = A2×2 P + b2×1
(ã) Ìßá ìåôáôüðéóç T1−1 êáôÜ (x1 , y1 ), þóôå ôï óçìåßï íá åðéóôñÝøåé óôçí
áñ÷éêÞ ôïõ èÝóç.
1 0 x1
−1
T1 = 0 1 y1
0 0 1
126
Ï óõíïëéêüò ìåôáó÷çìáôéóìüò èá åßíáé:
cos θ − sin θ x1 (1 − cos θ) + y1 sin θ
M = T1−1 RT = sin θ cos θ y1 (1 − cos θ) − x1 sin θ
0 0 1
127
óôïí Üîïíá y , Üñá ç ðåñéóôñïöÞ R2 èá ãßíåé ùò ðñïò ôïí Üîïíá x. Ìå âÜóç
áõôÝò ôéò ðáñáôçñÞóåéò ðáßñíïõìå ôïõò åîÞò ìåôáó÷çìáôéóìïýò:
cos a − sin a 0 0
sin a cos a 0 0
R1 = 0
0 1 0
0 0 0 1
(ii)
üðïõ a: ç ãùíßá ðïõ óxçìáôßæåôáé áðü ôçí ðñïâïëÞ ôïõ äéáíýóìáôïò P2 −
(ii)
P1 óôï åðßðåäï xy êáé ôïí Üîïíá y . Áñá èá åßíáé:
y2 − y1 x2 − x1
cos a = p , sin a = p
2
(x2 − x1 ) + (y2 − y2 )2 (x2 − x1 )2 + (y2 − y2 )2
êáé
1 0 0 0
0 cos b − sin b 0
R2 =
0 sin b cos b
0
0 0 0 1
(iii) (iii)
üðïõ b: ç ãùíßá ðïõ óxçìáôßæåôáé áðü ôï äéÜíõóìá P2 − P1 êáé ôïí Üîïíá
y . Å÷ïõìå óõíåðþò:
(iii) (iii)
P2y P2z
cos b = sin b = −
k P2 − P1 k k P2 − P1 k
Ðáñáôçñïýìå üôé åðåéäÞ ôï ìÞêïò ôïõ ôìÞìáôïò ìåôáîý ôùí óçìåßùí P1 êáé
P2 äåí ìåôáâÜëëåôáé óôéò ðáñáðÜíù ó÷Ýóåéò ìðïñïýìå íá ÷ñçóéìïðïéÞóïõìå
ôï áñ÷éêü ìÞêïò:
p
k P2 − P1 k = (x2 − x1 )2 + (y2 − y1 )2 + (z2 − z1 )2
128
Ôï áðïôÝëåóìá ðïõ ðáßñíïõìå åßíáé:
(iii) (iii)
0 (iii) (iii) 0
P2z P2y P2z P2y
kP2 −P1 k + P(iv)
= 2y
(iv) (iii) kP2 −P1 k
P2 = R2 · P2 = P(iii) (iii) (iii) (iii)
0
2z P2y − P2z P2y
kP2 −P1 k kP2 −P1 k
1 1
cos a − sin a 0 y1 sin a − x1 cos a
cos b sin a cos a cos b − sin b z1 sin b − y1 cos a cos b − x1 cos b sin a
R2 ·R1 ·T =
sin a sin b cos a sin b cos b −z1 cos b − y1 cos a sin b − x1 sin a sin b
0 0 0 1
0 0 0 1
129
êáôá ãùíßá −a êáé ï R2−1 åßíáé ï ðßíáêáò ðåñéóôñïöÞò ãýñù áðü ôïí Üîïíá
Ox êáôá ãùíßá −b. Áñá:
1 0 0 x1
0 1 0 y1
T −1 =
0
,
0 1 z1
0 0 0 1
cos a sin a 0 0 1 0 0 0
− sin a cos a 0 0 0 cos b sin b 0
R1−1 =
0
, R2−1 =
0 − sin b cos b 0 .
0 1 0
0 0 0 1 0 0 0 1
130
êáé ðñïöáíþò ï ðßíáêáò ôïõ âÞìáôïò 4 èá åßíáé:
1 0 0 xc 0 0 1 0
0 1 0 y
c 0 1 0 0
T −1 R−1 = 0 0 1 zc −1
.
0 0 0
0 0 0 1 0 0 0 1
M = T −1 R−1 ΠRT.
0
0
1
Φy := M 0
0
0
0
Φz := M 1
0
Ãéá z = zc ï ìåôáó÷çìáôéóìüò äåí ïñßæåôáé.
Óçì.: Ï ðßíáêáò:
1 0 0 0
0 1 0 0
Πz = R−1 ΠR = 0 0
1 0
1
0 0 (d−zc )
1
131
êáé åßíáé PPi = (xPi , yiP , 0)T . Ðüóá ôïõëÜ÷éóôïí ðñÝðåé íá åßíáé ôá óçìåßá Pi
ãéá íá âñåèåß ï ; Íá êáôáóôñùèåß ôï ó÷åôéêü óýóôçìá åîéóþóåùí.
a11 xi + a12 yi + a13 zi + a14 − a41 xi x0i − a42 yi x0i − a43 zi x0i − a44 x0i = 0
a21 xi + a22 yi + a23 zi + a24 − a41 xi yi0 − a42 yi yi0 − a43 zi yi0 − a44 yi0 = 0
Åôóé öèÜíïõìå óå Ýíá óýóôçìá 12×12 ãñáììéêü ïìïãåíÝò. Áí ç ïñßæïõóá ôïõ
óõóôÞìáôïò åßíáé äéÜöïñç ôïõ ìçäåíüò, ôüôå áõôü óçìáßíåé üôé êáé ïé Üãíùóôïé
aij åßíáé üëïé ßóïé ìå ôï ìçäÝí êáé Üñá ï ìåôáó÷çìáôéóìüò åßíáé ìçäåíéêüò, êÜôé
ðïõ åßíáé Üôïðï (áöïý äßíåôáé üôé ï ìåôáó÷çìáôéóìüò õðÜñ÷åé). Ç ïñßæïõóá,
óõíåðþò åßíáé ßóç ìå ìçäÝí êáé Üñá Ý÷ïõìå Üðåéñåò ëýóåéò. Ç ÃåùìåôñéêÞ
åñìçíåßá áõôïý åßíáé üôé ï ãåíéêüò ðñïâïëéêüò ðßíáêáò Ý÷åé Ýíá âáèìü åëåõ-
èåñßáò ðáñáðÜíù áðü üôé ÷ñåéÜæåôáé. ÈÝôïõìå óõíåðþò a44 = 1 êáé ï áñéèìüò
132
ôùí áãíþóôùí ãßíåôáé ðëÝïí 11 + n, äçëáäÞ ÷ñåéáæüìáóôå 5 1/2 óçìåßá!! Óôçí
ðñÜîç ÷ñçóéìïðïéïýìå 6 Þ ðåñéóóüôåñá óçìåßá êáé ðëÝïí Ý÷ïõìå Ýíá ãñáì-
ìéêü óýóôçìá ìå ðåñéóóüôåñåò åîéóþóåéò áðü ôïõò áãíþóôïõò. Ôï óýóôçìá
áõôü åðéäÝ÷åôáé ðñïóåããéóôéêÝò ëýóåéò ôýðïõ ``åëá÷ßóôùí ôåôñáãþíùí''.
133
ÕðïèÝôïõìå, óôç óõíÝ÷åéá, ìßá åðéôñåðôÞ áëëáãÞ ðáñáìÝôñïõ, Ýóôù
s = s(t), s−1 .
134
Áí ç êáìðýëç äßíåôáé óå óõíáñôçóéáêÞ ìïñöÞ y = f (x), ôüôå ç ðáñáìåôñéêÞ
áíáðáñÜóôáóç áõôÞò êáé ôùí ðáñáãþãùí ôçò åßíáé ç áêüëïõèç:
µ ¶ µ ¶ µ ¶
t 1 0
r(t) = =⇒ ṙ(t) = =⇒ r̈(t) =
f (t) f 0 (t) f 00 (t)
f 00 (t)
κ(t) =
(1 + (f 0 (t))2 )3/2
√
Ðáñáãùãßæïõìå ôç óõíÜñôçóç y = 1 − x2 êáé áíôéêáèéóôïýìå óå áõôü ôïí
ôýðï. Ôï áðïôÝëåóìá åßíáé κ(t) = −1. ÁíôéèÝôùò, áí ðáñáãùãßóïõìå ôçí ðá-
ñáìåôñéêÞ áíáðáñÜóôáóç ôïõ êýêëïõ êáé áíôéêáôáóôÞóïõìå óôç óõíÜñôçóç
ôçò êáìðõëüôçôáò ôçò åðßðåäçò êáìðýëçò, ðïõ äþóáìå áñ÷éêÜ, ôï áðïôÝëåóìá
åßíáé: κ(t) = 1. Áò ó÷ïëéÜóïõìå ôï áðïôÝëåóìá. Ôï ðñüóçìï ôçò êáìðõ-
ëüôçôáò êáèïñßæåôáé áðü ôïí áñéèìçôÞ ôçò. Óå ìßá êáìðýëç ðïõ ïñßæåôáé
óõíáñôçóéáêÜ, ôáõôßæåôáé ìå ôï ðñüóçìï ôçò äåõôÝñáò ðáñáãþãïõ ôçò. Óå
ìßá ðáñáìåôñéêÜ ïñéóìÝíç êáìðýëç ôï ðñüóçìï ôçò êáìðõëüôçôáò êáèïñß-
æåôáé ìå ôç âïÞèåéá åíüò ôïðéêïý óõóôÞìáôïò óõíôåôáãìÝíùí êáé åîáñôÜôáé
áðü ôç öïñÜ äéáãñáöÞò ôçò êáìðýëçò. Áí åðáíáðáñáìåôñïðïéÞóïõìå ôçí
êáìðýëç èÝôïíôáò θ = π − φ, áëëÜæïõìå ôç öïñÜ äéáãñáöÞò ôçò êáé ðáßñ-
íïõìå κ(t) = −1. Áí îáíáëýóïõìå ôçí Üóêçóç 10 ãéá åðßðåäåò êáìðýëåò, èá
ðñïêýøåé üôé:
(ds/dt)3
κ(t) = κ(s)
|ds/dt|
ÄçëáäÞ óôéò åðßðåäåò êáìðýëåò ç êáìðõëüôçôá åßíáé êáô' áðüëõôç ôéìÞ áíáë-
ëïßùôç.
Áóêçóç 12. Íá âñåèåß ç êáìðõëüôçôá ôçò êáìðýëçò ðïõ éêáíïðïéåß ôéò åîé-
óþóåéò:
x + sinh x = sin y + y, z + ez = x + ln (1 + x) + 1
óôï óçìåßï (0, 0, 0).
Ëýóç: ÈÝëïõìå
||ṙ(x) × r̈(x)|
κ(t) =
||ṙ(x)||3
135
üðïõ
x
r(x) = y(x) x = t
z(x)
×ñåéáæüìáóôå ôéò åêöñÜóåéò ôùí y 0 (x), z 0 (x), y 00 (x) êáé z 00 (x). Åóôù f (x) =
x + sinh x. Ôüôå Ý÷ïõìå:
y 0 (0) = 1 y 00 (0) = 0
z 0 (0) = 1 z 00 (0) = −1
Åôóé, ôá äéáíýóìáôá ôçò ðñþôçò êáé ôçò äåõôÝñáò ðáñáãþãïõ ôçò r, óôï óçìåßï
(0, 0, 0) , åßíáé ôá áêüëïõèá:
1 0
ṙ(0) = 1 r̈(0) = 0
0 1/2
√
åôóé, ï áñéèìçôÞò√ ôçò êáìðõëüôçôáò åßíáé ßóïò ìå 2/2 êáé ï ðáñáíïìáóôÞò
åßíáé ßóïò ìå 2, Üñá ç êáìðõëüôçôá óôçí áñ÷Þ ôùí áîüíùí åßíáé ßóç ìå 1/4.
Áóêçóç 13. Íá âñåèåß ç ôïìÞ ôïõ åðéðÝäïõ z = 0 êáé ôùí åöáðôïìÝíùí ôçò
Ýëéêáò:
p(t) = (cos t, sin t, t)T .
136
Ëýóç: Ç åöáðôïìÝíç óôï ôõ÷áßï óçìåßï p åßíáé:
Ç åîßóùóç ôïõ åðéðÝäïõ åßíáé z = 0. Óõíåðþò, êáôÜ ìÞêïò ôçò ôïìÞò Ý÷ïõìå:
t + k = 0 Þ t = −k , ïðüôå ç ôïìÞ åßíáé ç êáìðýëç:
Üñá ãéá êÜèå u êáé v ôï óçìåßï ôçò s1 âñßóêåôáé ðÜíù óôçí z(x, y). Óôç
äåýôåñç ðåñßðôùóç,
Üñá, êáé ðÜëé, ãéá êÜèå u êáé v ôï óçìåßï ôçò s2 âñßóêåôáé ðÜíù óôçí z(x, y).
(â) Åóôù óçìåßï (x, y, x2 − y 2 )T ðÜíù óôçí åðéöÜíåéá z . Ãéá ôçí ðñþôç ðá-
ñáìåôñïðïßçóç æçôÜìå u, v ôÝôïéá þóôå:
x=u+v
y =u−v
x − y 2 = 4uv
2
137
Ôï áðïôÝëåóìá éó÷ýåé ôáõôïôéêÜ. Óôç äåýôåñç ðåñßðôùóç, ïé áíôßóôïé÷åò åîé-
óþóåéò åßíáé:
x = u cosh v
y = u sinh v
x 2 − y 2 = u2
Õðïëïãßæïõìå:
êáé
1
n= (−4 sin u, 4 cos u, −v)T
(u2 + 16)1/2
Íá óçìåéùèåß üôé åðåéäÞ ç öïñÜ õðïëïãéóìïý ôïõ ðáñáðÜíù åîùôåñéêïý ãé-
íïìÝíïõ ìðïñåß íá áëëÜîåé, ôï äéÜíõóìá −n åßíáé åðßóçò ìïíáäéáßï äéÜíõóìá
êÜèåôï óôçí åðéöÜíåéá.
P
Áóêçóç 16. Íá âñåèåß ç ìïíùíõìéêÞ áíáðáñÜóôáóç 2i=0 ai ti ìéáò áðëÞò êá-
ìðýëçò Bézier ðïõ ïñßæåôáé áðü ôá óçìåßá åëÝã÷ïõ {b0 , b1 , b2 } óôï äéÜóôçìá
[0, 1]. ÅöáñìïãÞ ãéá b0 = (0, 0)T , b1 = (1, 1)T , b2 = (5, 0.8)T .
Ëýóç: Ôï ôõ÷áßï óçìåßï b20 (t), t ∈ [0, 1] ôçò êáìðýëçò, õðïëïãßæåôáé áðü ôïí
áëãüñéèìï deCasteljau ùò åîÞò:
138
b20 (t) = (1 − t)b10 (t) + tb11 (t) =
= (1 − t)2 b0 + 2t(1 − t)b1 + t2 b2 =
= t2 (b0 − 2b1 + b2 ) + 2t(b1 − b0 ) + b0
Ïðüôå a0 = b0 = (0, 0)T , a1 = 2(b1 − b0 ) = (2, 2)T êáé a2 = b0 − 2b1 + b2 =
(3, −1.2)T .
P
Áóêçóç 17. Äßíåôáé ç ìç-ðáñáìåôñéêÞ êáìðýëç Bézier y(x) = 4i=0 bi Bi4 (x),
x ∈ [0, 1], ðïõ ïñßæåôáé áðü ôá óçìåßá åëÝã÷ïõ b0 = 0.0, b1 = 0.6, b2 = α
b3 = 0.6 b4 = 0.0.
(i) Íá âñåèåß ôï α þóôå ç êáìðõëüôçôá ôçò y(x) óôï x = 1/2 íá åßíáé ìç
èåôéêÞ.
(ii) Íá äåé÷èåß üôé áí åðéðëÝïí ç êáìðõëüôçôá ôçò y(x) óôï x = 0 åßíáé ìç
èåôéêÞ, ôüôå ç y(x) Ý÷åé ìç èåôéêÞ êáìðõëüôçôá (äçë. åßíáé êõñôÞ) óå üëï ôï
äéÜóôçìá ïñéóìïý ôçò. Ðïéá óõíèÞêç åðÜãåé áõôÞ ç áðáßôçóç ãéá ôï α;
X 2
d2 y
= 12 ∆2 bi Bi2 (x),
dx2 i=0
üðïõ ∆2 bi = ∆bi+1 −∆bi êáé ∆bi = bi+1 −bi . Âñßóêïõìå ëïéðüí üôé: ∆b0 = 0.6,
∆b1 = α−0.6, ∆b2 = 0.6−α, ∆b3 = −0.6 êáé ∆2 b0 = α−1.2, ∆2 b1 = 1.2−2α,
∆2 b2 = α − 1.2. Åöáñìüæïíôáò ôïí áëãüñéèìï de Casteljau óôï x = 1/2,
d2 y
âñßóêù: b10 (1/2) = b11 (1/2) = −α/2 êáé dx 2 (1/2) = b0 (1/2) = −α/2. Êáôá
2
[0, 1/2]. Áí Ý÷åé äýï Þ ðåñéóóüôåñåò, èá Ý÷åé êáé Üëëåò ôüóåò óôï äéÜóôçìá
d2 y
[1/2, 1], äçëáäÞ óõíïëéêÜ ðåñéóóüôåñåò áðü äýï ðïõ åßíáé Üôïðï. Áñá, ç dx 2
139
(êáé êáôÜ óõíÝðåéá êáé ç êáìðõëüôçôá) äåí ìçäåíßæåôáé ðïõèåíÜ óôï [0, 1], áí
d2 y
dx2
(0) ≤ 0. Ç óõíèÞêç ðïõ åðÜãåôáé ãéá ôï α åßíáé ç áêüëïõèç:
d2 y
2
(0) = 12∆2 b0 = 12(α − 1.2)
dx
d2 y
ïðüôå dx2
(0) ≤ 0, áí êáé ìüíïí áí, α ≤ 1.2.
Áóêçóç 18. Íá âñåèåß ôï óçìåßï ìåãßóôïõ åíüò ôõ÷áßïõ óôïé÷åßïõ Bin ôçò
âÜóçò Bernstein âáèìïý n.
Ëýóç: Ãéá íá õðïëïãßóïõìå ôï óçìåßï ìåãßóôïõ ôçò óõíÜñôçóçò Bin (t) äåí
Ý÷ïõìå ðáñÜ íá ôçí ðáñáãùãßóïõìå êáé íá ëýóïõìå ôçí åîßóùóç
dBim (t)
=0
dt
êáé óôç óõíÝ÷åéá íá äåßîïõìå üôé
d2 Bim (t0 )
<0
dt2
üðïõ t0 ç ëýóç ôçò ðáñáðÜíù åîßóùóçò. Å÷ïõìå óõíåðþò:
dBim (t) ¡n¢ i−1 ¡ ¢
dt
= i
it (1 − t)n−i − ni (n − i)ti (1 − t)n−i−1 =
n! n!
= i!(n−i)! iti−1 (1 − t)n−i − i!(n−i)! (n − i)ti (1 − t)n−i−1 =
n! n!
= (i−1)!(n−i)! ti−1 (1 − t)n−i − i!(n−i−1)! ti (1 − t)n−i−1 =
h i
n! i−1 n−i−1 1−t t
= (i−1)!(n−i−1)!
t (1 − t) n−i
−i =0
140
÷ñçóéìïðïéþíôáò ôç ëåãüìåíç éóïâçìáôéêÞ ðáñáìåôñïðïßçóç ({0, 1, 2}) êáé
ôéò ðáñáêÜôù ãåùìåôñéêÝò áðáéôÞóåéò:
(A1 ) ç óýíèåôç êáìðýëç íá ðáñïõóéÜæåé óõíÝ÷åéá C 1
(A2 ) íá éó÷ýåé ç (A1 ) êáé åðéðëÝïí ôï åöáðôïìåíéêü äéÜíõóìá óôï p0 íá åßíáé
äåäïìÝíï (Ýóôù q0 )
(A3 ) íá éó÷ýåé ç (A1 ) êáé åðéðëÝïí ôá åöáðôïìåíéêÜ äéáíýóìáôá óôá p0 , p2
íá åßíáé äåäïìÝíá (Ýóôù q0 , q2 )
(A4 ) íá éó÷ýåé ç (A1 ) êáé åðéðëÝïí ôá åöáðôïìåíéêÜ äéáíýóìáôá óôá p0 , p2
íá åßíáé óõããñáììéêÜ ìå äåäïìÝíá äéáíýóìáôá (Ýóôù n0 , n2 )
( B1 )
(B1 , B2 , B3 , B4 ) üðùò ïé (A2 , A3 , A4 ) áëëÜ ç óýíèåôç êáìðýëç íá ðáñïõóéÜæåé
óõíÝ÷åéá G1 áíôß ãéá C 1 .
P2
Ëýóç: Ç êáìðýëç èá áðïôåëåßôáé P2 áðü äýï ôìÞìáôá, Ýóôù r1 (u) = i=0 bi1 Bi (t),
2
u ∈ [0, 1], t = u êáé r2 (u) = i=0 bi2 Bi2 (t), u ∈ [1, 2], t = u − 1. ÅðåéäÞ
ïé êáìðýëåò Bézier Ý÷ïõí ôçí éäéüôçôá ôçò ðáñåìâïëÞò ôùí áêñáßùí óçìåßùí
åëÝã÷ïõ, èá ðñÝðåé: b01 = p0 , b21 = b02 = p1 , b22 = p2 , þóôå ç óýíèåôç êá-
ìðýëç íá ðáñåìâÜëëåé ôá óçìåßá p0 , p1 êáé p2 . ÌÝíåé ëïéðüí íá õðïëïãßóïõìå
ôá óçìåßá b11 êáé b12 .
(A1 ) Ç óõíèÞêç C 1 óõíÝ÷åéáò óôï óçìåßï r1 (1) = r2 (1) = p1 ãñÜöåôáé:
2(b21 − b11 ) = 2(b12 − b02 )
äçëáäÞ,
b11 + b12 = 2p1 .
Åäþ äçëáäÞ Ý÷ïõìå ìüíï ìßá äéáíõóìáôéêÞ åîßóùóç êáé äýï Üãíùóôá óçìåßá.
Ôï ðñüâëçìÜ ìáò äçëáäÞ, Ý÷åé äýï (âáèìùôïýò) âáèìïýò åëåõèåñßáò.
(A2 ) Åäþ, åêôüò áðü ôçí ðáñáðÜíù óõíèÞêç C 1 óõíÝ÷åéáò, Ý÷ïõìå êáé ôçí
åðéðëÝïí ïñéáêÞ óõíèÞêç:
dr1
(0) = q0 .
du
ÄçëáäÞ:
2(b11 − b01 ) = q0 .
Ôï ðñüâëçìÜ ìáò ôþñá åßíáé êáëÜ ïñéóìÝíï (2 åîò., 2 Üãíùóôïé) ïðüôå ìðï-
ñïýìå íá âñïýìå ôá óçìåßá åëÝã÷ïõ: b11 = p0 +q0 /2 êáé b12 = 2p1 −p0 −q0 /2.
(A3 ) Åêôüò áðü ôéò óõíèÞêåò ôùí ðåñéðôþóåùí (A1 ) êáé (A2 ), Ý÷ïõìå ôçí
åðéðëÝïí ïñéáêÞ óõíèÞêç:
dr2
(2) = q2 ,
du
141
ç ïðïßá ãñÜöåôáé:
2(b22 − b12 ) = q2 .
Ôþñá ôï ðñüâëçìá åßíáé õðåñ-ïñéóìÝíï ìå ìßá äéáíõóìáôéêÞ åîßóùóç ðá-
ñáðÜíù áðü ôá Üãíùóôá óçìåßá, êáé êáôÜ óõíÝðåéá äåí Ý÷åé, åí ãÝíåé, ëýóç.
(A4 ) Ïé äýï ïñéáêÝò óõíèÞêåò ôþñá ãßíïíôáé:
äçëáäÞ:
(b11 + αb12 ) = (1 + α)p1 ,
üðïõ α Üãíùóôïò èåôéêüò áñéèìüò. Å÷ïõìå äçëáäÞ ôñåéò âáèìùôïýò âáèìïýò
åëåõèåñßáò.
(2 ) Åäþ óõíäõÜæïíôáé ç ïñéáêÞ óõíèÞêç ôçò ðåñßðôùóçò (2 ) ìå ôç óõíèÞêç
óõíÝ÷åéáò ôçò ðåñßðôùóçò (1 ) êáß å÷ïõìå Ýíáí âáèìü åëåõèåñßáò.
(3 ) Åäþ óõíäõÜæïíôáé ïé ïñéáêÝò óõíèÞêåò ôùí ðåñéðôþóåùí (2 ), (3 ) ìå ôç
óõíèÞêç óõíÝ÷åéáò ôçò ðåñßðôùóçò (1 ) êáß å÷ïõìå ìßá öïñÜ õðåñ-ïñéóìÝíï
ðñüâëçìá.
(4 ) Åäþ óõíäõÜæïíôáé ïé ïñéáêÝò óõíèÞêåò ôçò ðåñßðôùóçò (4 ) ìå ôç óõíèÞêç
óõíÝ÷åéáò ôçò ðåñßðôùóçò (1 ) êáß å÷ïõìå Ýíáí âáèìü åëåõèåñßáò.
2 2
(b21 − b11 ) = (b12 − b02 )
h 1−h
Aíôéêáèéóôþíôáò b21 = b02 = p1 , ðáßñíïõìå:
hb12 + (1 − h)b11 = p1 .
142
Ïé ïñéáêÝò óõíèÞêåò ãßíïíôáé:
2 2
(b11 − b01 ) = αn0 , (b22 − b12 ) = βn2 ,
h 1−h
äçëáäÞ:
h 1−h
b11 − α n0 = p0 , b12 + β n2 = p2 .
2 2
ÐïëëáðëáóéÜæïíôáò ôçí 1ç åðß 1 − h, ôç äåýôåñç åðß h êáé ðñïóèÝôïíôáò êáôÜ
ìÝëç ðáßñíù:
h(1 − h) h(1 − h)
(1 − h)b11 − α n0 + hb12 + β n2 = (1 − h)p0 + hp2 .
2 2
Ðáñáôçñþíôáò üôé ôï Üèñïéóìá ôïõ 1ïõ êáé ôïõ 3ïõ üñïõ óôï áñéóôåñü ìÝ-
ëïò ôçò ðáñáðÜíù åîßóùóçò åßíáé, áðü ôçí åîßóùóç óõíÝ÷åéáò ßóï ìå p1 êáé
ðïëëáðëáóéÜæïíôáò ìå −1, ðáßñíù:
2(p1 − (1 − h)p0 − hp2 )
αn0 − βn2 =
h(1 − h)
Ç ðáñáðÜíù åîßóùóç Ý÷åé ìïíáäéêÞ ëýóç ìüíï áí ôá n0 , n2 åßíáé ãñáììéêÜ
áíåîÜñôçôá.
Áóêçóç 21. Äßíïíôáé ôá óçìåßá p0 = (0, 0.06)T , p1 = (0.17, 0.09)T , p2 =
(0.20, 0.14)T , p3 = (0.21, 0.26)T . Íá ïñéóèåß ìßá óýíèåôç êáìðýëç Bézier, üóï
ôï äõíáôü ìéêñüôåñïõ (ïìïéüìïñöïõ) âáèìïý, ðïõ íá éêáíïðïéåß ôéò ðáñáêÜôù
áðáéôÞóåéò:
(i) ÐáñåìâÜëëåé ôá óçìåßá pi , i = 0, . . . , 3
(ii) Óôá äéáóôÞìáôá (p0 , p1 ) êáé (p2 , p3 ), åêöõëëßæåôáé óå åõèåßá.
(iiiá) ÐáñïõóéÜæåé ãåùìåôñéêÞ óõíÝ÷åéá ðñþôçò ôÜîçò.
(iiiâ) Íá âñåèåß ç ðáñáìåôñïðïßçóç ôçò êáìðýëçò, Ýôóé þóôå ç ðñïçãïýìåíç
êáìðýëç íá Ý÷åé ðáñáìåôñéêÞ óõíÝ÷åéá ðñþôçò ôÜîçò.
ìå α1 , α2 > 0 êáé
ni
X µ ¶
u − ui−1
bi (u) = bij Bjni
j=0
ui − ui−1
143
Åýêïëá, áðü ôïí ôýðï ôçò óõíÝ÷åéáò G1 óôï óçìåßï P1 , êáôáëÞãïõìå óôç
ó÷Ýóç:
P1 = (1 − λ)b21 + λb1,n1 −1
ìå 0< λ< 1, ðïõ ìáò ëÝåé üôé ôá óçìåßá b1,n1 −1 , b21 êáé P1 åßíáé óõããñáììéêÜ.
Ìå áíÜëïãï ôñüðï êáôáëÞãïõìå óôï óõìðÝñáóìá üôé ôá óçìåßá b2,n2 −1 , b31
êáé P2 åßíáé åðßóçò óõããñáììéêÜ. ÅðåéäÞ äå ôï ðñþôï ôìÞìá åßíáé åõèåßá,
üðùò êáé ôï ôåëåõôáßï, ôï óçìåßï b21 âñßóêåôáé óôçí åõèåßá ðïõ äéåñ÷åôáé
áðü ôá P0 êáé P1 , åíþ ôï óçìåßï b2,n2 −1 âñßóêåôáé óôçí åõèåßá ôùí P2 êáé
P3 . ÅðåéäÞ èÝëïõìå íá êñáôÞóïõìå üóï ôï äõíáôü ÷áìçëüôåñï ôï âáèìü ôçò
êáìðýëçò, ôáõôßæïõìå ôá äýï áõôÜ óçìåßá:
b2,n2 −1 = b21 =⇒ n2 = 2
êáé üðùò ðñïêýðôåé, ï âáèìüò óôï äåýôåñï ôìÞìá åßíáé ßóïò ìå 2. Åðéëýïíôáò
êáé ôï ó÷åôéêü óýóôçìá âñßóïõìå:
µ ¶
0.1962
b21 =
0.0946
144
Åôóé ðñïêýðôïõí äýï äéáíõóìáôéêÝò åîéóþóåéò ìå ôÝóóåñéò áãíþóôïõò, äç-
ëáäÞ Ýíá óýóôçìá 4 × 4. Ïìùò, ãéá êÜèå ìßá áðü ôéò äéáíõóìáôéêÝò åîéóþóåéò
ðñïêýðôïõí äýï áëãåâñéêÝò, ðïõ üìùò åßíáé ãñáììéêÜ åîáñôçìÝíåò, áêñéâþò
åðåéäÞ ôá óçìåßá ðïõ åìöáíßæïíôáé óå áõôÝò êåßíôáé ðÜíù óôçí ßäéá ãñáììÞ.
Åôóé ïé åîéóþóåéò ãßíïíôáé äýï. Áí èÝóïõìå, áðü ôçí áëëç ðëåõñÜ, u0 = 0 êáé
u3 = 1 ôüôå ôßðïôá äåí áëëÜæåé óôçí êáìðýëç ãéáôß áõôü ðïõ êÜíïõìå, ïõóéá-
óôéêÜ åßíáé ïìïðáñáëëçëéêüò ìåôáó÷çìáôéóìüò ôçò ðáñáìÝôñïõ. Ìå áõôü ôïí
ôñüðï ôï óýóôçìá ãßíåôáé 2 × 2 êáé Ý÷åé ìïíáäéêÞ ëýóç.
145
µ ¶
0
Ç óõíÝ÷åéá ôçò äåõôÝñáò ðáñáãþãïõ äßíåé by11 = 1 êáé Üñá b11 = êáé
1
ìáò ìÝíåé åðßóçò ç áëãåâñéêÞ åîßóùóç ùò ðñïò x:
1 x 1
(1 − 2b12 + 0) = (1 − 2bx21 + bx22 ) (3)
(u1 − u0 )2 (u2 − u1 )2
Óôïí êüìâï P2 ç óõíÝ÷åéá C 1 äßíåé:
1 1
(P2 − b22 ) = (b31 − P2 )
u2 − u1 u3 − u 2
áðü üðïõ áìÝóùò ðñïêýðôåé by31 = 1 êáé Üñá ìáò ìÝíåé ìüíï ç åîßóùóç ùò
ðñïò x, äçëáäÞ:
1 1
(8 − bx22 ) = (bx − 8) (4)
u2 − u1 u3 − u2 31
Ç óõíÝ÷åéá C 2 äßíåé:
1 1
2
(P2 − 2b22 + b21 ) = (b32 − 2b31 + P2 )
(u2 − u1 ) (u3 − u2 )2
áðü üðïõ ðñïêýðôåé: by32 = 1 êáé ç åîßóùóç ùò ðñïò x ãßíåôáé:
1 1
(8 − 2bx22 + bx21 ) = (bx − 2bx31 + 8) (5)
(u2 − u1 ) 2 (u3 − u2 )2 32
Óôéò åîéóþóåéò (2)-(5) Ý÷ïõìå áãíþóôïõò bx12 , bx21 , bx22 , bx31 êáé bx32 . Äå ìÝíåé
ðáñÜ íá ãñÜøïõìå êáé ôéò áíéóüôçôåò ðïõ èá ðñïêýøïõí áðü ôçí ïñéáêÞ
óõíèÞêç óôï P3 , ðïõ åßíáé:
b03y (u3 )
tan(−40o )< < tan(−30o )
b03x (u3 )
üðïõ
3
b03x = (10 − bx32 )
u3 − u2
3 −3
b03y = (0 − by32 ) =
u3 − u2 u3 − u 2
äçëáäÞ
−3
tan(−40o )< < tan(−30o )
10 − bx32
146
Âéâëéïãñáößá
147
[10] Í.Ê. Óôåöáíßäçò, ÅéóáãùãÞ óôç Ãåùìåôñßá, Ã' Åêäïóç ÂåëôéùìÝíç, Èåó-
óáëïíßêç (1993).
[11] D'A. W. Thompson (1961) ``On Growth and Form'', Cambridge University
Press. Reprinted from 1917.
[12] ``The VRT Team'' (1998), VRT for Windows, User Guide, Superscape VR
plc.
[13] John Vince (1995), Virtual Reality Systems, Addison -- Wesley.
[14] Jerry Isdale (1993), What is Virtual Reality, A Homebrew Introduction.
[15] ACM (1992), Computer Graphics Journal, Vol. 26, No. 3, August 1992.
[16] Steve Aukstakalnis & David Platner (1992), Silicon Mirage: The Art and
Science of Virtual Reality, Peach Pit Press.
[17] H.B. Smits (1994), Maritime Simulation Centre The Netherlands, MARIN
Report, No. 52 pp. 626-627, July 1994.
[18] Rory Stuart (1996), The Design of Virtual Enviroments, MC Graw Hill.
[19] Microsoft Windows Programmer's Reference, Microsoft Corporation, Mi-
crosoft Press, 1990.
[20] Programming Windows 3.1 (Third Edition), Charles Petzold, Microsoft
Press, 1992.
[21] Windows Programming Primer Plus, Jim Conger, Waite Group Press, 1992.
[22] Moving from C to C++, Greg Perry, Sams Publishing, 1992.
[23] C++ Primer, Stanley B. Lippman, Addison-Wesley Publishing Co, 1991.
[24] Teach Yourself C++ in 21 days, Jesse Liberty, Sams Publishing, 1994.
[25] The C Programming Language, Brian W. Kernigham & Dennis M. Ritchie,
Prentice Hall, 1988.
[26] C Disk Tour, L. John Ribar, Osborne Mc Graw Hill, 1992.
[27] OpenGL Programming Guide, OpenGL Architecture Review Board, Ad-
diton Wesley, 1994.
148
[28] Algorithms in C, Robert Sedgewick, Addison Wesley Publishing Co, 1990.
149