<?xml version="1.0" encoding="UTF-8"?>
<Worksheet><Version major="6" minor="1"/><View-Properties><Hide name="Section Range"/><Hide name="Group Range"/><Zoom percentage="100"/></View-Properties><Styles><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 1259" rightmargin="0.0" spaceabove="8.0" spacebelow="4.0"/><Layout alignment="centred" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal256" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 3" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 2" rightmargin="0.0" spaceabove="8.0" spacebelow="2.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 1" rightmargin="0.0" spaceabove="8.0" spacebelow="4.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="_pstyle264" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="centred" bullet="none" linespacing="0.0" name="Title" spaceabove="12.0" spacebelow="12.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 2260" rightmargin="0.0" spaceabove="8.0" spacebelow="2.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal263" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Font background="[0,0,0]" bold="true" executable="true" family="Monospaced" foreground="[255,0,0]" name="Maple Input"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Heading 1259" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" foreground="[0,128,128]" italic="false" name="Hyperlink" underline="true"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal256" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" name="_cstyle259" size="14"/><Font background="[0,0,0]" name="_cstyle258" size="14"/><Font background="[0,0,0]" name="_cstyle257" size="14"/><Font background="[0,0,0]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="true" name="Heading 3" readonly="false" size="14" underline="false"/><Font background="[0,0,0]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Heading 2" readonly="false" size="14" underline="false"/><Font background="[0,0,0]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Heading 1" readonly="false" size="18" underline="false"/><Font background="[0,0,0]" name="_cstyle271" size="12"/><Font background="[0,0,0]" italic="false" name="_cstyle270"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="_pstyle264" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" executable="false" family="Monospaced" foreground="[0,0,0]" name="_cstyle21"/><Font background="[0,0,0]" bold="true" family="Times New Roman" name="Title" opaque="false" size="18" underline="true"/><Font background="[0,0,0]" bold="true" name="_cstyle269"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal263" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Heading 2260" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="false" name="_cstyle267" size="12"/><Font background="[0,0,0]" bold="false" name="_cstyle266" size="12"/><Font background="[0,0,0]" name="_cstyle264" size="14"/><Font background="[0,0,0]" family="Times New Roman" name="Page Number" underline="false"/><Font background="[0,0,0]" name="_cstyle263" size="14"/><Font background="[0,0,0]" name="_cstyle262" size="14"/><Font background="[0,0,0]" name="_cstyle261" size="14"/><Font background="[0,0,0]" name="_cstyle260" size="14"/></Styles><Page-Numbers enabled="false" first-number="1" first-numbered-page="1" horizontal-location="right" style="Page Number" vertical-location="bottom"/><Group><Input><Text-field firstindent="0.0" layout="Title" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Title"><Font executable="false" foreground="[0,0,0]" italic="false">ON GEOMETRIC CHAIKIN'S APPROACH TO FRACTAL MODELING OF CONTOURS</Font></Text-field><Text-field layout="Normal256" style="Normal256">

Wieslaw Kotarski (<Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://" size="12" style="Hyperlink">kotarski@gate.math.us.edu.pl</Hyperlink>) &amp; Agnieszka Lisowska (<Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://" size="12" style="Hyperlink">alisow@ux2.math.us.edu.pl</Hyperlink>)
Institute of Computer Science
Silesian University
Bedzinska 39
41-200 Sosnowiec, Poland
</Text-field></Input></Group><Text-field layout="Heading 1" style="Heading 1"/><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1"> <Font bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" style="_cstyle257" underline="false">ABSTRACT</Font></Text-field></Title><Text-field layout="Normal" style="Normal">This worksheet  can be treated as the third part of our previous Maple applications </Text-field><Text-field layout="Normal" style="Normal">(<Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://www.maplesoft.com/applications/app_center_view.aspx?AID=1651" size="12" style="Hyperlink">http://www.maplesoft.com/applications/app_center_view.aspx?AID=1651</Hyperlink> and  <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://www.maplesoft.com/applications/app_center_view.aspx?AID=1657" size="12" style="Hyperlink">http://www.maplesoft.com/applications/app_center_view.aspx?AID=1657</Hyperlink>)
in which we used analytical representation of Bezier curves in 2D contour modeling. Here we demonstrate how one can model fractally any contour basing on purely geometric Chaikin's approach. 
</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle258"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">1. CHAIKIN'S CURVE</Font></Text-field></Title><Text-field layout="Normal" style="Normal">Bezier curves that are widely used in modeling of 2D shapes are based on analytical representation using Berstein polynomials [3]. Chaikin's approach [1] to modeling is purely geometric. Namely, according to his paradigm a curve is generated using "corner cutting scheme". It works in the following way. For a given control polygon , {P0,P1,...Pn} we create a new one by generating a sequence of control points {Q0,R0,Q1,R1,...,Qn-1,Rn-1} , where Qi  and  Ri are calculated according to the formulae [4]:</Text-field><Text-field layout="Normal" style="Normal"> </Text-field><Group><Input><Text-field alignment="centred"><Image height="41" width="108">TUZOV3RLVWI8b2I8Uj1NRExDZE5CVVJES3I6cnNVQ0k7WzpeW0pfY05nQnZ5eXlZWkJpZktHPUBKQ2BOXFxATmRcXFFncVhmaFJBSFJKbEpsXW95eXlFeXBjYVReTXhydFZvVHNcXERrQ0hqTVhPZ2lwX0xKW1FxS1RyR212alxcUzxFeG9BUztpTkhUbEdYVUpMbEd1aldBb2RsTGpNa1NEWFdAUnY8cU5NUHBVdlt5bkBJTmRtS2FVcWU8a0VQUmBhdGJtdEJgWUtoeFZZdmRtcTpUbUJhdFREcEFcXHE/aHJPeGtqaWx2SHFtbFZ1UXZbTG5FPFBlTW1FdFVAVU95PUtrSHZqWVJPZHd4YFZfVVBUdE5FYVNleFRQUHRuaHhVUEtvcFM9cXFVXU9xaG5edUtuVHJVQFBIWHM9bW1HeFdGPFFNVWtWSHNMPU91YWtNXFxsPHhTUTx1XFxRUEVhVUp5U2U9VzpRUEZRbEVFTUhFcVdUUGdhUWFJTXVlS2x0VWRQSnFAUF5IcXJkbVM8Um1AdEtVb0JoUFJZeVRFSk9dVUxQS3U8cFlcXHdOYXhDSXJyRU5RYFJgaXJPbE10bVdbQVBGTE9TeHJrcXlxUWxEWHlpRWpBQVk8QHM+eG9ydFJZUVZ2PTo7UkxFZE1DZGU/RFI/ND4=</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">   and  </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="41" width="108">TUZOV3RLVWI8b2I8Uj1NRExDZE5CVVJES3I6cnNVQ0k7WzpeW0pfY05nQnZ5eXlZWkJpZktHPUBKQmBOXFxATmRcXFFncVhmaFZBSFJSbGpbcWt5eXlfdUtrUU9mRU5rPExPXU1iYHI/UFVSaVNWYFA8PHdUaW9MaXFeRUtleHRaXWxMVXNbSXJXTVBYQFReSXNMUHJCZHNsQFdXWFBxbHVfSE5RTVBTZHlucXhjYFZCPVBCWXU7TU5BYHNfXFxSeXBTckh1XklWR2V3VDxrP1RVZGlsSlVZTF11YmxLW2V2eFh1SXV2RkBTZFhVUWx0VVh1RlBtV2lQQGlrOz1YXFxsV0JkUlNtbFVAc0BkSnVETFh5UlpkbUthWXdwaktUdWc9bUhmc2I+XFx1V25feFpUQGh5QWpWdnhLV287T2N0aWRpbmtpbmFSSXE9Tmp1PnBCZmtBSFxcUFlJYUVAUVNOa1RiUUJfb0haW3laUVhpWUh1QWRlXUVEP2VKS2NTV3k9SUJvbVVkS1VdV2ZSSURJP1hNYWlaZ1NjXUJtO1hJWWljZ3R1Q0Y8aWRAX1VEQ1VUc3RSSVJeSWVqcUdIQ1dsV3VJUXlJS0VMRXh4aUdCQVVZPVJCPXhPU1VsXVRoPTw7UkxFZE1DZGU/RFI/ND4=</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal">After few iterations as the result one obtains a smooth curve. Chaikin's method  (see Fig. 1) provides a very simple and elegant curve drawing mechanism.  </Text-field><Text-field layout="Normal" style="Normal">        </Text-field><Text-field layout="Normal" style="Normal">                                   </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="171" width="478">TUZOV3RLVWI8b2I8Uj1NRExDZE5GWlhdaEBbPVppaFxcVmBKSFpKX2NOZ0I+SjxKOj9qOkQ6O0JaPmo6Qlo7XjpBcjp5WXZZeXl5anl3eTpyeXl5eTxKOj46Ojo6Ojo6Ojo6Ojo6YVtga0ZDbTxqeT1qU3JGYWtTVGBtRk1hQ21IbXlvRlRwU25mYGNTbU5tbGZgd1ltXlNYQG1mU2BzRkdtRlVgeVFgQ21hS2BVYEZJTVNIbWx2eXd5Oj5aeVlAeWlTeHlGPWp5bWZ5eXltQjo8alNIXWBXQG12Rmx2U3Z5bVZAYWtTSF1gV2BtRm1tVmBGWWBtdnltbkZUcFNuZmBXYGBHbW1uZkZZYGB3eW1GTWBzU0ZtYFdgU0htbUZtRllgU3h5bV5TbHZTXnNgV2BGSW1tXnNGWWBGeXltdllhc3lhc0Z5aVNhc3ltdkZ5SW1hc3l5aVM8WjpWQDtiU0dtRlVgRnFGeWlTYUM6R21TVmBgb0ZtZlNsVm12eWBvRkdtU1RgYG9GbWZTR0VtR2VTeWlTbV5TWEBtZlNgc0ZVcEZtVm1gc3lVUGBDbWFLYFVgRkltYF9zRnFmRnl5YHdZR3V5YWNTeWlTR3V5bWZTeUltR3V5eVlgPFo6VkA7YlM8akZhY0ZJTXlZYGFDOm1uU1ZgYHNGbVZgbHZGd3lTcGY6Rk1hU2BUYGBHbVNEbW1ueWFzRkdNYVNgVHBGR21TRG1tVmB5WWBTYEZZQFNoU2x2Rl9zRkltRnl5U3hZbXZ5YVNgeWlTbXZ5bVZgeUltbXZ5eUltPFo6VkA7YlM8akY/WkZhU3lJbWFDOlNwU1ZgYHNGbW5TbFZgd3lGcWY6XlNhQ21UYGBHTUdFbVNweW12Rj1KYFdgRmVTU3BGR21GYVN5SW1TUGBXYEZlU1NwRm1mRmFTeUlteVFgeXlTbHZ5VVBgeXlGbXZ5bVZgeXl5eUk8alM+WmBDOm1OOmxmOnZ5eW15a1NUYG1GTWFDbUhteXlJeWF5XWBHTUdFbVRweXlJeWF5bXlrRm1mU3h5eW15c3l2WXhJbHZ5eUl5YXlteXN5dllMTms8VWJCOl1CV19kTWF0eXl5eXlBOkI6RVNlbWZSPlxcZkljPkdiTj9pVGl3V3dpZlddT2ldeXdsYHZ2RFdeV2FkPl9eXmhgdklsbUdeeG9mPnFvcE5lbm5pbldmVFdqbkB1T0ZhVU9nXFxfYEBHWk9oaFpIeD1PXkNhamdBY2tPYEc+dHB5Yj9BXFxGcGM+SVpzYV1iaHVjX25VYGBHZmNUVFVVdm5VeHVfY3RRRmdHd2BrRlI/dGJBZXBXaURndWZxZHBFeVt1dXd3WHlbWUlxd3VxeWtFWEh5WGF5d3d1SWlpWVl5eFFZWUlXdDtTZnBpZkhrRjxvWGBvU2ZXZ15DUjs/aGJvcmJTVlhDTj5BTERUS05IeF9EWHRcXGpfUFNmaFR0dW9wYWtpdE51WVhuaHBHUVNYTG5mXFxsTk11clF0eUFzYUVUcWFvTFFPanFqQFBOVkVRWlluR11rcWVLOkFVOzxSP3BQeFBqdVRudkxMdmVxZ1BuVkhSRFhSQzxuY11RV01WdlRQcTxRbFRaVGFobVJgV0NfP0JBeWhGW2lDP1VnPUZbX0NXPXR1a0RYbWZKZ0daZ0ZdSXhkT2NoRUVFSUl5bWdwXWRLY1ZcXF1JWF1nV2NkcT1XPXdYW0V3PEFDVl1XT291RVNpZHVyS011dl1WWF1nV1NGTklpaHF5eE91a3VUWXd4Vj9YZltnO1FyVFtjUltpRk9VUmtVR0NUQ3lpSF9IZEN5XFxfUlY9dWpxRVVrZ0pBR0BpZFZJV2RDdlc9c0tFdGZRSWt1R1ZtZmpLWUplRltrd11PRFhJUjt3V2NvdWVPWHNNR19BQ2NfV289YkFnR19fZUVVZ01JU2BFZ25nZ2NlZnFpUlI/aFR5RFhZRFc7QkRdU1ZlV0RzZ3Y/RzxfUkBHY2VnU1tpd0xJRkI/Z0ZdVWdNa190WWdBVV5NeGR1U3JVWFtRd1tkUUVhdk9xbWpRblRtUFlMc0ZtVWdFS2lpckt1UDpZTmA8cHBdanFkWFtwbk1Ya2p0dGJoT1tpT154T3ZJa2RcXFNaZVdCdHdfXFxUUWVUYGhtVUFMWEl1SVV3Z1lOPFRqcWhLW2lPV01tSEVwT2hUYGVwWVxccWxRd19gd1A9VkNIU2Zod1ppT0lkVWRhcEtcXHJuWFhVSXJVPXVJaVl0SXNRPFZwWFh1SHJlWFdleGx5dG1XXVZcXFRXbTxZRW15Oml2SXlSRWFTXmVXQHRXXzx2eWB5U3hUUmh3VnFWalFzYXV0dllwbWRzXm10UD14XFxcXHhSUW15UWxzbE5tcHhkaXE8UXVETXZaVExTVVk7WW9meG9NdEtfRW1KUXVDbHVZQGtlcXlHcExSQHRUSVtPaHh0QWFAUXZQZ3c+dndcXHhpPUlbQmFlWXFgPHhgbVhpPUlrWm9tQ2dzVkBfU3BsZE9hPT9cXEd5Z3JGXkxHYFFBX1M/dWI+YnJ2Y0k+cV9Zdmlnb2RXYGVPbndfcDxZZWlPZGlOeHhveFVnYnRmbmlgaG9xbWdpZU9nam1ocWFfWnM+cj9eXmRvdD5fbGBXck1JYndfZ3BudnN2YlVPZEB5dXlBX3J4aD1JbWVfZl9xZElpWnJAcHdZd1d4dFZndXNoaUVxeFhQd1tRZ2h4aj12cFlGbj9udU5ZeUl5d2dJWlZpbWppaklfcWhBW2BXZmlvaU0/XFxMWGpOXmtlVltVSG5GTnRcXE90YWZqbmlyPk5fVmBfTkh3QHhwWE5sdlB3c1FgRk5xdG9obUlzOmZdQ1FzRj5dd2B4Sz9pP19uVW51Y0h0R3l2XFxoXFxJeWZlXnZ3V2JVeGNASW9SSHJST2FzRnBgeXFfcWlkSHY/V2pvb2NAXmFZUF9idnddUXdqaGI/d3Z3eGB3cGdLZ2s+QWA/QXhcXD5wZ3BzUz9lbFF1Y2BvclF3eFBbP1ZuaW9ganBhQnlgSEljTlZyVXdwQV93ZE5pVlh0aUBnb2FfTEFiPll5OlhreGZgcUh2RkFtYUB4VFZhQFdrUXF1UHd2ZnF4WV9pYHFaQUldO3dodl94Onl2cGB1eF9uZFFkUlB0VXd5dD5kaWF4dXhxd1h1P0hmeElfX0lyZT9xVXlrVnlrb2BiTl92W2lrU1Z0ZWdscWF1anFrSklec0l1TWlhcUhtQ1hzanh4ZGdiaHB3c0laUV5nTj9tVF5lWFBqRWlgTVdcXFNoY012ZWZ4cWBfXFx5Z21Fbl53QGldX2hzZlpRWF5laGReaGNXYV1OR2tpT2FxXl5zSGBgP3JXT3ZJUWg7aGZLR1o6QXN1UWA+eGg7eG95YF1IYWpVTltBZm1LV1o6ZnZPPl5ZPl9TdmxVUV9ibmVxYWlKd2hdUHN4eG9QZm49Z2JTPnc6WGBlVlpYRm9NT29OXnhzUHZBb3hDUWdHaG9XPmJLQWFTUV12aHF4UXlFb3FzUHBKXm1Zb3N2cGRnZ2xFQF5zbm1sbmVEYG9JR29pcHc+dmQ+Rm9aRmdYPndKT1pWXnZHb2xCV2VmWWtQSWF1XnZIR1o+UGxTeFpad3ZtPmJCRl0+cXBHdmJOUGZdaGptUWJTSWRhWWlpQWNqUGdEaWJBbnI8R2htSHZKeXVCV2ZnTmF5WHU9cGtcXEdgOlBhZFdtY0FtdG9lbD9xWHlzQVlwaF9aY3lsPEdgWlZqW1BnSVd4VV9ddWdsP3FiRWdsRz9hWT9kYVh5SHlkSVh0W0hnd191ZlF0Y3Bia0BuQklbYWljdFl4W1BdbXdeP15rOnBoX0BkWW9lbXZaVj93dWhwd0dnblFoal5ndkdtS3d3T3lkVWZcXEhJcWp4cEZ2ZG1Gdltec2RYYGBxZ2lXXktXeT5YXFxIeG9XeHJRUWpKR2JmUFs8aV5Sd3lsdmA8YHg8QGg7X2VwX3lYZ3BrQWRNXmhjcF1QT19SWHlocFpHV19maXZUaWFESXNAT3RIV2lQTm1uTmpRX2NubnlEaW06aWxYT2Nqb25RZmFzRnVSaXduUWBoZ25vXnVPb3N1YGNfSG5fYXVSV3Q/dmNyUHJHQXNoX1tfUWtUdm5bX2FHd29YYHVTQWVKUFxcdz94XFxWWmVebFFedWJxcT1JZEZeaEdmbVlAa0FobDxHbXVRXXhnYFRIbkludV5ZXFxAVl51eHU/UGhhSV5LdmJFaGZHYGs/YWpxZ2RSaVxcPWh2ZHlocFFnbml4WFdeWXF0P2Bhb2B0T3Zyc2BvVlBgclF0PVFjTEZoTEFiU2l1VlhuR25lXXVkWVJIdVJCT0NTeXddZVJ5a1RoV0h0UUV0bUhBbVJvS1drSVI/b0hyVXhAZWk+W0J2bUNJa2lic0lJZ2hlS0JUW0hGW1M/aWlMcXNfVXJCZWc6T2NOR3JVTUhuZXZzc2ZxPWdST0VBWWNha0Q9bWJZVVlgUUVfb1VsW1Rka0VPPWluW2JRRUldXUVcXGViX3VSQUdpaV1Sa2FlVGNTb2tWRXdiWGNYWWVycjtoP0NEVz14SHFSR1dCRkNoXXFTSGtpPUNDRnV0eT9yZ2VIeD9GYGlzcHVnTHFJXWV2TWtHW0tpdHVXQmF2SHVpPW90PG1TP2lDZkFHO1NkS0VycW1yTTtZRVVZRl1mT2lnTWFCaWVSbVNFVnViV1dob2lmdlFIYGlkVElJbWNFeDt3Q3F3d01VP2FTVk1yVmNTanFkdGFTTj9GUnl3UkVXPktkYEdoXXVCYVtTbDtWT0lyUVlDVWNoWll4VUdlWGVCVD92P2tJbW92Qll3SENFPU9XYGN3QXF3X0tiY2dySGNpakdUb1V0Z1NCcztUWz9DWFFoc0VyRz11W09pTUliQUl4bUNCaT1lbWdGTk1lWUNpTF1WbVFFdEF2dVt4OlljSHdJaG13Y2lTc1N2TGNTPj94aWtzWGNIaWVYVFdGbXFobldlQkt2cEtXY3VkY2lIU0dHRE9ZaWtyeGFmeD12PkdIUl91QF1UcGdiS1N5Om9jXlNHeUd5Pj1jPmdHW0dTXFxRWEBrdVxca3M+Z2VqV0JraXVWZWI+UWZOP1hOQUl2c3Y6X0VNb1lMb1RRd3JbWUduc1JHW2lzZ3lSc3hAYXdVU2JMUXRlW0ZRd1NHV1ZWXUZQc1RmVXhPZ0I+VWNla2RrXXVwQXlrS1daaXRqXUhNXVJwV0VTQWdCRUNsR0JrW2NrRURheXlhZ3dQdVRgU3ZlbUNhd3hIS3N0Y0ZqcWRrUURAa1lVb0lCT3libWVibXRga1Y6UVY6cWdQRVVOb0ZDUUhgO1VvZXl2PVlUT0RyZXI9P1Vxc3JmbXRSX2NmSXZCb2dJbWZqb0d1cWVHUXNgY1JUY1hfVXZ1SWhMY0ZqUUJ2T1hbSWJXa2h4VVlyS0lIbVg9S3Jkc3Y6a1hrR1ludVNOaURTVVh0T1M/W2lMa2ZEYXdKXXc+bFZaRHZGbWxMbFdqVVNWRHBfWFRAZVVUeVJYeXdpTHQ7dHd4XXFVWEpwTVptUF9jUXNZeWNdUWlcXEhodVZcXE53YkBgdWRWY2BZcUtmXFxqcWRqV3FPeHN0XnFfUWI8YHhQZltRd2ZUSV9xb2NoQWt1cF5mSV5eUGQ6dmdLVmE8eV1TP3BUcV1FV2ZtXm5fYWFfZnlkXmd4YF9Jb2JDZ2RgX3VNbmhKWG9Kc3U/Y1drYz13RVVdWF9heHVVdD5pclRlREJndWZRcklBVU5zQmRzU3JHR2dxZkFrZ2RJckVvdzxxaXdXdVxcUURRTXZyPWVycWVcXGtpSV9Faz9nPmNoXmFiZVd4Um1yWUFUdnNiUUNEcm1ES1NXaF91Ul1iVmFZS2F0Zz91UVFYUFNYdHlYSW9iVmlEcVl2bW9lPVlVSDt2cT92UllFUE1kZUdzO19Cc2lTRTtWQnN1QGVjU01oV3dCYE1maFNjdUNGc21DaVF4SE1idXlnbT9IclFTbGdEUVlSPV9CW2tnOl9XQ3VmcndJPUFoQ1lnUmdXQHdUd2NTbFFkUEtGQkNZY1NyS1dIZHd2Qk1yTWFlSG1JZF1GdU9lamdCUW1ldk1DXW92YltpbHNSbGt5ZklGcGFjTnlka1lTZW90eF9mPE10X0lGXmtYO014YnFlYFtYYTt3XVtTTFdHc2t1Sz1ZO3VFQ2l5PEN3PG1jdEFzd2tkTj1GUVlTTml2d2FmanFkSGdmP29GOllDbF9WVElVeU1YYTtYTmt1cUtJQm9tbkVOQUFrYmVXaEF3SWxKQnBPYWlUPGVtcD1WdkhRTVV5W3VQS2xxS0BYQklUcmVwZkRVVHRWQGBvVGhVdkh1XFxdc2lUU3B1VUZtTmVxcXdZeEdNdXh0a0VgT0w8VV1YVlxcQVFqXUxYaVRcXGFZVERTcURTRGxsXVBSPmhtRXlTTnVPU3ltaE11bGBNa2RKWXV1R0h4Qzx2ZlxccVNNVFdJS1lwTmpFa2R0eFNddk1NTldda3VcXFJsPFdeVG1zeFZDTUp1SHZDPXJoUXZ5VW1aaVFATW92VGY9eGdudmZIUGVvdmVgd15DdmdCUFxccm9xXklxQ1dhTkZsa3ZiWUdjVGZ4dV5baXBuS1BnY0BbPGl0SFF5R0lpRVlrR1BfXmBna2l5UnFtaUdpW0hxPz9kbT5peHhnc1ZhYVdpPkF1QnZ3PEZ4TW5kSVl2WFlcXHJOZ3NIYFQ/c3VuWmt4WkdIcF1gZU1Hdk9udmtPcmVQbHJfdXhRc3VYXVtpaUxAaWVwYDt2YHhYYU5QcGhXdklAbGV3c25uZ1JJcXlvakFmc18+ZWt2c3I/Y3NoZkFuaWNYcmBIakRyRGloW0V0QEVFPm92WHFiOmV5RWVzWVVzaEV5X1VIbVFHTXdZRztJSXNXS1FidGFjWltFT0lHc2FXWldjZj9VXkVIZj9Yck1IZFlCR3lmQ2Foa19zTHd2VkdTd1tXOndIYUVmQEF0QVdUa2VUTE9UcFtUWm1Sbj9IdGtjXUFXYWFHeWN3O0tpOktjQEdmYUVIaj1kbVVCWHljZ19yaF1CRlN1ZEFyRmdFVXNZdnVjP1dldkVyVV9TdT9ibk1ZPDtZPEVIWEFmXWNDPk92SGNyeXd0aV1YTV1SdXFoTXdJXWF1aUtyYHVYb3lHaXVoPWlWSWdmdVdWcWdFQ21pYz1FaT9HeE95Vjt4Qm94eG95ZFVCUGFmW2FlXVVFcGFnQXd4TnNWX0lycVtTP2VjcVV0S1F2SVtZO1lDS2t4PnFDZXNDdlFlTUtFZ0NJWUVJcl1mQVlHckVyV2lmWXN0ZWlEYllpeT1ZQ0lpV01mUFlyVXdDVE1oXFxzWU9ZVnZVVXR3dktzZz4/WWVJdkhDd29lWWNvWWVReWxVaGxBQ29Fd0hlVlB1dXJZeT95dXlIckNpdzppTXJFVHg9dUxVV1B5a1VsWHRhd0FIV0lkbkJUVmppeV1ldnFUWXB0cVNBeFtpcTpZU3RoTHhAWWR5b2VVTVhFeVN5UHFAUVVRdlBJd2dkbHFweGZBWURBdHZFT0lNWWRkYjxBcV54XmV2YVdBXFxPR2FKZnh0V3FoP21XT2l0QWVqT3ZcXFhjO1BsVD51d2Z3cW94UW50O1lxXFxHdVhXYFR5YWJWZFxcQWpRYVxcPUZgcz9dRl9vRz9yXnBaQWdhYVdrRWZzY0htVXBhd3lea25wXFxVaUtyZ0dzZ1NHaWtiZ2toYUVHbV9WWl1IPUtVYj1FP2t3c19oWD1oTk1lYG9iaURxb1hLPlFVeXhwUUVwVExpZ19dUkFbXkl3S1B2dlF4aEh1aWZeaV5mTFBzU2BcXHdeaVtfZ0JfdjpQaGh0ZG9EX0lSPWdZTmF4a0doWmNSXFxdQl1BQl9tZjxTSXFVZ2NHSVk7aTw7V2dbaUxneHBbRFddZ3l1V2RXSTtFdUVTcnNjZzpPQ2JtRTxXR0hrVWVZZl55aFhTZ0VTVjtVU015eERhWUZVVG5ZRz1jVUpJd0ZZVj5nVHdvY1xcdUdfdXZjX1ljbVFWRU5ucHJuUG1vSGxNZXZwaXRTSHFkcE1SSEpGQFc7eFBddVZSYHVQdW5mQFlabVVaTUpgcEpYPVZhTFZMRFRwZExOaUtJPVJgdFVkPXZnVHVEaE9DTHdjaUthTWxcXG9eWHdvY3l5Y2ZqQXBdb1hsQVB3Pl9dPk50UklvQXhxV191eUliZ05kWVh5WkFgZ3Z3Ymh3dFZ4V3hraFddSG9hamhqaEZ1RVdeeW9pZkFkY1lfWV53Z09adlBzSXleZmdxd3llWGlvbEd5W2F0eW55cFFzaW9lcmFuRGBoeElhdE9takltY1lySXl5aFlnQW9ndl5jU3d1dGFmZFFvcXdtdWlzRXZ5cHdfU25pU0dhWVh4U1lfQWZbUVFbZGFwZEFbdlFlZ19bWV9sYEFfTFZmX0BlWEloSl9hSWdlVlBjPU9jR19lV2ljallpWUhwU2hdPWhkZUZ1YXhfdFlmWkBdQ1ZqS1hkdmZiXFxfeGVQeFhGYlNobkdJW2FpbERnZFZnXlJGZzxecWRodXBocVRfamR2ZGdXXkRQaXBnaHBPbGBeaDtJd1RPaGJHaG5pZ1d5Y1F3dmdRazw+XlFfeT9YcVZXbFB3cl9XcXM/c2BZbFhAaVU+X3RnZDt3c1BwY0hoXj5Pb15BcW9WWzpOX15QW25HbkVebFRxa1RHcTxhXFxhcWVZP3FOeHdHcW1waGVMR2hzZ2BUSG9YT3VsQVtRX3FZWW9mZ3B3QV9bWXRsSHhecHJKaW5GbmU+cHhTcWlOcXdFaGJdaVpOUGZcXGduZ3h4ZFl1ZndhZF95PGFwcVB2Zk9tXU9mX2BbWGd1S2h1blhnTVFuWGBtYUdsYE93WmlzdEZmZHFjXkBqcHd4ZV9vaVF0QXZna153OllwQHd5RW5bPllaRm9uTklyVU94c05sU2hsTUheQVdfPUlsbVZvWVZheEhmbU5sV0ZpRlBecUZbWHlHY3ZXaVhhdWZNTVNpVUlsQWU/X2M9WVV4T1NIX3drS0NgVXNoV3J1RUhdXWh1cVNBbVZEaXdHc1VnQUdtdWV5Z3JLT1RqZ0dxX1VlYWdKUVlWR3Zld1ZBcVhxR3Z3P3NhV1JlPWR1Y1dtU3ljT1lGV3ZpSXU+c0RdV0JqS1d5VXNTR0Q9d2RLVUM8WW9PTE1TVHRuZVNbWFReTW9YUVFqcVdDZXFxQXRPRXhXdHRBUUtxXFx4SmVyUnltSEx4eVxceFlVT1Bsb2FYa2dmXWRhXFxpQXl1SV5DbnhucFp2eHRmYHV5QXNNZm07cHlZd3dfUGtreHNsWXFIZnd1UGFKPnlfeWRjUWtsb2lOaXk/eW5od2pKTmRgbm9AUHNTV2RlRnNnP19WVmVbWGNRTmhsUGFPZmI7R3RxUGJRQHJyWGBkT3BEeWRmZ2JlZ1tyd3NsaV5rb2NlaWx1UWljUGZmZ1xcTnZ3RFdfPFBuaEFuRT9mdW5zUWZyY2dlUWFqaHBkOnhwTT5vX0BfPkZuS3FvWmZkT3lnOmdiYz9bXFxWXjtwZ0RRc1FnbGxnbGlAZkR3XFxzcHQ6eGxlaGdOdl90eWRBRl9dYW9wcHdYX2tNPmdFcV1FZmB4YGJoeGllV19aWHFoR3dObmJmXm87QWs7WXNCSHJFPVpaaWY+QXZfX1I6OjxZU0RQckVNazo6QlhtUkZrVUBlRz11eT1rclJPZ2ZhZGFtR2Y7Qjo7al5QTmFMTlFFTmpENUI=</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Text-field layout="_pstyle264" style="_pstyle264">                                                 Fig. 1. Chaikin's corner cutting method (from left to right 0,1 and 4 iteration)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">It should be pointed out that Chaikin's curve is equivalent to a quadratic uniform B-spline [7] that in turn is equivalent to a piecewise quadratic Bezier curve. Similarly as to de Casteljau subdivision algorithm the matrices that are used for obtaining control points of the left and the right parts of the divided  curve have the following form [4]:</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="75" width="145">TUZOV3RLVWI8b2I8Uj1NRExDZE5SXnJMS3I6cktBV19rPFNCTlNET0U8eXl5eUFCbEVVTm1aO15sQ19iO19kck91Z1FtZXFbPUBeRm5iUU9ydXlxbHd2TEhxaj5scFlnO1ZeQ2d5W29sU2d3W1FkQUloTGZxWG5wX3hkSmZ3QV9sP1ludkl1V1lgTXFpY3B4VWZgXFxYalV4a2dgZ0R5dUFwcF9QaVJJaUpYbz5PeWJoaUlfbm13dGBwZHhgZl9RcUZvb1NoY09eZUV5eGV3Xk5uZD5GXFx1WGdHSHdbZ3RZd2tTZm9lb2I8VmNNWHNOTmVgPmBGWWh5Tl9gT2RrR3lPaGE+UFxcV2dkSnBtSmhlVm9dXFxOcmxGbGlYbkZncHB2aHJwYU94aUtObTtJYlxcXnA8Xlt3T2haRmxqV2RlYWZyWGg7d3JVcHlMcVpLP1xcP0ZkSmY6cFBeTE9WRFg6YUtrVXRmZUtscFVZRGxmbVRSSE08cW5zXFxXSkBvU0xyYEhrUlxcdm5EUlZ0cUptd0c8S3NQdHRhU01FTlxcSEptXFxRUUl1XUxLU1htTWV0eExMbEFxRlVYXnhrZnBWYlFUQmFXWVxcWFJhS3dNS1NwTkVgcTthUD9Ual5FeUs9TWZtanJIV0BIUkBRV148azxAXz9qcEROTF1vSFxceG9EUEJxeEZ5eVRBcEZwcWBAdVlNUDxkVVNsbEt5dE5UeVVoUUlwcndlT2dkSjxAeWRAbnNgUmB4WUBUUTtFWWREbD15dFRAbnZQeFBRSnNRVVdcXHBMQEtsaXBgPHNudGt0bGpfWXhvcFVKaG9JQFNOaU5OeXReVXlFdFVFaHRCPUxXWXBfZVh4eXVzcU1VWVB1QWtYdHhIQXdVYFhoSVVIPVRDdHdhSzpgblxcdE5cXHRUWzxQOzI7</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"> and </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="75" width="152">TUZOV3RLVWI8b2I8Uj1NRExDZE5CYHJMS3I6cmhnZ2lfPlNCTlNET0U8eXl5eUFCbEVVTm1aO3ZvQ19iO19kck91Z1FtRVBwPEBgRl5iV3FjeHl5UVhecW9fYmhaTHBfa2BhTkF2Rk5hPVF0aFdtcGB2Uj9qVWlgSVBoRVdmWU9mRj9dS3B5V3BrU15rSVBveGZhTmRjR0lpc3VJeUVpY1NYa0M8bVRXSWhiP2NHY2ZPXXlUd0dGdUZRbVRZSWZyVVdqeVNnRVlOV2hQbUVgbUVHQ1VnT2JYU0hlY0RhcUdRa1R3WXg6TXZiU1ZdZVNgd2drXVNvW1ZXbXRrZ1NrUVJvZUdWa1RDd1JMV2dRVWJwUXJAQXJPPWNidWhPZ0VgYXVUUVVgVUlRaVhnX1dEa0VRQ2lnZXltO0k9d2hkTXlvZ0VTb1NkeVR2W3JNQVVUU1NdRVdmY2NfR2hZdUhwYWJOZVRcXEl5aW91b2tEcmVZU19TQ0V0eU1nP2VGcmtCXFxvVz1rdVBrSUFDR0NLd19PdEY7eHA/eHNfdEJtdF9TRmZRQnZPVFE/SUl3SFh5eD9NdVZXcz5BaVBzV25hUkBbRmpRVWxDSFxcYUVpSWhKO3hoY1ZcXF1VZnFSWUNUaGtkeFdScHdFUXNkcGFyYEVEb1tCdm9mRm1yeXlWaltZTl9VaDt2QkFZWmlXWllYPHNXYGdJY11HR2dOY11PR2h5TEhQWWhRc1xcb2ZFeGFdVmFdcl1RU2hVcU9AdklxdVZFc2d1cExcXHlzbXZSVFhNZHJsbVVncVF5bWxXaEtzVWpLaXVqZWxNUW5PQXZJRXV1TGxmZFlHaWp1VE1deHhLdUw8QXJSVFdsZU5XSVNYdFlATVlGbE9ISU9XRFFRbWxWRW1jdVNUVHFUSU5mYVNzTHhXZHJFdXhSbG90cXZqaW1adHRZZXNXTXhtbT47QjpNVEtXREtXZ0o7ZVoxOg==</Image></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle259"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">2. IFS FOR CHAIKIN'S CURVE</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">By analogy  to the nice result of Goldman [2] who showed how Bezier curves can be generated fractally we find Iterated Function System (IFS) for fractal generation of Chaikin's curve. The IFS has the following form: </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="24" width="161">TUZOV3RLVWI8b2I8Uj1NRExDZE5SYkJAS3I6UmNPVFVtO1NCTlNET0U8eXl5eUFCbEVVTm1aO15cXENfYjtfZHJPdWd5bEdwWzxBXkZeanNedXV5cWxJb0ZmajxJclJfZkNGYFVfY1ZoZXVJdHlhYzppX3hHaXFXaXJHbkFgdk5YXFx4Z3JuX2FWYHRbQHl1UV9pR3BORl5Mb11AZmNvYXFuVl07QXZlUGtAZmtrSVpKYF1GeHU+Zm9ISHBRd1pBV3BseWhJVnZaX2FPX3Bid3BjWGZRQXc6X3doR3lwT2piQWdMdmVkP3BPeHRQbm5sQGZPUV08cHZVaWg+TnBgYW5mcVxccFhzWU9mPnZeU2B4YndbTmh4OmdsZmFlREZfT29maHhyO193SV9oYz95Rk9rU1hcXHc+ckpoYkBBYktobXBAW1lObklXW3FxeVVGYnFXcmo/ZHRPal1PWktgYGtGX1ReeURXYGxBXmJmbmFHYVBJckhmc1luZGFWZ0NgY11GY0FXa1ZXZV5mc3BmX2hfd3d3YlhuZ2pOb1s+c0ZRcmxBXT1hcVU/ZGNPXVNGZndebWtRXW12eG8/YWVZYmpnZUFmXWpnWnZvZnZAcXl5blZxXWg+aHdGWnN3eXlXYlxcdlxcUElUPlpDZ2JIX2JoUGJaTzZK</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"> where P is the matrix of points  P0=[x0,y0], P1=[x1,y1], P2[x2,y2]  in homogeneous coordinates:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="75" width="111">TUZOV3RLVWI8b2I8Uj1NRExDZE5yVXJMS3I6UkxHU0RfPVNCTlNET0U8eXl5eUFCbEVVTm1aO25mQ19iO19kck91Z1FtVVFcXDxAYEZeYlN3bnl5eUVZX0JBW3JucGNxdGBAW21Gdjt5bGJ3cEdpaz0/XFxScGN3cF1NP3dzb2VjUGZhUXhLaV1daWlPWG9XeHNdQWhSb3RaUG9hSXZEWVxcbWlacmBoeG93WEdaRUduXlFdWT5hUHl1ZmlcXDxmckZQblZwZHR4YVtXbUJYY3B5bEFgZT5XY1xcV2xAR2xTbnRgZ3FPWWVtP1tjP3NPZm9HUWlGYWRoUF1Wb2l2QWBDSXE8UHVjaW5nYHhhWVtPYXRuUXNJcVxcc3BweGdtZ0dgamZvV09pT2h4ald2dHdbd0B0RWZxW19xPnddbmhvcXl0bnF3d2dbRk5oPW91X25zR3h1S19sc3BnaWladkh3WnFmUnZwT0htY1dzeD5yXFxXXFxaR2dNWXlST2s/RmVSeGBcXEdgXkZnOllaWVhjd3hxOnh0Wk5lPHd2V0dyT1Z3UT9mVGlkWEBmd3dmVz5ydWlzdVByeFBhOnh0d0l5cEhbcmdhdEl1cm5xYG9fQFhlQWB2PnllZHlfcndgblFiaV54Vj9ram52Z1h2cll0cFFjRlllaWFleU9zdmhkOz5kQUlpZWBgamdnVHhwPHFbaF5ieGFdRHhtd195U0hlc0FrWWh4XmZnXklyVj9qSFBobk93aW5cXHhPdWBxXXdeaFN4X1R5b2NpeHhxeGl2dj1Jc3l5X3JPWklhWnZnckpualk+Qz5aQ2diSF9iaFBiWk82Sg==</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">It is interesting to mention that Goldman's IFS ( for u=1/2 ) for fractal generating of Bezier curve is the same as the one obtained for Chaikin's curve. It is also worth to point out that control points P0, P2 of Chaikin's curve do not interpolate its ends. The ends of the curve i.e. points Q0 and Q1 lie in the middle between P0 , P1 and P1 , P2, respectively. Points Q0,P1 and Q1 should not be colinear. In Fig. 2 Chaikin's curve and all its characteristic points are presented.</Text-field><Text-field layout="Normal" style="Normal">                                              </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="283" width="282">TUZOV3RLVWI8b2I8Uj1NRExDZE5GWlRqOmhLPkg6RG1SaHVQcjo8T2BMb1xcanl5eXlrO0hqO0xKPExqPVhqPWBqPmBqP2hqP3BqQHBqQXhqQUBrQkBLQ0RLQ0xLRExrRVhrRVxcS0ZcXEtHZEtHcGtIcGtJeGtJQGxKQGxLSGxLUGxMUGxNWGxNYGxOYGxPaGxPcGxQcGxReGxRPE1SPE1TRE1TTE1UTG1VWG1VYG1WYG1XaG1XcG1YcE1ZdE1ZQG5aQG5bSG5bTE5cXExuXVhuXWBuXmBuX2huX3BuYHBuYXhuYUBvYkBvY0hvY1BvZFBvZVhvZVxcT2ZcXE9nZE9ncG9ocG9peG9pPFBqPHBrSHBrTFBsTHBtWHBtYHBuYHBvaHBvbFBwbFBxdFBxPFFyPHFzSHFzUHF0UHF1WHF1YHF2YHF3aHF3bFF4bHF5eHF5QHI6QXI7SXI7UXI8UVI9VVI9XVI+XXI/aXI/cXJAcXJBeXJBPVNCPXNDSXNDUXNEUXNFWXNFYXNGYVNHZVNHbVNIbXNJeXNJQXRKQXRLSXRLUXRMUXRNWXRNYXROYVRPZVRPcXRQcXRReXRRQXVSQVVTRVVTUXVUUXVVWXVVXVVWXVVXZVVXcXVYcVVZdVVZPVZaPXZbSXZbUXZcXFF2XVl2XWF2XmFWX2VWX21WYG12YXl2YUF3YkF3Y0l3Y01XZE1XZVVXZV1XZl1XZ2VXZ3F3aHF3aXl3aT1Yaj14a0l4a1F4bFFYbVVYbV1Ybl1Yb2VYb3F4cHF4cXl4cUF5ckF5c0l5c01ZdE1ZdVVZdV1Zdl15d2l5d3F5eHF5eXl5eUs6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6OjpSSW9TWU1FOnRKP2BOXFxATmRcXFFncXhIYUpkTGtlVEs9eXhTYVBHPHNcXFBuYjxuW0xOS0RUPmRsS2RyVz1Ma0VLbEhPXFxJTkRgSkpMbjxMTmxAcVo8TE10cFJoVlxcSFVGcVdWYE5UQFlAYFZGcVBDXVVcXEhNYGxSPWxSQWVyYkxrQGVyYkRUXUBqXFw8U0d1WGtoUFtJandgVHF1dGx1eW1dd2hwb2hxb2R0UXhZWVlpWWlwVU9VTDw8T3RQUVtMSj5VamI9TEdMbjtdUEJwbldlc2E9TW11SkBIU0A8TUVBUF1BTEdQbVhZbUF0eGloVkZMWXNFT0ZIc2w9dkVIbEdBeWs9TXBQc3lVbWx0U05JcnQ8WGA9dG9Md2R4VHdcXHVddUxzUVJAeFFjPVFRTHREPFI7SFdyaGtCXFxxWkl4PHV0X3Vza0lLR3RTbGVLPXRYSEVsXXVyakh4YEhxYGhWS0BOVGRYT3VwZmx0UFVOVGRQP3FxVWF1akRRd3FZQnltYWxTQEluZlxcdz1FTlRcXFJdRFFuRFN2TVFSRE1pUHRqSXhCWExiUU1kYE1paXdGeFJRQXRuTHhObWtNWXlLeE5zUVhyXFxRZFhXUF1RZVFYS0xKSGRUXFxMbXBQS2dJeGA8UlZZdUhodlI8VGdocEZtdnBoVHNhVFZYeHNgcVhUdGpVT1dkUWplbXdtVT1dc19FUWJRTW9lbFRtUEd0dE5Rc3RkbUFhVU1RTkBlV0ZxTnFRV0dYU3hMbltYc3l1a2N5a0V4T3NwcnVYU1hQeUVpcXBcXHM+XFxSPVFPX0FvQVVPbjxUY2VwaWVQQFxcdFlVUEdVblxcaHVEdXk7QFdabG5aTXdIcXBlZW92cFk+XVBuZXN3dVlUeVRMdXNvVFJTYFRUUXdnWWt4YE1lTVVVQW1WVW86WXBXeFhcXGVMXkR1XnVqP3lKUWF3PkBwcG11c3V3Yzx1VmhPX2FVTWRYd3VTdXlXcFFPSUlZQE1wc3BWQGVTQVxcVlpRb1VRbV9QVD9VUF1ZcEhoa1VNd3RZak5VSkRhdWx5c0FgWVxcRVhfaHVZaW5iUW1jaVBNcE1wSWxndHBYTXddRFNRYXZfaVF2WVA9cVl4XXdmYHZWVWxiVW9DSU0+UG5PeFZGeG1FaFN2THNxQHlPdXh3TW12bXdaUU51cG9haG4/cHZAaWtiZXN0QGxBeEtOXVh1WE5jQGp0VHZzUW5geE1HaHFuPE9FVFlYYVhfdW89TE5TdHRePVB3aXByYXh0aVZdPFZYYFRWVXR1eVBndXhIYXJ4eE5DdHQ+dXlwTFRVeW9ycXFlXXFjYExgYFdbYG9AcHdNcXhldFRAaUxeXFxMQ3hNR01VYXRvaWlweFF0P0lLX0RTXXVLRGhRUUFQV215Tml2ZVVzaHR3ZGhcXFZXXFxCRmx0ZmlpV2RZWXlQTnZwZ2NQUXlIUWFJQXFhX19sWHg/X3dUaFtjR210eHl3dndTVmZwT2xjUHRqX3hZbndVZnhqYG1XYHVqWXRGX2NvZ2FOcW1sZ2NMbmJ0SVxcc1d0XFxnb1lReVBoeFVGcj9RYF53anJWaEdRdkdZZnVuXWtpaz14bUVYdWZgcEZIb3ZBbnN2dTo/dnFPbj5XdlhPdDtxaVFvZHc/ZndvWzphbWNoXVp5aXlIZ19QdkVZW2B3W1g+YmlGbVF4d01Rb1FJYT9ZcUNAX0thaFpAdERmZD93YFhRcmdpdHB4d3NZdXZPb1xcUWdHcVxcPkl0WV5qTz5dUmhra2lwPE5xblh4SFlkS1FzPU9ddk5wXXhfSXldZlBhZkFfT1FePk5dbEFfR09qYF9hXj5kUXlmdFBfbUlzZmF0QWhpd1ZgVXFzVF5nUT5cXGxWXFxgUGtHZltuV25ocHg+Pl1QRm5bcV5OaGxud3NSTmBRTl5GdmhOcG5iWGc8YVxcX2dnUW9fY2B5d1FtaWlsZXhubl51QEljTD5pZnlcXEV2d0NYeU1oaXhfXFxLb29DeGVUcWhXUGBOYHVtaXBWcXNdcWRadmNWX1pzUXZDPm9bPmxseXRPR3RXQXJtR2twWWVEeUtbaVhjQktBZlN3Q1tjV01RSGZvdGtVV2ZJVVthR0s/ZmNVRD1ZZjtLcm91dVZtVnlUSz9NbEBYVEB4TVB1WVNYb1J5dG1sWVVwd1VYT3ZIUWBRdmlwUD1wb0JATkd0S2JlVURgdmRUcUVdTVJETEA9S3ltT1lhdUxwVFFUUT9gdnVkT3J1Unl5UWldUVZMWFFcXHFlXXdVZXdqPVBGPHZgVXBtYFdbRW86WXRqWW5qUG9faVI8WE4+QVhwaFZhPU1jZ19ASGtuQGltXmZpP3RhV1pDdnFOeWhsd3VoUF1aQHlAR2ZtaXJSWVpYeF4+Xl1KV3JOUXVTYVp3V3lHaXVfb2lePmJbR29UWGxXaXVAUWpKYGRiV2VFT1thPm5aeGVtUWZWcHE7PnZWQWhicWxkbmBeb2s8QHBmb1xcRWZcXEd4YkVHdGVXbmlXaFVgdFJBd2FYYmZQeGteZT9wal5AaTpPcWpWXWlhb3VYcFBhYFdwd3h4YGd5XndxYHBvXWZYXUFpeVVvXj1uZ2hGeHVvYVc/a3NwZk9Xa1VZcWR5cVVBblhnY1BfXVNhd1RmbkBPaFFWZEBfaEdJbWdWZFVwc0ZedU55cVdfbFdnY2B3bW12Y29QcXdZdlt2a2dWWz94aHBRaGFoZF1pallvbE9hXU5fW29na3FnZmVYajtnb1B5bEZecVZ2X25AalRmdW4+XmZhc0dxYVV2YF1Ad0ZxcEpvZGR3d3JxaE0+ZTpna0NwaF53bVlGcT9pY09IaT9JalN2Wk1fdmxvdHZmWk9RZ01xXzx2Z25hXFxOWGc8eVpxXmFxb3Zod2tkSGZmYGBwR19kX3ledmVveGBsUXV3Rm09eXJ0cF5DbmJteHNwX2VoQWhrWFtuSWBWeWlFQWViT2luXndieFxcQVl5VW5eaWFnQ1dddWZzXm5hU09aO1d4Pl5rXFxXc08/eVV2dFVvbW9mZnhmaXJRbGdQbD9WdEs/Y0BAWl1od2V2Z2JwcWF4d0ZYamBWbW9mY1Y+eVVWeElGYFdxREFZR1FjYVV5Vk1CQl1ZV3lmQltjY19SQU92SUl5WGVDaVliY1FzQXl0T2tyX1NCVUVWcV1IWXl2bGlYaz91RTt2cFVWY0VmS3dyS3NDRmF1a2NIZj9kSWlGWW1mZElyRUtoQ0d4b2NEPD9ZV1dXTnVIYUdYaUN0aV1FUnVUPz1JWVF3VXdzVXV0clFSUENVY29IbklXXmVKWHFQWEl4WllTbD1ueURQU2BYV3RQbVxcWUVkVFVsWXJldFR0dm1sblV4UHNVc0B1cFlRUWs8UVRgd0VsS0o9S01hU3N0bm5QTGxxdmpJWGxdb2x0SklIUXJ0WVU8bVBtbFhkUnZYWEdhTUJkaj1wa2BwTj1EVHlUeW1xc29kbVJscjxIbztUbGVEeV9JdD9gWUU8T2ptcT5Za0Nkd0VscE9BeGQ8bkxhczx1dllNbT55Smw8eEBRVlJMcmFwUU5lVHNBcklQSnBReDxkS3Z5TERZeUFpTGxpcm9UU0hoS3dkSl12ZU5QeGVxck5vcXJwbnFpa0RRcFZocHZIQmFkcWV4VG9ETUlGR1NlQHdUYVlZTj9CWV9kdFVycGlEeDtma19nQEdSYUNiWU1Dc2FUXUlMQFxcc29EbE9BSk1AWUBtSnhUTXZwWXNId1dVTnl4S0N0Vzt0d248eD5RU0dRdFlIdkxBWHR1dm1oVUVEeUFtSmh4WG9xcHlpdG5wb1NocXVQa2l4WE5NcGFkTGBgc29sWXVMbzxFWURtSlxceW91SFdgVU09YW12XFxKanBOdmh0ZDxYb2R1akhZcXhRdHRUPXRZb2B5c1BRTWhKTmFTUmRyXU1QanBXXzxQS3lLR3hOPWB3VGlxPjx5eHVUdWxKXFxtdXFEamVtTFBAUkB0c0NBSlNAcWdsdD5sb2N5WXR4V1M8eFhFalF0U1VkcV5ZS2hcXHBpdHZ5RE1ydExhcXZUTVZeQWpsUGpaPEw8cFBQaXltRWprVUpkTXRxcFRxRVJSTG10aW4/bXRNcVJuZXNxQU5OTFBqaVRKaXFlcFJGaVA7eU53cU9DZEpHXFxsaHRwPVhLQFVLYmxKbGxQO0Z3S1lrb3FiRD5veEBsYD5fbD5kQEFfRlhcXEpHX1l3YWxpW0JeY1dgc2Vha1tRbUloY3VWXzx3Xk9xdDthWz1ZbkNoX0ludWQ+YW4+ZEF2bUc/YHJPXXBQb1xcPl4+Z2J3X3Z5eHNqcG9zT25kT3BaRnM6cWtiaXFbbmo/V3BXb2BWP21iP3Y9QXVdblpHPm87eXJsUXg7TnZoYWFKWHFtWGBMd21mYGx3X15WTmFraXJNcGBucGY9aW1sQHJXaHFuSXNpRlpmdmZKZnRXTnZgPnJqT15SZl5xcHFpZlxcYUBnQFhiZEZeRFZgcFFgXz5tY2B1cj9dQ0F2bnFlQG5qWHhyZWFaU3BqO1dsRWZxQ0ZrZF91XFxBXWVPdj9WX09YYUpIXFw7Rm91YV09YXNVbnNBeHI7Tm14d2RIcVBNV2hfd0hFUmpZQltjRl1hVlFVYl5RZUo9ZWdPdlhrdF55ckZzV09pdD5XWDs/Q05dRXRvclZZU291aWRTaEBJQ3RXY1pHVkh3aHM7Q09ddVtHWURxeHJPd3hTRm9pY113RUFFcmxveUJtSDpxSD5VQlVZRWBbY0Z1YjpteHN5Qml3VmBPUndPaHVNSEc9aGY9aURfc3NlU3FfVkZtYjtHRV5NSHV1dVZ1RlJlVkdDSTxlc29bVVtHU2dFaUdfVTx1Q19DeF9dd1xcd2hldVc8XWZYb2J1c0dkbUlXaXhQZWJhO3JHbVhrQXVzWXM8Z0Nha3NARXlkS3dIaWh2P2l4T3ZaRWhxQWhtT2I8Q0hcXFdlXWdjPXVYWVlIOlNEZmdFQV9kbHVkZU15bkd1SFlWd1F0PmdEeUtYbUtEdltCdkFzOjtYQGtoYXlyR0tlTjt4X0tSUUFoW2NDcWVCO19GbE91QztJRWlIeVFiOjtEdG9FYm9iSFlyTmd4U3FUUlVEaD1jOztUW1FzRW1UVkFYV2loTF1jZE1HcnNGaEdWVltSOm9SWF1IX0tka21WaXVzcE9lV09DSGlSRWNEUk1JYT9VckFXVltHd0dFWVdiZkFHYnF5Pnd0ckdDYmd2ZVVZTj1jWztmUld2R1dTd1NScU9YTnliZHdYVz9HQF9VXXNkb2tHPm9zWFFDO2tJVj1mQ1lpV1N4Qz9DQmFJc11mcmtiVz1DYjtZQUVydnV2RmlyaU9jd19YbVNSRmtmc1dEO2NUR1NCRlVIU2NGUHdjcztzb1NDWUVFbXlFa21oYFFZQVt0aDtFaUt0PHVSaUFiREtoWVVHTF1IdHFCTj1zU1lEXFxjRl13VzplY3VhdFVdaHdzQndjVT1hWHVHQ2JRRWRBeUlvY3lDRmZDY1ZVRlxcRXdfUUVZa0ZBO3RvW0hfdWdtRWlCb2dbT1d5W1M9QWJcXE9HYF9IeGlYPlVST1dWTFl1XFxvUz1RaUlPeEdpWT9tVEBnR05jVFlVc0FZQlxcR2ZUb3ZUYXJ2W1I9dVRieWhcXHNHc2FYR2lIO2NodUdoVGtmZGV2cWVyOj9XYk95QF1zd1FTd09JRFNnbWlVSVlGVFt3c1VXX3dGTkNkTHBSYXR0ajxSSmlQTmVTQEBROnV0SmV0XXh2eUFMR2xuW2V3Xm1yXlFKdHBqYFR5RExqaEhucUFxZWxyWj1SS2l0bTxYcmBSSkFXVTxUQ3hMd1V4X0xqQFV1U1BMdVlTVklwP1BuZHRwPll3XzxyOlBuYmRZTUBrSXV5XUVzYT1uOlBZXl9iPXdkSmlqS09cXDxXbk8/YmtmcWlWbmU/b1RgWks+amhIYmNndlRWYEBGdEppXFxXV11GQGdiUXlKYXNBT2ViX2BJaWBdYHdxV25lP29EQHhMQF1TZmtLQWloUXBLUGVFZm5bP2JfeGdsV18/cXJVUG9JSWZsYHRCQWd0XmxPTmNQWWZDeWJPYW9nd3heeGRHVmdOWGdcXHZoQHhcXFpOXWRgZ2VwXUJ3a0ZwYjtmXFx5eXZeR1tMSHJYeHBYb29TSHJGYVpuZ1tPX2tnaV1uZ1tPR3JqZlo9TmtkaHZhb3Z3T2piP290WHZxaGVcXEhncklmTUZ4UW5nc3hkOz5Xb2ZpR1Z0a0hYYVRfX2RIS1lYQ3RKZVZPP1lMTWdebUVMdXQ+Y2RYZ2RmQ2VIZ1VNV2hpUURaS0VkT2NkTXJeW2NgV3I6T2RAaWhCO3VtcXZsO2ZMR0V5Q1NdR3c6aUhoQEt0cGpYZXdPSFNVYVBXXFx4W1B3Z3FrXFxMTWRQWHV4S1l5a2I9d29kczt0dTxdV1tAV2xJcXdgeXNEa3FsdWdhcEpFVWVZeVlISj5VUk9hdWhUbV9wa0BwbWVtbE5BcXZwak9BUG9ld1tRbnVQbGFUdEg9UmtseHE8TEdkTEdUTmlYUmw8dW1xdGh0dG5pcDxtT25dUEN0dnZBbEVkUVpgbndscFFJbGVtdnNsTlpsTGRYV1BddGl4UmRcXHhkPXlwcW9feFFcXGxMVD1SX3VNb0lZS0RvSlVKREl3bGx2WnFYVlVQX1xcS1NAdFdVdml0eXFMUFtQcWA8WElYSlxcRG51cGprPXFIQFNicG9TQEs7PVM+VFlYUXVzcE50WFROTEpbUGE8WV14P2VBVnRXV3g/Xms9b11ud3RiXnFIVl5JXmM9UXFuX1xcSj9rQEZ0Wk5dPkt2QWxkXVdSSXRzWGt3aG9HXVZLPFI+ZWxnXXJLXWpMUXZUQGxMVHdtcHhXbXVGXWpqaVVdVXl5WGxCQFRUWFd4ZFZPeWw+PVNIXFxLYWxUXUlLUzx3Qj1UZlBNbGVTVzxybWx3YEVTT1FQOlR1bGlWYnlMb2BQZkVLSkhZdElqRlxcUTtsS1ttVmhlamBVWD5ZVlVcXFFJdHU/aHNCXFx2aUBXXFxMWXJ5bllASkBEWGJYb1txb0FteGZ5S1JNUFp5cVFcXFFJeHRdZGxgUXFAPHJJaE1jSFFkYVRLRUtxZVFEPGxEVVg6ZUs+aE9TYXdFQHVlZFlncVd5UWpKTW1EUV1bcXRxWXFpR2ZZZ255cWJ0aW8/P19nPmdKP3V3YGJuPmtAQXR0eWF3SHhsTmNuZ3BKUG86Plo6PlpDZ2JIX2JoUGJaTzZK</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"><Font style="Normal263">                                                                              </Font></Text-field><Text-field layout="Normal" style="Normal"><Font style="Normal263">                                                                                   Fig. 2. Chaikin's curve</Font>

</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle260"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">3. IFS FOR A LINEAR SEGMENT</Font></Text-field></Title><Text-field layout="Normal" style="Normal">Unfortunately Goldman's method fails for fractal generation of a linear segment. In [5] and [6] we suggested how to obtain IFS for generation of a linear segment in a fractal way. Basing on Chaikin's approach we can find suitable matrices LS and MS that are used  for definig IFS that an arbitrary linear segment  generates fractally. Instead of  the ratios 3/4  and 1/4 , as it was in the case of  quadratic curves, for a linear segment we need the ratios 1/2 and 1/2. The IFS  have the form:   </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="24" width="177">TUZOV3RLVWI8b2I8Uj1NRExDZE5SZkJAS3I6YlpDSXVdQFNCTlNET0U8eXl5eUFCbEVVTm1aO05iQ19iO19kck91Z3lsW1FsPUBeRl5qU091cXlpX2lxVD9eYE5sOmhtO0lxY2lteElyaz54a0BsX05fSnBxZlFzY3FkdllrREhzP1loZ0haSF5cXGl2aHJueWNYX1hoYFt3d29ZaHRoXFxmR2hoZ19LeWJHQXljPmxnPnFrYWVgQGBUQ3BFcm9nRmJVeVJHeEpvYndvZHRraXU9RD1DdXBMTmBAUmVBd2FNUUZJWFhBWFpsbHU8WT5hb2tgd2Y9bmZ0bWBEUFhRdWY9bWpZUExUSlVNc1ZobUdAbnNMc3VxVlJkVmhtTVFZb0ZkVz1JcGZBTFJNWWZhc1tcXHg7WFZQQWxWRFhsYUxBYXhTQXBhQWpbPExPQXJqbGxCPG5idU5JYW11dFFlcVNJRHFRQHg+YUxIPHBWeE5cXHhUWlFSWXl4U21Ublxcb2JdWERgTT1BeGZpdWFxVlZVUHc9b21NeHZteWVkS0pZa1xcQVF2SU9KeW9bSFBudFNtPW9mXFxOQ1lUZHh4aklVTV14XUxTX2xWdFRKZ3RXSlBUXXhub1VsZGF0b2luWGVraWRyZE1LXnFzRDxtUEhSUmVyRXVxTHFPc3lTSm1RQHRxQT1Yd3FvckBXSFhTcEhKcXlZWGlvcnlLYmx5O0hwbWhzW2RtS0BUP0o6YG5cXHROXFx0VFs8UDsyOw==</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal">where</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="75" width="151">TUZOV3RLVWI8b2I8Uj1NRExDZE5yX3JMS3I6Ykx1V3N5OlNCTlNET0U8eXl5eUFCbEVVTm1aOz5oQ19iO19kck91Z1FtVVFcXDxAYEZeYlNvbnl5eUVJXFxBRnFOSHdfZmNjZ29yaGlKdnJoZndTQFxcXFxvZDtublt2cnZGbGVJW1ZvY2NYbHFZY3VhZVZ5cHNpeHJnZztRbElfc1BZbj5YZmJQXFxXUGY+WHhgTmRCaXBBSHVZeWVaT1xcc1d4O0h3bFh3Ql5lXFxOcHZfXmBGbEFoXVJwb0R5X1ZxXnQ/aXdRYV9eYnZmaE5PblBHeExnd1Jva09Xc09RW2VQbGVIXVBoa0VZb1VQZF1OZWVfYjpgdU9OXFxzWWdCaGVub1o9T25Mb2Y7UGlvPmxsXnhxcWBzQHM/b19sR2xFYGVeUWtsR3NsbnBxRnNIYWJ2WHZwb2w/X2hiaF5oeXBbdmpXcGRKZ2k/eXRcXG51ZGdocWlwYHBddmhuaWhoUXFuUFZ5RE9kbXBnZ0FoTUNFUUJvd3hvb3d0bXU7a2ZEd1Rlc2ZgUUJDPUN3aUJmSXZlZVZyc1V1V1VKZUZVdUZZVVlaQUZxWWZdY1lnU3lDS1hLVztMWFdpck9wcD5QUXlBbU5FUVVsTExlWXdQc3lsVk5tdnlZUVxccWxKdXZZVFBkcHhzaUpNUHdJdHdBZW15XWtiUHE+WVNhQWt2ZHR2bE5QdUtoVEtQaGtlTHZzYU94SVBgUHBPaVReZFdVcHN5bG5PXXhJYHdtPXNvbHNqZUpxSVNpeHZFdFJIeExAZFlYeXg/bE9ZZHVDUVhrRXlHSzpgblxcdE5cXHRUWzxQOzI7</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal">  and </Text-field><Text-field layout="Normal" style="Normal">   </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field alignment="centred"><Image height="75" width="155">TUZOV3RLVWI8b2I8Uj1NRExDZE5yYHJMS3I6Qk49VjtdPlNCTlNET0U8eXl5eUFCbEVVTm1aO25qQ19iO19kck91Z1FtRXZbPEFeRl5qZ1F0eXl5UVh3PXZgO0dpTlB4SmBncWBiYV92VnFxVj5kdUdzQnBnRXFdVWlbZndmXVd2RGZvdnZ1QHlvSVl2cHZma2lncWZjWHF1c1hwPmlxTkdrdnZvQnlxQ0BdUnFbRVliQEZeTUBfUnZrRnZ0SUlfS3lsbXZraWByXk5bSllePWlzZWlrdEhraE5kWWFxP05sWE9jZEZ0Qnd1TndoZ3hiZUlycE5bZ1haVUFgblZhVT9kVWduP192ZHliPnBtR15kW2loPnFfbEl2YlZkQ2dkSldwVEZkU295eXBdZj9mPVZdUkFyQG5gamhoXVdsd0hrS3hyYXh2ZWB0T0F5eUhzQEFlc25fVWdvXFxpcTtQdW15cEVHcF9PcD5vdWdQc0hpWk9xbERebE5vYkVhcltnZXBvX2JwcFo/aE53eEJvXk92alg/c0VmbUhmbW5gVmd4WkFTbEFGSVF2eEVGZlNEb09EZGt5R1lSeFtVeXN1bkVHajtUa3lzcXFXS1dUYUlzbjtmc1V5Tm1SaEtHRUtlXVV4YV9UbmNoZ2NlcWVHU0lJX09WUVdYWWVCZ1lYUGFzX2NWRWtjaFNJYWlUQnFzYklkOnFCcDtAPVZ1WVh4Y2hvV2N5SXNhT2lYY1hIbUlXW1lSUXhjaWJxSVdNbUlXb3ZVR0ZjZVdlUWZHUVZtd3ZNVXRQWWVNd1NHQVhCeWZiWVI6cVhzbUhoX3V5U2hYd2hWZXVxS1VySWliWXlPX2drX0Y8W3Z2bV86PlpDZ2JIX2JoUGJaTzZK</Image></Text-field></Input></Group><Group><Input><Text-field alignment="centred"><Image height="283" width="282">TUZOV3RLVWI8b2I8Uj1NRExDZE5GWlRqOmhLPkg6RG1SaHVQcjo8T2BMb1xcanl5eXlrO0hqO0xKPExqPVhqPWBqPmBqP2hqP2xKQGxqQXhqQUBrQkBLQ0RLQ0xLRExrRVhrRVxcS0ZcXGtHaGtHcGtIcGtJeGtJPExKPGxLSGxLUGxMUGxNWGxNXFxMTlxcbE9obE9wbFBwbFF4bFE8TVI8TVNETVNQbVRQbVVYbVVgbVZgbVdobVdsTVhsTVl0TVk8Tlo8bltIbltQblxcUG5dWG5dXFxOXlxcbl9obl9wbmBwbmF4bmFAb2JAb2NIb2NQb2RQb2VYb2VcXE9mXFxPZ2RPZ3BvaHBvaXhvaTxQajxwa0hwa0xQbExwbVhwbVxcUG5cXHBvaHBvbFBwbHBxeHBxPFFyPFFzRFFzUHF0UFF1VFF1YHF2YHF3aHF3bFF4bFF5dFF5QHI6QXI7SXI7UXI8UXI9WXI9YXI+YXI/aXI/bVJAbXJBeXJBPVNCPXNDSXNDUXNEUXNFWXNFYXNGYVNHZVNHcXNIcXNJeXNJQXRKQXRLSXRLUXRMUXRNWXRNYXROYVRPZVRPcXRQcXRReXRRQXVSQVVTRVVTUXVUUXVVWXVVXVVWXVVXZVVXcXVYcVVZdVVZPVZaPXZbSXZbTVZcXE12XVl2XWF2XmFWX2VWX3F2YHF2YXl2YUF3YkF3Y0l3Y01XZE1XZVVXZWF3ZmFXZ2VXZ3F3aHFXaXVXaT1Yaj14a0l4a1F4bFFYbVVYbV1Ybl1Yb2VYb3F4cHF4cXl4cT1Zcj15c0l5c01ZdE1ZdVVZdV1Zdl15d2l5d3F5eHF5eXl5eT86Ozo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6WlFPY2x3XFw6Yj09VUxDVEpjRFhvWHV1VDxjRD9pZD91VVNpQ0JLVj0/RlJIS11sT0JQTEpFVE5MdkRQdnRdVEpkSkdMTkxEUmpFSj9FdU9ocl1IVE1ATW1Abk1IUENIdUZtVl5NdkJhcl5MTV1da0BpT2s9UDxYV248Uk49S2RdTHFcXEw/ZFJkTXFVXVJKeUtuUXhlWHFQeFhJSWxkcHdoUHlXbXV4eHd4eXh4ZXl4aXNqRmJAV19eVGQ9ZFRbZkBDZztNV0pPZWBDSE1nVkdld1NtSFA7VkpTc0hrUmRNRVpZZFM7WHlRU1xcdXNxdUQ7QXJeVVl4P0NTbXNJV3NKPUd5aWdDTUlPVUJlP3JDZ1JPYUg+ZWdkeVNPT1lRd0dGQXhBcWJtQ0Z4c0RGQXRAd2U7U0JlZXVQcWhFPVk9d1NOQXg+WVdSPWl3WUVtXXlya1hYYUZPYUlTaVZKT2VAP2l1YVZxSXJXXWZgR0JcXGtJaHd3Ul9FeVFJZnlyTWNGXUFUUGt0Sj1TR0tUXUNJZE1WcmFYa0tIWEV1akljWldUYk9FXFxbRWRPWFxcQ1RvW0ZGO3lnY3VrWWhaWXR2RWlWa0VfaUhjdWd0c2Q6QXg9eVhKT2VhRURadXg7O3JmZ2NIc2RqO2ZUU0Y7bXRfVWJsVWRZb3lHR1NnS3VqVUZOW3d1T2dYcUdhXVNfRXdiT2VAP0dwc1l2W1VtQVJQUXdWS1lHWURqZ0NAYVdsc0dRVUlpU1JkPXNqWXVnXXllUXZFd3RyTVVhZUh2PXldVVVwPUdMVWZAXVU7V1VdS1dacWM/cWVGW0Nid2ZXb2ZIQ2ZXTWN5c1JkPUZ2c1hGbXNtd3NUPVl2UWJOQWRLa3hTQXVXS1RxUWVYYXc8S3RNWWVgaVdZW1ZWRXVSY0VFRXJ3R2NRTUZGQWVSVWZXbURZW1RNV0I7Z1N2T3hDYUVCcVNLT2hRYVN3T2l1R3dRc2V1X2R4T1Jsb1VtQ2Z0R0VgPXZsdWRfWWNeT1NHYWJpT2VRa1drV3M7Q2dAW2RjR3lnb0RIP2V5dXJkaUVjS2dgXVVvQWNQb0NTdVhtaXdhaUZjT2VmX2dQd2NjWXhldXRcXENzY29GVEVmQ2lFPldmRU1DR3N3P3FSWGN2VXd5cXV0d0tlVnNoeW1lT1VpbU90XFxvdnRpeEplc0Q9c3ZnWV9xSHFnRk87VD9vd2lFV3Q9Vz55ZXdTZGtPeGBTRl9lRGpLZEtlU1xcU3VHVWNdd1RhW3hBR0VMRVRHdXJMZVdZaWVHP3k+TURkR0NnY0VaZ3dja3VZU0VoTUc/R0h1PUdFb3V1XWh3Y3ZcXEF2VkFnXU92YW9GeGdkQXlTVHVlTk1IbmFTRkFmd1FWcVFFUFF5UG9HYWdGTmdXcz1GbHVna3liWmVlSFlVTUl3eFVXa1VnYENZb1VFV3dWVlloZ1dUUEdjUmVIaWdyYUN3eElZUEVFXFxtWExHaGY9SW5RZWVZd3Q9U0hRcz5XeWNtRkBReXhbdGhZU3RBRUBZd1phV3hDWG0/SXdvVnhteFpjSUFdWVM9eHlJUk5HQm9VZ3ZfVElxRGxbRHU7RUtNZ0BPY1dlWUs7ZWVLaVhLR09naFxcP3REeURqZ1g+P3diR0lCU1RiX2htQ1lRQVdrZ0JOU1dtVWJIVVI7SUk7VVU/ZVY9SWJgdU5kRXdOPXVbQFFpeFU+XUxKbVBucXFxTXlzXXJPaHBTTXZDPE9JUWpyYFdEaHN3dFhDSExFUFc8WUtgTHRebUpoVHVqSFNWYFViSHZ3cG46bFlhWHVaZWxvaHlDRVhKVUxReU9JUFhFSHNnaXZQdWw/PXZvbG9XcHFdeHVieHJrcFlBXUppaVBbdVZyQHlsWHRrYW52cE88eFRHaHNvbFdYQVBwaVVAPXZkSFh4cHBOWG1AWHBhQXJqXFxvdlh3S2RYZnBwT1h3YGR2SE15cXFWUFh1O2h3c01VOlFvY2lzSEluUUFtZ3FyUHVSZlRYTlVqP2hwP3VScVVPdXBxTV1QVXVKPXRzcHRqSGF4VFFYdF1YY3F2YFFveVh0RmFseU12WmlKO3FzcHR3SERuTlF1RHBPVWhuWHFzd3hQTUV5cVBVZ3lQRnVvWFV4P0hNSkVzcXFuZnRuUEF1czxwTnVXX0FUaUFQS3FzVVF4bXhMRURQVWxVTEVwRVBuSW1YaGB5S2Vxdzx3UFFxRjxuQUlxQURrYXF4VmF3TUR5anRWeG1tamFxYFxcSkBRVGZlV2ZcXHJjeHBDQXRZZXZvPFZIPGBcXFBoSWlbYElbSVlnbF9fYm9pa1lvYHBnT29wVD53Pz5gYHllWnd2R2FdWFdudl9pYHhiU19uSlFaRHlwbm9eR0lta3ZpcmZ5XnBxbllmcGZpVWl5WD93XlZxbEdwaGlqbFlwbFhpT09ybEh2O0huSF5kVVlxYndzSG5qa25sT2hvWWF5UGFpSGlxVUheSW9la3lxWEliSkd1aj9mW2Z4O2dsS1hhT1lta09rR1l0RV9jZE5dcnhnYG9saFdkcV9rXVdyaz54TGZ4cFZgQEBfaXhpYkZhcWBuSmFxW2BxYFFyV3lhY3d2PGZsVXhfUj9lUmhlPWB0d3dzeEBtbj9vST91O0dmYnBmdD55TG9nS1laWlhkOlBodWZmbmFjbHlmSEZcXHR5dG9OWj5BcXVWaTtpZ1xcWWdHaV1MSHlPb3F4eHBpYVtcXE5tTk5vXFxIa0pYWlJ5Zm5AaVJBYT9ET2Fmd095dmNJYUdlcFd4VFtzSndZZkdTP0tXWXd5R3N1T1V2RUNITk9VVF12YUVCVHd0VUNFamNVWWNzUktiVHdEY2NjXV9ycGVCSl1CZEVYPGFWUlNkPllXZER0Y21OTUlNWmlyc0hVVGVtbWxKQEV4VFlXUk1NWVlWVExUU3hKWG1ZZV1wd2RPQkl3YHVuX11xb1FNaT1TUFlxR2R0TmVOSWRldF5dcldvVEhlWU5pZUlhcmBsS3hxXUlqb2FgRWhwdG5taGdpPUh0S19gVldkbVZ2cHBpTUhcXF15cFFgdU9oWmVZYEM/dWxxcEh3eUNvc2U/b05YbEh5cWRZbnNYX3VWc2dQWklYd09zcUlWU1dyQ21FZG9SaXNDWGd5X2lYaklma0NGR2F1R1V5W11IaHdibG9mO0FZV3dzZ1l1Y1Vyb0lmY19UYE93R2VxWXBPbEh2TkxQQkF0a2FzUWBUPWhUTnFvXWxTUUh4XFxsVVBwdGN4UWlJakhJamlNVGZFWHB5bk9hcUxlc1xcVExXcFFxSXVQTVhqcFVGRXlUTUxScHV2TU9OXFxRWkVucHlOP3hoSklmUHZcXHFfdXVoXmtxalRAaVduZ3l5WlVIakZ5bVVYc0NYWmdwYWNuY21RbUh4XFw8ZnBFSWdcXHlnT19dcWZdbW94SW5naHZ2eUdlUVh3aXFka0l3YFdrQHd4a1hrTmh4WnFkaHZ1W0dyb2dydG9hXmlgYGBvcFZnTnhub1lmRVBpX05gVlBgPXZ3Tl9vRW92O3dbT05aTWhgeT55X2d2X0BxUl5mUmdbTGFraVdybGZzVXFbbGBabXFza3Fqc3h3TVlcXFBAXVVxal1ZdUhPYV5IdUtYZkVvY1Z5bW5PeEBIalB2XFx4UHVIWXRweWhdUXVqYVpzcGJwSGB1V2ljPnVGUHVmP2R1eHBfT3NHSGc9WVp4UGddSHJLV1tneWBOcHBFdnFbP2VgP15sUWdRVl5UQWhQXnhmR3laaF5oQFp4SGNGSHZrYGRtVnNhcXY9SGRWUWdrSGZPYV1KSGJAT2V0YWBvaWtUVm4/XmQ/V1tjZmNUeGF1WHQ/WWxrTlxcbT5wZEdbakhuZ25yTXZeaWd3TGdlUGF5Z1hsPWZgZ29ueXhnTmF0VWhqanlzRkB2b1Z4WnhkbXdwbWldO153PEldXVdmUl5xXFxfanZwdlRpa2N5YXFmeFQ/Z1tvZU93eFp5bUhIXXdQZnV2YWxhdm9WakFebHl5eEVWbVJXYXNHaEd5Yk9OeFtxdWU+alE+Y3RZb1xcdnRyV2Y9eWNhRndEYUQ9eT1Hd0pjV1JRRWRdQj4/ZFhvU21pQmJpd0VBeERTVltnWGBHRm1RZVBlZ0NTQz5nUllDSTxrQ1FHYmk9RXNXSHRHZ0hPZD1TRVhDVG5jeFN3VXR3Q2NTSWpFeD8/dHdfeXVnWEtdZWRlQlFbQ2BVclh5c2dVWXRPdFZJVV9TeG1lVUlbeT55dURNV0dbUkc9ZF1Vdm9FRFxcU1dxS2JPd3l5PWJ5P1ZGVWdHS3Q9ZUc6b0lHT0Nzb2M6a2ZbX0N5R1ZkbVdKU0VoXWhqO1NAcXRNO3ZNcVdBO3hXS3hUR0NVQUlRZVNqW2Npd3VZP3RXS2VnO0VyYUJSa3JzRWZqTUlbV3ZdZ0ZpdWRUbURZR0dxdWNUUUI8QXJud2d3cXNtVWdUR2dXU3doeUNIP0g/U2RqaUJGP1hKS0M7W3V0ZUNlQWdUPWluW3dkcUNqV0VvaUJCS0Ntc1hPR1hjT0VxZXRmTWVCZXRcXFdZbWd0SXdWP19pZjtGW2FSb2lTW2FnQE9VXnNFOmFGcktHbUl2P2dXTlNET3FldltEdElDQU9lUj1XbnNTRE9oUWFDZlFDWkVnVEllXFxPaW9FQztfU1xcW3NRa0NxQ2RIP2Q+aUNvQ2VkX0M7UWdoZ3I7b2RGd2JkcUlbT2hEVURKS3VJVVlsd1NtPXV2RUVScWZ2W1dxQXlQT3JXZ1JgP3I8W2N5PUdec0dIZ1hbYXJAV0JOWXJuY3dZc1ltYUJMY0l1UUdxQ1Y6QUNOW0RPVVZkSXZkT2NiT2lDS2ltYVRMR1R3U0M8ZUJ3S1dgQUdIPWdQSUVjZ2dVY3libHZveFJMX2lEYHQ6cW5JZnRVSGhaeW9YcV1qQWVrblpkR1pkb3JEbmxVTmVLSGE9bl53bnNITmleTmBdRnJAR3FlQW9mYG5aZmVicGU9V2tUaFpKaXF4Rm9uWGRsbm1acHVvYWhjQXNqTmRxSHZwVnhkeWk/d3c9UWhxP2pBV2dndl15dmRgPnVqT25wXmdYb2VNQWZAV3dPYXB3SXlYaGlEYFo/X2J5V11BcHBwaXd3WFs7bmpUT2FuUV9geHZvdnN5VnRId2Q9Z3NHWW4/Vlxcc1ZgeHhcXHJBYFdJckNedE94XVdOZ1xcQXJVSFxcdE55YnBaXmZ3OkhqUm5ePUlcXGJIaUdxYFJuWzx3cj1ndF5fbjpnZnhvcDtubElPdmZPYTpAXltJXkV5b3lxc1lQaUdhY2ROb1tndz8/YkdIc0tJdDthb01hZW9pa0o+XTtHb0FQeGlubVB4X3ZPZ2Zpc3dGZWloeWRpXFxXeHhAZ3FBd15aUGRRT3VPWGtbPm5SWVxcb1dpV05acD5kZEhuZGdlQEhqUk5aRG9kcVhcXEpOcDtuanVHdFpwXmVQXnZZY0s+YG1Rc0tgeWpneEhBeFZ5a0ZBdVlebWJfeWRAdVV5YExmclpObVVJYkpHeWI/amNPYGVgbl95dU5ecWBvd3RJakFGYk5AdHU+bnBAckpGbGBOYXR3Wk5BX1VpbFxcZm5Ad3U6UG1SX2hEX29jSXBYSFpvPnl5cG1cXGhvVl54Tmdbb3h1QVZcXFdQZ3RZd3JZXFw8UWxqUV1LVmJpZnRyR2dvaWJoR19jcF5fZ2xtR1tkcGpCaHFqblxcPU5rQkB4XFxBc3k/Xm9eYnJecmZfXFxvaFtlcWFEeVxccHBlcG9ddT9fXFxucW1GXTw+Y0dGZG52ZEBoZltmYF5fWmZRXFxzT3NhWG9RYVt5P3hvbmY9YWJmRnlbdl1KUF1cXG5xUVZoV0dvUUduSkhwRml2Vk5kPWhscXBkUnBnUF5fO05nbk9kR2Zsb191P0dvVEhsalZbSmdgPj91bz9hQ2B0WmhbZXdac1ZtQz5vVE5cXGZXc1NeZEdGcVxccV9ZPms7ZmJAd1p5cWlMRm5AV3U6UGtoRnhYb15LTmduaG1jRnBxYWtlbnhKX2Jeb21rQWlVPmBaQFtSX3FAX3JxeHlrZnZdQV9acGVicWtOQWxrTnc8eG8+QG9LUV9aQHVIaGZiUF1cXG5iOj9cXFpQZ0pOZWNwYkhRXm9eZj5wYVJ2a05BbGt5Y3N4bG5Ab0thdWVfaWd3cUBndEpGXFxeSV5rbmZubm5AaWlFV2VjaHhKT11AXnRcXGlgV09ra1h4YE52VT5dY0ZxdnBiPUluZkBaYGdgYGBpPl9jc2FwRE9pU0FwQG9lTV5tbUZfUUZvW05iS0d5Sk9pRkFnTj5kS3hwQE9jSkhdZmBxb1FkR2FacE9gWlBnQkBmT3ZwS2dgPl9rQUh0Uj5kPl9uUG5zclFcXGNIXlxccXBJcV5DUHVqV2NNRnhhcW9lUF9BXmRHRltZSXJyXnd2SGtCWF9oSXlgTmQ9X2o/X3hjR3NgYGlHeXZvVm5EWGteVnNGV3hkSGNZWXhhblxcRF5mVmZvSF5samZgR3FaTmBgeFhrOmhscWZzOlBrX2dpXmZjR1dgZEhoeHZzWlBnQkl1WElpY1drYEhtVE5vUFFvOkZvW05ebWhpeWhxQmdbc3ZuU3l2dz9bdT9fTF5xZE5kWUFscnd2V2FiSWZsdlBxVUdeWmZgPl9qU3dmRWdtVE5wUWFfZnBoeHdbbUhmXFxZcHN3YmlJZltAYkg+X1BxeHROZD1fbkBoYGNIYmA/cGxxdEhZZ3RGZVp2X15PZ1xccHlqSWJYP3M7Zl5nSXB3cHZOV2A9SV5ERmdbTm9gZm9wZ2BsUGJIcWplbnBmTnk/RmdbZlpOT2M7eHRVP3NERmBaYF1FQXQ9WG1KZ3NiQWJeYWpmUF15VmxXQHNDRmRvbnl1aHdLUFxcbFBnUld5ZUBjQ0ZEQUhSY2JGP1ZfaWdXT1c8VVVHZVI8PWNkZHh4eEtgSXJeZXR2VUs9SGxJTHBkXXN2THhKeEtuSFZXTUs/XFxKTFVaO09nSkw9eUticHJAaE1WYG9nZUxnVWpJUEo+ZFRkTGpEPGxOeE5kSG1ybXJsQHNQUXk9QFdSYHBfPVRxeGtcXEhsTlB5VnhTU2h4P0FQRk1RbllWZmxqalxcU0leWzxna0FvZU1XWmpQck9vXW13ZEA+bnJgbDpQaWM/Zj1xdjpGY2F3XURBclc+dmpOYW1XXmRPcD1QcXhwdlh4aElOcEtAbGFIb0NOcG1ZZXZPW1Jfbl1IXlhmb3RfZmVweTtWY1BeeXhfWnFZXFxvQHNEZ2lYV1paWW5YRm9jPmhmdnE9dnhWUWhLaGx0QWpkSVplUWROeVtcXG5fcE9wZEBhQGBudm5jZT9aYEZlWHlneXBjd0Fna0dfTUlpX05sbGFqVF5aUHhsQmdbTFdyb255SXZnW3FnYWlhWWF5VEBaOj5aOkZjP29jPm9vPD9mPDM8</Image></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">                                             </Text-field><Text-field layout="Normal263" style="Normal263">                                                                                          Fig. 3. Linear segment</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Similarly as for quadratic curve for linear segments we need three control points ! The segment joins points Q0 and Q1. A point P1 is chosen as arbitrary one. P1 should be such  that all three points were not to be colinear. In Fig. 3 a linear segment with all its characteristic points are presented.
                                                 
From the above considerations it is easily seen that for quadratic polynomials and for linear segments we have the same approach. Namely, we use Chaikin's geometric method.
</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle261"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">4. FRACTAL MODELING OF CONTOURS BASING ON CHAIKIN'S APPROACH</Font></Text-field></Title><Text-field layout="Normal" style="Normal">For every contour that can be splitted into a finite number of linear and quadratic segments we can give a collection of IFS's  that describe fractally the whole contour. In this worksheet similarly as in [5] and [6] we demonstrate a number of examples of fractal modeling of contours using both probabilistic and deterministic methods. The data for modeled contours have been obtained with the help of the program [3].</Text-field><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle262"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">5. MAPLE PROGRAM</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">We start with probabilistic modeling. It works faster in comparison to deterministic modeling.. For details consult <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://www.maplesoft.com/applications/app_center_view.aspx?AID=1657" size="12" style="Hyperlink">http://www.maplesoft.com/applications/app_center_view.aspx?AID=1657</Hyperlink>). </Text-field><Text-field layout="Normal" style="Normal"/><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">5.1. PROBABILISTIC MODELING
</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">restart;
with(plots):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">with(linalg):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">DEFINITION OF HOMOGENOUS POINT IN R2</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">P:=(x,y)-&gt;[x,y,1];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">PROCEDURE FOR CREATING TWO FUNCTIONS f1,f2 FROM GIVEN COEFFICENTS: a,b,c,d,e,f</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MakeMapFromCoeffs:=proc(a,b,c,d,e,f)
   local x, y;
   unapply([a*x+b*y+e,c*x+d*y+f],x,y);
end:</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">GENERATOR OF UNIFORM RANDOMLY DISTRIBUTED NUMBERS 1 or 2 </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">d:=rand(1..2):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">CHAIKIN'S MATRICES FOR GENERATING QUADRATIC BEZIER CURVE</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LC:=[[3/4,1/4,0],[1/4,3/4,0],[0,3/4,1/4]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MC:=[[1/4,3/4,0],[0,3/4,1/4],[0,1/4,3/4]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">PROBABILISTIC PROCEDURE FOR GENERATING OF QUADRATIC BEZIER CURVE WITH THE USAGE OF CHAIKIN'S ALGORITHM (three non-colinear points Q0,P1,Q2 and n - the number of iterations should be given).Starting point is chosen as Q0 i.e. it belongs to the attractor! </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">BezChaProb:=proc(Q0,P1,Q2,n)
local L, M, PP, LC, MC, P0, P2, LP, MP, i, l, z, dd, x, y, f1, f2:
LC:=[[3/4,1/4,0],[1/4,3/4,0],[0,3/4,1/4]];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MC:=[[1/4,3/4,0],[0,3/4,1/4],[0,1/4,3/4]];
P0:=2*Q0-P1;
P2:=2*Q2-P1;
PP:=[P0,P1,P2];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LP:=evalm(inverse(PP)&amp;*LC&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MP:=evalm(inverse(PP)&amp;*MC&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">f1:=MakeMapFromCoeffs(LP[1,1],LP[2,1],LP[1,2],LP[2,2],LP[3,1],LP[3,2]);
f2:=MakeMapFromCoeffs(MP[1,1],MP[2,1],MP[1,2],MP[2,2],MP[3,1],MP[3,2]);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">x[0]:=Q0[1]:
y[0]:=Q0[2]:
z[0]:=[x[0],y[0]]:
for i from 0 to n do
dd:=d():
if  dd=1 then z[i+1]:=evalf(f1(z[i][1],z[i][2])): 
else z[i+1]:=evalf(f2(z[i][1],z[i][2])):
fi:
od:
i:='i':
l:={seq(z[i],i=0..n)}:
pointplot(l,symbol=CROSS,axes=none,color=black):
end:</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">AN EXAMPLE - BEZIER CURVE FRACTALLY GENERATED IN A PROBABILISTIC WAY</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">BezChaProb(P(-1,3),P(4,1),P(1,-3),1000);</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">CHAIKIN'S MATRICES FOR GENERATING OF A LINEAR SEGMENT </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LCS:=[[1/2,1/2,0],[1/2,2/2,0],[0,1/2,1/2]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MCS:=[[1/2,1/2,0],[0,1/2,1/2],[0,1/2,1/2]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">PROBABILISTIC PROCEDURE FOR GENERATING OF THE LINEAR SEGMENT JOINING POINTS Q0 and Q2 USING CHAIKIN'S ALGORITHM. AN ADDITIONAL POINT P1 IS NEEDED (three points Q0,Q2 and P1 should be non-colinear and the number of iterations - n should be given).Starting point is chosen as Q0 i.e. it belongs to the attractor! </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">SeChaProb:=proc(Q0,P1,Q2,n)
local L, M, PP, LCS, MCS, P0, P2, LP, MP, i, l, z, dd, x, y, f1, f2:
LCS:=[[1/2,1/2,0],[1/2,1/2,0],[0,1/2,1/2]];MCS:=[[1/2,1/2,0],[0,1/2,1/2],[0,1/2,1/2]];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">P0:=2*Q0-P1;
P2:=2*Q2-P1;
PP:=[P0,P1,P2];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LP:=evalm(inverse(PP)&amp;*LCS&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MP:=evalm(inverse(PP)&amp;*MCS&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">f1:=MakeMapFromCoeffs(LP[1,1],LP[2,1],LP[1,2],LP[2,2],LP[3,1],LP[3,2]);
f2:=MakeMapFromCoeffs(MP[1,1],MP[2,1],MP[1,2],MP[2,2],MP[3,1],MP[3,2]);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">x[0]:=Q0[1];
y[0]:=Q0[2]:
z[0]:=[x[0],y[0]]:
for i from 0 to n do
dd:=d():
if  dd=1 then z[i+1]:=evalf(f1(z[i][1],z[i][2])): 
else z[i+1]:=evalf(f2(z[i][1],z[i][2])):
fi:
od:
i:='i':
l:={seq(z[i],i=0..n)}:
pointplot(l,symbol=CROSS,axes=none,color=black):
end:</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">AN EXAMPLE - A SEGMENT JOINING POINTS [-1,3] and [1,-3] FRACTALLY GENERATED IN A PROBABILISTIC WAY. THE POINT [4,1] HAS BEEN  ADDED.  </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">SeChaProb(P(-1,3),P(4,1),P(1,-3),500);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"BOX ELDER"  - ANIMATION</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">display(seq(
display(
BezChaProb(P(75,156), P(100,121), P(158,126),n),
SeChaProb(P(158,126),P(100,100), P(170,15),n),
BezChaProb(P(170,15), P(177,12), P(176,27),n),
BezChaProb(P(176,27), P(167,80), P(166,128),n),
BezChaProb(P(166,128), P(212,115), P(250,150),n),
SeChaProb(P(250,150),P(100,100), P(252,158),n),
BezChaProb(P(252,158), P(268,174), P(275,196),n),
BezChaProb(P(275,196), P(252,194), P(242,199),n),
SeChaProb(P(233,197),P(100,100), P(242,199),n),
SeChaProb(P(223,199),P(100,100), P(233,197),n),
BezChaProb(P(223,199), P(208,199), P(169,148),n),
BezChaProb(P(169,148), P(171,164), P(201,188),n),
SeChaProb(P(201,188),P(100,100), P(216,237),n),
SeChaProb(P(205,273),P(100,100), P(216,237),n),
SeChaProb(P(198,275),P(100,100), P(205,273),n),
SeChaProb(P(170,314),P(100,100), P(198,275),n),
BezChaProb(P(170,314), P(160,298), P(138,288),n),
BezChaProb(P(138,288), P(112,255), P(129,202),n),
BezChaProb(P(129,202), P(149,184), P(157,156),n),
BezChaProb(P(157,156), P(145,197), P(98,210),n),
SeChaProb(P(88,204),P(100,100), P(98,210),n),
BezChaProb(P(88,204), P(75,211), P(55,209),n),
BezChaProb(P(55,209), P(79,161), P(75,156),n)),
n=[0,3,10,20,30,50,100,200,300,500]),scaling=constrained,insequence=true);</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"DUCK" - ANIMATION</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](display(
seq(display(
SeChaProb(P(160,315),P(100,100), P(186,312),n),
SeChaProb(P(186,312),P(100,100), P(205,289),n),
SeChaProb(P(205,289),P(100,100), P(240,274),n),
SeChaProb(P(240,274),P(100,100), P(176,267),n),
BezChaProb(P(176,267), P(253,197), P(233,149),n),
SeChaProb(P(233,149),P(100,100), P(192,111),n),
SeChaProb(P(192,111),P(100,100), P(211,92),n),
SeChaProb(P(211,92),P(100,100), P(237,95),n),
SeChaProb(P(237,95),P(100,100), P(237,79),n),
BezChaProb(P(237,79), P(221,82), P(208,63),n),
SeChaProb(P(208,63),P(100,100), P(189,108),n),
BezChaProb(P(189,108), P(179,114), P(150,85),n),
SeChaProb(P(150,85), P(100,100), P(157,50),n),
SeChaProb(P(157,50),P(100,100), P(202,53),n),
SeChaProb(P(202,53), P(100,100), P(192,31),n),
BezChaProb(P(192,31), P(170,34), P(160,15),n),
SeChaProb(P(160,15),P(100,100), P(144,44),n),
SeChaProb(P(144,44), P(100,100), P(141,88),n),
SeChaProb(P(141,88),P(100,100), P(93,114),n),
BezChaProb(P(93,114), P(80,136), P(125,191),n),
SeChaProb(P(125,191),P(100,100), P(154,210),n),
BezChaProb(P(154,210), P(119,277), P(160,315),n)),
n=[0,3,5,10,50,100,200,300,500]),scaling=constrained,insequence=true),-Pi/8);</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"BUTTERFLY"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n := 200:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">display(
BezChaProb(P(154,15), P(129,60), P(90,88),n),
SeChaProb(P(90,88), P(100,100), P(94,113),n),
SeChaProb(P(94,113), P(100,100), P(72,107),n),
BezChaProb(P(72,107), P(24,118), P(27,172),n), 
SeChaProb(P(27,172), P(100,100), P(40,198),n),
SeChaProb(P(40,198), P(100,100), P(110,207),n),
BezChaProb(P(110,207), P(114,210), P(79,228),n),
BezChaProb(P(79,228), P(65,237), P(114,217),n),
SeChaProb(P(114,217), P(100,100), P(87,278),n),
SeChaProb(P(87,278), P(100,100), P(104,302),n),
BezChaProb(P(104,302), P(122,317), P(154,315),n),
BezChaProb(P(154,315), P(184,310), P(187,273),n),
SeChaProb(P(187,273), P(100,100), P(210,288),n),
BezChaProb(P(210,288), P(255,268), P(304,270),n),
BezChaProb(P(304,270), P(270,202), P(159,193),n),
SeChaProb(P(159,193), P(100,100), P(169,178),n),
SeChaProb(P(169,178), P(100,100), P(150,180),n),
BezChaProb(P(150,180), P(189,98), P(169,25),n),
SeChaProb(P(169,25), P(100,100), P(154,15),n), scaling=constrained);</Font>

</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"PUPPY"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=200:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">puppy:=display(
SeChaProb(P(155,15), P(100,100), P(181,79),n),
SeChaProb(P(181,79), P(100,100), P(228,85),n),
SeChaProb(P(228,85), P(100,100), P(248,82),n),
SeChaProb(P(248,82), P(100,100), P(275,99),n),
SeChaProb(P(275,99), P(100,100), P(304,108),n),
SeChaProb(P(304,108),P(100,100), P(295,129),n),
SeChaProb(P(295,129), P(100,100), P(254,146),n),
SeChaProb(P(254,146),P(100,100), P(228,178),n),
SeChaProb(P(228,178), P(100,100), P(254,216),n),
SeChaProb(P(254,216), P(100,100), P(257,254),n),
SeChaProb(P(257,254), P(100,100), P(243,271),n),
SeChaProb(P(243,271), P(100,100), P(222,271),n),
BezChaProb(P(222,271), P(213,254), P(231,245),n),
BezChaProb(P(231,245), P(202,210), P(199,219),n),
BezChaProb(P(199,219), P(190,187), P(176,312),n),
SeChaProb(P(176,312), P(100,100), P(155,315),n),
BezChaProb(P(155,315), P(141,300), P(161,283),n),
SeChaProb(P(161,283), P(100,100), P(144,233),n),
SeChaProb(P(144,233),P(100,100),  P(120,228),n),
SeChaProb(P(120,228), P(100,100), P(94,248),n),
BezChaProb(P(94,248), P(56,257), P(47,242),n),
BezChaProb(P(47,242), P(53,210), P(27,198),n),
SeChaProb(P(27,198), P(100,100), P(30,152),n),
BezChaProb(P(30,152), P(42,126), P(68,108),n),
SeChaProb(P(68,108), P(100,100), P(79,137),n),
SeChaProb(P(79,137),P(100,100), P(126,97),n),
SeChaProb(P(126,97), P(100,100), P(126,172),n),
BezChaProb(P(126,172), P(146,178), P(149,108),n),
SeChaProb(P(149,108), P(100,100), P(164,91),n),
BezChaProb(P(164,91), P(138,24), P(155,15),n), scaling=constrained):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](puppy,(11/8)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"DOG"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=200:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">dog:=display(
BezChaProb(P(87,30), P(88,50), P(75,79),n),
SeChaProb(P(75,79), P(100,100), P(67,85),n),
BezChaProb(P(67,85), P(64,124), P(96,136),n),
SeChaProb(P(96,136), P(100,100), P(117,135),n),
BezChaProb(P(117,135), P(117,167), P(139,186),n),
BezChaProb(P(139,186), P(136,251), P(166,282),n),
SeChaProb(P(166,282), P(100,100), P(136,314),n),
BezChaProb(P(136,314), P(148,320), P(179,291),n),
BezChaProb(P(179,291), P(206,292), P(233,277),n),
BezChaProb(P(233,277), P(242,265), P(238,253),n),
SeChaProb(P(238,253), P(100,100), P(233,247),n),
SeChaProb(P(233,247), P(100,100), P(253,236),n),
BezChaProb(P(253,236), P(265,216), P(254,204),n),
BezChaProb(P(254,204), P(267,195), P(263,181),n),
SeChaProb(P(263,181), P(100,100), P(252,168),n),
SeChaProb(P(252,168), P(100,100), P(243,166),n),
SeChaProb(P(243,166), P(100,100), P(237,176),n),
BezChaProb(P(237,176), P(211,172), P(196,140),n),
SeChaProb(P(196,140), P(100,100), P(171,128),n),
BezChaProb(P(171,128), P(161,113), P(161,88),n),
BezChaProb(P(161,88), P(173,68), P(163,42),n),
SeChaProb(P(163,42), P(100,100), P(156,38),n),
BezChaProb(P(156,38), P(131,51), P(126,38),n),
BezChaProb(P(126,38), P(121,43), P(114,33),n),
BezChaProb(P(114,33), P(109,31), P(130,27),n),
SeChaProb(P(130,27), P(100,100), P(136,20),n),
BezChaProb(P(136,20), P(145,6), P(87,30),n),scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](dog,(5/4)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"COCK"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=200:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">cock:=display(
BezChaProb(P(28,274), P(43,233), P(51,254),n),
BezChaProb(P(51,254), P(45,225), P(78,225),n),
SeChaProb(P(78,225), P(100,100), P(101,236),n),
BezChaProb(P(101,236), P(139,210), P(133,175),n),
BezChaProb(P(133,175), P(45,198), P(31,102),n),
BezChaProb(P(31,102), P(40,24), P(115,15),n),
SeChaProb(P(115,15), P(100,100),P(78,32),n),
SeChaProb(P(78,32), P(100,100),P(48,79),n),
SeChaProb(P(48,79), P(100,100),P(69,56),n),
SeChaProb(P(69,56), P(100,100),P(104,67),n),
BezChaProb(P(104,67), P(124,30), P(177,32),n),
BezChaProb(P(177,32), P(142,38), P(124,65),n),
SeChaProb(P(124,65), P(100,100),P(142,56),n),
SeChaProb(P(142,56), P(100,100),P(153,70),n),
BezChaProb(P(153,70), P(179,65), P(174,85),n),
SeChaProb(P(174,85), P(100,100),P(197,79),n),
BezChaProb(P(197,79), P(153,102), P(179,102),n),
BezChaProb(P(179,102), P(174,117), P(194,102),n),
BezChaProb(P(194,102), P(185,123), P(211,126),n),
BezChaProb(P(211,126), P(197,123), P(197,140),n),
BezChaProb(P(197,140), P(232,149), P(220,161),n),
SeChaProb(P(220,161), P(100,100),P(264,166),n),
SeChaProb(P(264,166), P(100,100),P(287,155),n),
BezChaProb(P(287,155), P(273,178), P(302,181),n),
SeChaProb(P(302,181), P(100,100), P(290,219),n),
BezChaProb(P(290,219), P(278,201), P(258,193),n),
BezChaProb(P(258,193), P(177,324), P(115,295),n),
SeChaProb(P(115,295), P(100,100),P(115,315),n),
SeChaProb(P(115,315), P(100,100),P(72,312),n),
BezChaProb(P(72,312), P(25,292), P(28,274),n), scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](cock,(3/2)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"MICKEY" - ANIMATION</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](display(
seq(display(
SeChaProb(P(137,16), P(100,100),P(131,35),n),
SeChaProb(P(131,35), P(100,100),P(89,43),n),
SeChaProb(P(89,43), P(100,100),P(84,51),n),
BezChaProb(P(84,51), P(101,74), P(131,72),n),
SeChaProb(P(131,72), P(100,100),P(135,90),n),
SeChaProb(P(135,90), P(100,100),P(126,96),n),
BezChaProb(P(126,96), P(115,125), P(142,154),n),
BezChaProb(P(142,154), P(97,170), P(112,217),n),
SeChaProb(P(112,217), P(100,100),P(105,224),n),
SeChaProb(P(105,224), P(100,100),P(110,238),n),
SeChaProb(P(110,238), P(100,100),P(101,252),n),
BezChaProb(P(101,252), P(85,238), P(65,241),n),
SeChaProb(P(65,241), P(100,100),P(57,248),n),
BezChaProb(P(57,248), P(51,281), P(81,291),n),
BezChaProb(P(81,291), P(112,306), P(130,282),n),
SeChaProb(P(130,282), P(100,100),P(133,271),n),
SeChaProb(P(133,271), P(100,100),P(130,253),n),
SeChaProb(P(130,253), P(100,100),P(126,241),n),
SeChaProb(P(126,241), P(100,100),P(141,254),n),
BezChaProb(P(141,254), P(146,269), P(141,279),n),
SeChaProb(P(141,279), P(100,100),P(141,296),n),
SeChaProb(P(141,296), P(100,100),P(147,310),n),
BezChaProb(P(147,310), P(170,324), P(201,302),n),
BezChaProb(P(201,302), P(225,283), P(209,252),n),
SeChaProb(P(209,252), P(100,100),P(199,246),n),
SeChaProb(P(199,246), P(100,100),P(163,267),n),
BezChaProb(P(163,267), P(155,266), P(155,252),n),
SeChaProb(P(155,252), P(100,100),P(166,242),n),
SeChaProb(P(166,242), P(100,100),P(164,228),n),
SeChaProb(P(164,228), P(100,100),P(174,215),n),
SeChaProb(P(174,215), P(100,100),P(192,207),n),
SeChaProb(P(192,207), P(100,100),P(196,191),n),
SeChaProb(P(196,191), P(100,100),P(188,164),n),
BezChaProb(P(188,164), P(216,155), P(225,135),n),
SeChaProb(P(225,135), P(100,100),P(237,147),n),
SeChaProb(P(237,147), P(100,100),P(249,151),n),
BezChaProb(P(249,151), P(271,146), P(274,123),n),
SeChaProb(P(274,123), P(100,100),P(263,104),n),
SeChaProb(P(263,104), P(100,100),P(252,101),n),
SeChaProb(P(252,101), P(100,100),P(230,111),n),
SeChaProb(P(230,111), P(100,100),P(223,88),n),
SeChaProb(P(223,88), P(100,100),P(244,81),n),
BezChaProb(P(244,81), P(254,68), P(250,57),n),
BezChaProb(P(250,57), P(242,41), P(224,41),n),
SeChaProb(P(224,41), P(100,100), P(211,48),n),
BezChaProb(P(211,48), P(203,60), P(204,72),n),
BezChaProb(P(204,72), P(176,57), P(152,84),n),
SeChaProb(P(152,84), P(100,100),P(152,49),n),
SeChaProb(P(152,49), P(100,100),P(146,39),n),
SeChaProb(P(146,39), P(100,100),P(147,15),n),
SeChaProb(P(147,15), P(100,100),P(137,16),n)),
n=[0,3,5,10,20,50,100,200,300]), scaling=constrained,insequence=true),(9/10)*Pi);</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="_cstyle21"><Font italic="false" size="12" underline="false">"MOUSE"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=200:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">mouse:=display(
BezChaProb(P(153,15), P(119,81), P(135,93),n),
BezChaProb(P(135,93), P(99,115), P(115,119),n),
BezChaProb(P(115,119), P(111,113), P(139,95),n),
SeChaProb(P(139,95),P(100,100), P(145,105),n),
BezChaProb(P(145,105), P(125,123), P(137,155),n),
BezChaProb(P(137,155), P(127,159), P(127,185),n),
SeChaProb(P(127,185), P(100,100), P(111,191),n),
SeChaProb(P(111,191), P(100,100), P(97,201),n),
SeChaProb(P(97,201), P(100,100), P(93,221),n),
BezChaProb(P(93,221), P(67,225), P(73,233),n),
BezChaProb(P(73,233), P(61,237), P(87,257),n),
SeChaProb(P(87,257), P(100,100),P(85,265),n),
BezChaProb(P(85,265), P(65,259), P(51,275),n),
SeChaProb(P(51,275), P(100,100),P(59,287),n),
SeChaProb(P(59,287), P(100,100),P(73,293),n),
SeChaProb(P(73,293), P(100,100),P(91,287),n),
SeChaProb(P(91,287), P(100,100),P(93,271),n),
BezChaProb(P(93,271), P(99,249), P(113,249),n),
SeChaProb(P(113,249), P(100,100), P(125,277),n),
SeChaProb(P(125,277), P(100,100),P(115,299),n),
BezChaProb(P(115,299), P(129,313), P(153,315),n),
SeChaProb(P(153,315), P(100,100),P(151,299),n),
SeChaProb(P(151,299), P(100,100),P(133,291),n),
SeChaProb(P(133,291), P(100,100),P(137,263),n),
SeChaProb(P(137,263), P(100,100),P(153,259),n),
SeChaProb(P(153,259), P(100,100),P(163,225),n),
SeChaProb(P(163,225), P(100,100), P(145,193),n),
SeChaProb(P(145,193), P(100,100),P(151,169),n),
BezChaProb(P(151,169), P(205,151), P(199,165),n),
SeChaProb(P(199,165), P(100,100),P(205,171),n),
BezChaProb(P(205,171), P(173,195), P(185,195),n),
BezChaProb(P(185,195), P(211,179), P(203,173),n),
SeChaProb(P(203,173), P(100,100),P(225,171),n),
SeChaProb(P(225,171), P(100,100),P(279,139),n),
BezChaProb(P(279,139), P(249,103), P(205,117),n),
SeChaProb(P(205,117), P(100,100),P(187,93),n),
BezChaProb(P(187,93), P(179,25), P(153,15),n),scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](mouse,(9/10)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">5.2. DETERMINISTIC MODELING</Text-field></Title><Text-field layout="Heading 2260" style="Heading 2260"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" style="_cstyle266" underline="false">De</Font><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" style="_cstyle267" underline="false">terministic modeling is very time consuming! Especially for contours with large number of linear segments. To obtain good results of modeling we need about 10 iterations. Convergence is slower and is different than in </Font><Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://www.maplesoft.com/applications/app_center_view.aspx?AID=1651" size="12" style="Hyperlink">http://www.maplesoft.com/applications/app_center_view.aspx?AID=1651.</Hyperlink></Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">restart;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">with(plots):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">with(linalg):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">DEFINITION OF HOMOGENEOUS POINT IN R2</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">P:=(x,y)-&gt;[x,y,1];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">POINT TRANSFORMATION</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">TransPoint := proc(t, p) 
    [t[1]*p[1]+t[2]*p[2]+t[5], t[3]*p[1]+t[4]*p[2]+t[6]] 
end:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">POLYGON TRANSFORMATION</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">TransPolygon := proc(t,polygon)     
local i; 
    [seq(TransPoint(t,polygon[i]), i=1 ..nops(polygon))] 
end:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">ITERATED FUNCTION SYSTEM (n - the number of iterations, list of transformations and initial polygon should be given)</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">IFS := proc(n, ListTrans, polygon)
    local i, j, k, s, seqpoly:
   
seqpoly := polygon;    

for j to n do
    s := NULL;    
for i to nops(ListTrans) do       
s := s, seq(TransPolygon(ListTrans[i],
       op(k, [seqpoly])),
       k=1 .. nops([seqpoly]))      
od;
     seqpoly := s   
od;
   polygonplot([seqpoly],axes=none,
      color=green, scaling=constrained, thickness=3) 
end: </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">CHAIKIN'S MATRICES FOR GENERATING QUADRATIC BEZIER CURVE</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LC:=[[3/4,1/4,0],[1/4,3/4,0],[0,3/4,1/4]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MC:=[[1/4,3/4,0],[0,3/4,1/4],[0,1/4,3/4]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">PROCEDURE FOR GENERATING QUADRATIC BEZIER CURVE USING CHAIKIN'S ALGORITHM (three non-colinear points Q0,P1,Q2, starting polygon and n - the number of iterations should be given)</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">GenChaBez:=proc(Q0,P1,Q2,polygon,n)
local LC, MC, PP, LP, MP,P0, P2, chaikin:
LC:=[[3/4,1/4,0],[1/4,3/4,0],[0,3/4,1/4]];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MC:=[[1/4,3/4,0],[0,3/4,1/4],[0,1/4,3/4]];
P0:=2*Q0-P1;
P2:=2*Q2-P1;
PP:=[P0,P1,P2];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LP:=evalm(inverse(PP)&amp;*LC&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MP:=evalm(inverse(PP)&amp;*MC&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">chaikin:=[[LP[1,1],LP[2,1],LP[1,2],LP[2,2],LP[3,1],LP[3,2]],[MP[1,1],MP[2,1],MP[1,2],MP[2,2],MP[3,1],MP[3,2]]];
IFS(n,chaikin,polygon);
end:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">EXAMPLE - QUADRATIC BEZIER CURVE </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[1,0],[1,1],[0,1]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">for n from 0 by 3 to 9 do 
GenChaBez(P(-1,0),P(0,1),P(1,0),poly,n);
print(Iteration=n);
od;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">CHAIKIN'S MATRICES FOR GENERATING LINEAR SEGMENTS</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LCS:=[[1/2,1/2,0],[1/2,1/2,0],[0,1/2,1/2]]:</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MCS:=[[1/2,1/2,0],[0,1/2,1/2],[0,1/2,1/2]]:</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">PROCEDURE FOR GENERATING OF A LINEAR SEGMENT (JOINING Q0 and Q2 POINTS) USING CHAIKIN'S ALGORITHM.ADDITIONAL POINT P1 IS NEEDED.(three non-colinear points Q0,P1,Q2, starting polygon and n - the number of iterations should be given)</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">GenChaSe:=proc(Q0,P1,Q2,polygon,n)
local LCS, MCS, PP, LP, MP, P0 ,P2, chaikin:
LCS:=[[1/2,1/2,0],[1/2,1/2,0],[0,1/2,1/2]];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MCS:=[[1/2,1/2,0],[0,1/2,1/2],[0,1/2,1/2]];
P0:=2*Q0-P1;
P2:=2*Q2-P1;
PP:=[P0,P1,P2];</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">LP:=evalm(inverse(PP)&amp;*LCS&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">MP:=evalm(inverse(PP)&amp;*MCS&amp;*PP);</Font></Text-field><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">chaikin:=[[LP[1,1],LP[2,1],LP[1,2],LP[2,2],LP[3,1],LP[3,2]],[MP[1,1],MP[2,1],MP[1,2],MP[2,2],MP[3,1],MP[3,2]]];
IFS(n,chaikin,polygon):
end:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">EXAMPLE - A SEGMENT </Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">for n from 0 by 3 to 9 do
GenChaSe(P(1,0),P(1,2),P(2,1),[[0,0],[1,0],[1,2]],n);
print(Iteration=n);
od;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"DUCK" - ANIMATION</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">display(seq(
display(
GenChaSe(P(160,315),P(100,100), P(186,312), poly,n),
GenChaSe(P(186,312),P(100,100), P(205,289),poly, n),
GenChaSe(P(205,289),P(100,100), P(240,274),poly,n),
GenChaSe(P(240,274),P(100,100), P(176,267),poly,n),
GenChaBez(P(176,267), P(253,197), P(233,149),poly,n),
GenChaSe(P(233,149),P(100,100), P(192,111),poly,n),
GenChaSe(P(192,111),P(100,100), P(211,92),poly,n),
GenChaSe(P(211,92),P(100,100), P(237,95),poly,n),
GenChaSe(P(237,95),P(100,100), P(237,79),poly,n),
GenChaBez(P(237,79), P(221,82), P(208,63),poly,n),
GenChaSe(P(208,63),P(100,100), P(189,108),poly,n),
GenChaBez(P(189,108), P(179,114), P(150,85),poly,n),
GenChaSe(P(150,85), P(100,100), P(157,50),poly,n),
GenChaSe(P(157,50),P(100,100), P(202,53),poly,n),
GenChaSe(P(202,53), P(100,100), P(192,31),poly,n),
GenChaBez(P(192,31), P(170,34), P(160,15),poly,n),
GenChaSe(P(160,15),P(100,100), P(144,44),poly,n),
GenChaSe(P(144,44), P(100,100), P(141,88),poly,n),
GenChaSe(P(141,88),P(100,100), P(93,114),poly,n),
GenChaBez(P(93,114), P(80,136), P(125,191),poly,n),
GenChaSe(P(125,191),P(100,100), P(154,210),poly,n),
GenChaBez(P(154,210), P(119,277), P(160,315),poly,n)),n=0..8),
insequence=true,scaling=constrained);</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"BUTTERFLY"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200]]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=8:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">display(
GenChaBez(P(154,15), P(129,60), P(90,88), poly,n),
GenChaSe(P(90,88), P(100,100), P(94,113), poly,n),
GenChaSe(P(94,113), P(100,100), P(72,107), poly,n),
GenChaBez(P(72,107), P(24,118), P(27,172), poly,n), 
GenChaSe(P(27,172), P(100,100), P(40,198), poly,n),
GenChaSe(P(40,198), P(100,100), P(110,207), poly,n),
GenChaBez(P(110,207), P(114,210), P(79,228), poly,n),
GenChaBez(P(79,228), P(65,237), P(114,217), poly,n),
GenChaSe(P(114,217), P(100,100), P(87,278), poly,n),
GenChaSe(P(87,278), P(100,100), P(104,302), poly,n),
GenChaBez(P(104,302), P(122,317), P(154,315), poly,n),
GenChaBez(P(154,315), P(184,310), P(187,273), poly,n),
GenChaSe(P(187,273), P(100,100), P(210,288), poly,n),
GenChaBez(P(210,288), P(255,268), P(304,270), poly,n),
GenChaBez(P(304,270), P(270,202), P(159,193), poly,n),
GenChaSe(P(159,193), P(100,100), P(169,178), poly,n),
GenChaSe(P(169,178), P(100,100), P(150,180), poly,n),
GenChaBez(P(150,180), P(189,98), P(169,25), poly,n),
GenChaSe(P(169,25), P(100,100), P(154,15), poly,n), scaling=constrained);</Font>
</Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 3" style="Heading 3"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="true" size="14" style="_cstyle269" underline="false"> </Font><Font bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" size="14" style="_cstyle270" underline="false">5.2.1. FURTHER  DETERMINISTIC EXAMPLES (REQUIRES VERY INTENSIVE CALCULATIONS !)</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Below are given some examples in which to obtain good results we need to perform 10 or even more iterations. It can be observed that process of shortening of linear segments  of a given contour is rather slow. Convergence of the method can be increased by individual choise of starting polygon </Text-field><Text-field layout="Normal" style="Normal">to every segment.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200]];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=9;</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">"PUPPY"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">puppy:=display(
GenChaSe(P(155,15), P(100,100), P(181,79), poly,n),
GenChaSe(P(181,79), P(100,100), P(228,85), poly,n),
GenChaSe(P(228,85), P(100,100), P(248,82), poly,n),
GenChaSe(P(248,82), P(100,100), P(275,99), poly,n),
GenChaSe(P(275,99), P(100,100), P(304,108), poly,n),
GenChaSe(P(304,108),P(100,100), P(295,129), poly,n),
GenChaSe(P(295,129), P(100,100), P(254,146), poly,n),
GenChaSe(P(254,146),P(100,100), P(228,178), poly,n),
GenChaSe(P(228,178), P(100,100), P(254,216), poly,n),
GenChaSe(P(254,216), P(100,100), P(257,254), poly,n),
GenChaSe(P(257,254), P(100,100), P(243,271), poly,n),
GenChaSe(P(243,271), P(100,100), P(222,271), poly,n),
GenChaBez(P(222,271), P(213,254), P(231,245), poly,n),
GenChaBez(P(231,245), P(202,210), P(199,219), poly,n),
GenChaBez(P(199,219), P(190,187), P(176,312), poly,n),
GenChaSe(P(176,312), P(100,100), P(155,315), poly,n),
GenChaBez(P(155,315), P(141,300), P(161,283), poly,n),
GenChaSe(P(161,283), P(100,100), P(144,233), poly,n),
GenChaSe(P(144,233),P(100,100),  P(120,228), poly,n),
GenChaSe(P(120,228), P(100,100), P(94,248), poly,n),
GenChaBez(P(94,248), P(56,257), P(47,242), poly,n),
GenChaBez(P(47,242), P(53,210), P(27,198), poly,n),
GenChaSe(P(27,198), P(100,100), P(30,152), poly,n),
GenChaBez(P(30,152), P(42,126), P(68,108), poly,n),
GenChaSe(P(68,108), P(100,100), P(79,137), poly,n),
GenChaSe(P(79,137),P(100,100), P(126,97), poly,n),
GenChaSe(P(126,97), P(100,100), P(126,172), poly,n),
GenChaBez(P(126,172), P(146,178), P(149,108), poly,n),
GenChaSe(P(149,108), P(100,100), P(164,91), poly,n),
GenChaBez(P(164,91), P(138,24), P(155,15), poly,n), scaling=constrained):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](puppy,(11/8)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"DOG"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200],[0,200]];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=9;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">dog:=display(
GenChaBez(P(87,30), P(88,50), P(75,79), poly,n),
GenChaSe(P(75,79), P(100,100), P(67,85), poly,n),
GenChaBez(P(67,85), P(64,124), P(96,136), poly,n),
GenChaSe(P(96,136), P(100,100), P(117,135), poly,n),
GenChaBez(P(117,135), P(117,167), P(139,186), poly,n),
GenChaBez(P(139,186), P(136,251), P(166,282), poly,n),
GenChaSe(P(166,282), P(100,100), P(136,314), poly,n),
GenChaBez(P(136,314), P(148,320), P(179,291), poly,n),
GenChaBez(P(179,291), P(206,292), P(233,277), poly,n),
GenChaBez(P(233,277), P(242,265), P(238,253), poly,n),
GenChaSe(P(238,253), P(100,100), P(233,247), poly,n),
GenChaSe(P(233,247), P(100,100), P(253,236), poly,n),
GenChaBez(P(253,236), P(265,216), P(254,204), poly,n),
GenChaBez(P(254,204), P(267,195), P(263,181), poly,n),
GenChaSe(P(263,181), P(100,100), P(252,168), poly,n),
GenChaSe(P(252,168), P(100,100), P(243,166), poly,n),
GenChaSe(P(243,166), P(100,100), P(237,176), poly,n),
GenChaBez(P(237,176), P(211,172), P(196,140), poly,n),
GenChaSe(P(196,140), P(100,100), P(171,128), poly,n),
GenChaBez(P(171,128), P(161,113), P(161,88), poly,n),
GenChaBez(P(161,88), P(173,68), P(163,42), poly,n),
GenChaSe(P(163,42), P(100,100), P(156,38), poly,n),
GenChaBez(P(156,38), P(131,51), P(126,38), poly,n),
GenChaBez(P(126,38), P(121,43), P(114,33), poly,n),
GenChaBez(P(114,33), P(109,31), P(130,27), poly,n),
GenChaSe(P(130,27), P(100,100), P(136,20), poly,n),
GenChaBez(P(136,20), P(145,6), P(87,30), poly,n),scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](dog,(5/4)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200],[0,200]];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=8;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"COCK"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">cock:=display(
GenChaBez(P(28,274), P(43,233), P(51,254), poly,n),
GenChaBez(P(51,254), P(45,225), P(78,225),poly,n),
GenChaSe(P(78,225), P(100,100), P(101,236),poly,n),
GenChaBez(P(101,236), P(139,210), P(133,175),poly,n),
GenChaBez(P(133,175), P(45,198), P(31,102),poly,n),
GenChaBez(P(31,102), P(40,24), P(115,15),poly,n),
GenChaSe(P(115,15), P(100,100),P(78,32),poly,n),
GenChaSe(P(78,32), P(100,100),P(48,79),poly,n),
GenChaSe(P(48,79), P(100,100),P(69,56),poly,n),
GenChaSe(P(69,56), P(100,100),P(104,67),poly,n),
GenChaBez(P(104,67), P(124,30), P(177,32),poly,n),
GenChaBez(P(177,32), P(142,38), P(124,65),poly,n),
GenChaSe(P(124,65), P(100,100),P(142,56),poly,n),
GenChaSe(P(142,56), P(100,100),P(153,70),poly,n),
GenChaBez(P(153,70), P(179,65), P(174,85),poly,n),
GenChaSe(P(174,85), P(100,100),P(197,79),poly,n),
GenChaBez(P(197,79), P(153,102), P(179,102),poly,n),
GenChaBez(P(179,102), P(174,117), P(194,102),poly,n),
GenChaBez(P(194,102), P(185,123), P(211,126),poly,n),
GenChaBez(P(211,126), P(197,123), P(197,140),poly,n),
GenChaBez(P(197,140), P(232,149), P(220,161),poly,n),
GenChaSe(P(220,161), P(100,100),P(264,166),poly,n),
GenChaSe(P(264,166), P(100,100),P(287,155),poly,n),
GenChaBez(P(287,155), P(273,178), P(302,181),poly,n),
GenChaSe(P(302,181), P(100,100), P(290,219),poly,n),
GenChaBez(P(290,219), P(278,201), P(258,193),poly,n),
GenChaBez(P(258,193), P(177,324), P(115,295),poly,n),
GenChaSe(P(115,295), P(100,100),P(115,315),poly,n),
GenChaSe(P(115,315), P(100,100),P(72,312),poly,n),
GenChaBez(P(72,312), P(25,292), P(28,274),poly,n), scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](cock,(3/2)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"MICKEY"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200],[0,200]];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=8;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">miki:=display(
GenChaSe(P(137,16), P(100,100),P(131,35),poly,n),
GenChaSe(P(131,35), P(100,100),P(89,43),poly,n),
GenChaSe(P(89,43), P(100,100),P(84,51),poly,n),
GenChaBez(P(84,51), P(101,74), P(131,72),poly,n),
GenChaSe(P(131,72), P(100,100),P(135,90),poly,n),
GenChaSe(P(135,90), P(100,100),P(126,96),poly,n),
GenChaBez(P(126,96), P(115,125), P(142,154),poly,n),
GenChaBez(P(142,154), P(97,170), P(112,217),poly,n),
GenChaSe(P(112,217), P(100,100),P(105,224),poly,n),
GenChaSe(P(105,224), P(100,100),P(110,238),poly,n),
GenChaSe(P(110,238), P(100,100),P(101,252),poly,n),
GenChaBez(P(101,252), P(85,238), P(65,241),poly,n),
GenChaSe(P(65,241), P(100,100),P(57,248),poly,n),
GenChaBez(P(57,248), P(51,281), P(81,291),poly,n),
GenChaBez(P(81,291), P(112,306), P(130,282),poly,n),
GenChaSe(P(130,282), P(100,100),P(133,271),poly,n),
GenChaSe(P(133,271), P(100,100),P(130,253),poly,n),
GenChaSe(P(130,253), P(100,100),P(126,241),poly,n),
GenChaSe(P(126,241), P(100,100),P(141,254),poly,n),
GenChaBez(P(141,254), P(146,269), P(141,279),poly,n),
GenChaSe(P(141,279), P(100,100),P(141,296),poly,n),
GenChaSe(P(141,296), P(100,100),P(147,310),poly,n),
GenChaBez(P(147,310), P(170,324), P(201,302),poly,n),
GenChaBez(P(201,302), P(225,283), P(209,252),poly,n),
GenChaSe(P(209,252), P(100,100),P(199,246),poly,n),
GenChaSe(P(199,246), P(100,100),P(163,267),poly,n),
GenChaBez(P(163,267), P(155,266), P(155,252),poly,n),
GenChaSe(P(155,252), P(100,100),P(166,242),poly,n),
GenChaSe(P(166,242), P(100,100),P(164,228),poly,n),
GenChaSe(P(164,228), P(100,100),P(174,215),poly,n),
GenChaSe(P(174,215), P(100,100),P(192,207),poly,n),
GenChaSe(P(192,207), P(100,100),P(196,191),poly,n),
GenChaSe(P(196,191), P(100,100),P(188,164),poly,n),
GenChaBez(P(188,164), P(216,155), P(225,135),poly,n),
GenChaSe(P(225,135), P(100,100),P(237,147),poly,n),
GenChaSe(P(237,147), P(100,100),P(249,151),poly,n),
GenChaBez(P(249,151), P(271,146), P(274,123),poly,n),
GenChaSe(P(274,123), P(100,100),P(263,104),poly,n),
GenChaSe(P(263,104), P(100,100),P(252,101),poly,n),
GenChaSe(P(252,101), P(100,100),P(230,111),poly,n),
GenChaSe(P(230,111), P(100,100),P(223,88),poly,n),
GenChaSe(P(223,88), P(100,100),P(244,81),poly,n),
GenChaBez(P(244,81), P(254,68), P(250,57),poly,n),
GenChaBez(P(250,57), P(242,41), P(224,41),poly,n),
GenChaSe(P(224,41), P(100,100), P(211,48),poly,n),
GenChaBez(P(211,48), P(203,60), P(204,72),poly,n),
GenChaBez(P(204,72), P(176,57), P(152,84),poly,n),
GenChaSe(P(152,84), P(100,100),P(152,49),poly,n),
GenChaSe(P(152,49), P(100,100),P(146,39),poly,n),
GenChaSe(P(146,39), P(100,100),P(147,15),poly,n),
GenChaSe(P(147,15), P(100,100),P(137,16),poly,n), scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](miki,(9/10)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="_cstyle21"><Font italic="false" size="12" underline="false">
"MOUSE"</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">poly:=[[0,0],[200,0],[200,200],[0,200]];</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">n:=8;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">mouse:=display(
GenChaBez(P(153,15), P(119,81), P(135,93),poly,n),
GenChaBez(P(135,93), P(99,115), P(115,119),poly,n),
GenChaBez(P(115,119), P(111,113), P(139,95),poly,n),
GenChaSe(P(139,95),P(100,100), P(145,105),poly,n),
GenChaBez(P(145,105), P(125,123), P(137,155),poly,n),
GenChaBez(P(137,155), P(127,159), P(127,185),poly,n),
GenChaSe(P(127,185), P(100,100), P(111,191),poly,n),
GenChaSe(P(111,191), P(100,100), P(97,201),poly,n),
GenChaSe(P(97,201), P(100,100), P(93,221),poly,n),
GenChaBez(P(93,221), P(67,225), P(73,233),poly,n),
GenChaBez(P(73,233), P(61,237), P(87,257),poly,n),
GenChaSe(P(87,257), P(100,100),P(85,265),poly,n),
GenChaBez(P(85,265), P(65,259), P(51,275),poly,n),
GenChaSe(P(51,275), P(100,100),P(59,287),poly,n),
GenChaSe(P(59,287), P(100,100),P(73,293),poly,n),
GenChaSe(P(73,293), P(100,100),P(91,287),poly,n),
GenChaSe(P(91,287), P(100,100),P(93,271),poly,n),
GenChaBez(P(93,271), P(99,249), P(113,249),poly,n),
GenChaSe(P(113,249), P(100,100), P(125,277),poly,n),
GenChaSe(P(125,277), P(100,100),P(115,299),poly,n),
GenChaBez(P(115,299), P(129,313), P(153,315),poly,n),
GenChaSe(P(153,315), P(100,100),P(151,299),poly,n),
GenChaSe(P(151,299), P(100,100),P(133,291),poly,n),
GenChaSe(P(133,291), P(100,100),P(137,263),poly,n),
GenChaSe(P(137,263), P(100,100),P(153,259),poly,n),
GenChaSe(P(153,259), P(100,100),P(163,225),poly,n),
GenChaSe(P(163,225), P(100,100), P(145,193),poly,n),
GenChaSe(P(145,193), P(100,100),P(151,169),poly,n),
GenChaBez(P(151,169), P(205,151), P(199,165),poly,n),
GenChaSe(P(199,165), P(100,100),P(205,171),poly,n),
GenChaBez(P(205,171), P(173,195), P(185,195),poly,n),
GenChaBez(P(185,195), P(211,179), P(203,173),poly,n),
GenChaSe(P(203,173), P(100,100),P(225,171),poly,n),
GenChaSe(P(225,171), P(100,100),P(279,139),poly,n),
GenChaBez(P(279,139), P(249,103), P(205,117),poly,n),
GenChaSe(P(205,117), P(100,100),P(187,93),poly,n),
GenChaBez(P(187,93), P(179,25), P(153,15),poly,n),scaling=constrained):</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plottools[rotate](mouse,(9/10)*Pi);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/></Section><Text-field layout="Normal" style="Normal"/></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle263"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">6. CONCLUSIONS</Font></Text-field></Title><Text-field layout="Heading 1259" style="Heading 1259">In this worksheet we demonstrated that it is possible to determine another (in comparison to [5] and [6] ) collection of IFS's that characterize a given contour fractally. The approach used here avoids analytic representation of curves, is purely geometric and it ensures to treat  in the same way both quadratic and linear segments. Experiments from the worksheet and from [5], [6] showed that contours are generated fractally in the progressive way and iterations converge with different speed  to the attractor  i.e.  to the modeled contour. Additionaly, we observed that probabilistic approach gives results much quicker in comparison to deterministic method. </Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="_cstyle264"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" italic="false" underline="false">7. REFERENCES</Font></Text-field></Title><Text-field layout="Normal" style="Normal">[1] Chaikin G., An algorithm for high speed curve generation, Computer Graphics and Image Processing 3 (1974), 346-349. <Font encoding="ISO8859-1">
[2] Goldman R.; The fractal nature of B\351zier curves, Proceedings of the Geometric Modeling and Processing 2004, April 13-15, Beijing, China, 2004, 3-11.</Font><Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" style="_cstyle271" underline="false">
[3] Goluch P.; Characterization of contour 2D with the help the highest curvature points, BSc Diploma, Institute of Computer Science, Silesian University, Sosnowiec, Poland (2003), (in Polish).</Font>
[4] Joy K., On-Line Computer Graphics Notes, <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://graphics.cs.ucdavis.edu/GraphicsNotes/Graphics-Notes.html" size="12" style="Hyperlink">http://graphics.cs.ucdavis.edu/GraphicsNotes/Graphics-Notes.html</Hyperlink>.
[5] Kotarski W.,  Lisowska, A. On fractal modeling of contours, Maplesoft, 2005,  <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://www.maplesoft.com/applications/app_center_view.aspx?AID=1651" size="12" style="Hyperlink">http://www.maplesoft.com/applications/app_center_view.aspx?AID=1651</Hyperlink>.
[6] Kotarski W., Lisowska, A. probabilistic approach to fractal modeling of shapes, Maplesoft, 2005,  <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="http://www.maplesoft.com/applications/app_center_view.aspx?AID=1657" size="12" style="Hyperlink">http://www.maplesoft.com/applications/app_center_view.aspx?AID=1657</Hyperlink>.
[7]  Riesenfeld R.,  On Chaikin's algorithm, IEEE Computer Graphics and Applications 4, 3 (1975), 304-310. 
</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The undersigned (the "Author") has developed an Application (the "Application") using Maple and wishes to submit the Application to Maplesoft, a division of Waterloo Maple Inc. for publication by Maplesoft or its agents. 

1. The Author grants to Maplesoft a non-exclusive, perpetual License and right to use all or any part of the Application, to modify or adapt the Application for the promotion of Maplesoft. 
2. The Author represents that the Application is the original work of the Author, the Author has the right to grant a License to Maplesoft with respect to the Application, no other party has any right, title or interest in or to the Application, and that the use of the Application by Maplesoft will not infringe any intellectual property rights of any third party. 
3. The Author agrees to execute such documents and take such other action as Maplesoft may request in order to give effect to the intention of this License Agreement. 
This License Agreement shall be binding upon and inure to the benefit of the Author, and all heirs, executors, administrators, successors and permitted assigns of the Author. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Wieslaw Kotarski  &amp; Agnieszka Lisowska</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">11th of March 2005</Text-field></Section><Text-field/></Worksheet>