1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// Copyright (c) 2005 INRIA Sophia-Antipolis (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Stream_lines_2/include/CGAL/Triangular_field_2.h $ // $Id: include/CGAL/Triangular_field_2.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Abdelkrim Mebarki #ifndef CGAL_TRIANGULAR_FIELD_2_H_ #define CGAL_TRIANGULAR_FIELD_2_H_ #include #include #include #include #include #include #include #include #include #include #include #include namespace CGAL { template class Triangular_field_2 { public: typedef Triangular_field_2 Vector_field_2; typedef StreamLinesTraits_2 Geom_traits; typedef typename StreamLinesTraits_2::FT FT; typedef typename StreamLinesTraits_2::Point_2 Point_2; typedef typename StreamLinesTraits_2::Vector_2 Vector_2; protected: typedef CGAL::Triangulation_vertex_base_2 Vb; typedef CGAL::Triangulation_face_base_with_info_2 Fb; typedef CGAL::Triangulation_data_structure_2 TDS; typedef CGAL::Delaunay_triangulation_2 D_Ttr; typedef typename D_Ttr::Vertex_handle Vertex_handle; typedef typename TDS::Face_handle Face_handle; public: typedef typename D_Ttr::Vertex_iterator Vertex_iterator; D_Ttr m_D_Ttr; protected: Vector_2 get_vector_field(const Point_2 & p) const; FT get_density_field(const Point_2 & p) const; template void fill(PointInputIterator pBegin, PointInputIterator pEnd, VectorInputIterator vBegin) { std::cout << "reading file...\n"; while(pBegin != pEnd) { Point_2 p; Vector_2 v; p = (*pBegin); v = (*vBegin); m_D_Ttr.insert(p); field_map[p] = v; if (m_D_Ttr.number_of_vertices() == 1) { maxx = minx = p.x(); maxy = miny = p.y(); } if(p.x()maxx) { maxx = p.x(); } if(p.y()>maxy) { maxy = p.y(); } ++pBegin; ++vBegin; } std::cout << "number of samples " << m_D_Ttr.number_of_vertices() << "\n"; } public: template Triangular_field_2(PointInputIterator pBegin, PointInputIterator pEnd, VectorInputIterator vBegin) { fill(pBegin, pEnd, vBegin); } inline typename Geom_traits::Iso_rectangle_2 bbox() const; std::pair get_field(const Point_2 & p) const { CGAL_assertion(is_in_domain(p)); Vector_2 v = get_vector_field(p); FT density = get_density_field(p); return std::make_pair(v, density); } bool is_in_domain(const Point_2 & p) const; FT get_integration_step(const Point_2 &) const; FT get_integration_step() const; protected: FT minx; FT miny; FT maxx; FT maxy; protected: mutable std::map field_map; FT distance(const Point_2 & p, const Point_2 & q) { return sqrt( CGAL::squared_distance(p, q) ); } }; template inline typename Triangular_field_2::Geom_traits::Iso_rectangle_2 Triangular_field_2::bbox() const { return typename Geom_traits::Iso_rectangle_2(minx, miny, maxx, maxy); } template bool Triangular_field_2::is_in_domain(const Point_2 & p) const { Face_handle f = m_D_Ttr.locate(p); return !m_D_Ttr.is_infinite(f); } template typename Triangular_field_2::Vector_2 Triangular_field_2::get_vector_field(const Point_2 & p) const { Face_handle m_Face_handle = m_D_Ttr.locate(p); CGAL_assertion(is_in_domain(p)); Vertex_handle v0 = m_Face_handle->vertex(0); Vertex_handle v1 = m_Face_handle->vertex(1); Vertex_handle v2 = m_Face_handle->vertex(2); const Point_2 & p0 = v0->point(); const Point_2 & p1 = v1->point(); const Point_2 & p2 = v2->point(); FT s0,s1,s2,s; std::vector vec; vec.push_back(p0); vec.push_back(p1); vec.push_back(p2); s = polygon_area_2(vec.begin(), vec.end(), m_D_Ttr.geom_traits()); vec.clear(); vec.push_back(p); vec.push_back(p1); vec.push_back(p2); s0 = polygon_area_2(vec.begin(), vec.end(), m_D_Ttr.geom_traits()); vec.clear(); vec.push_back(p0); vec.push_back(p); vec.push_back(p2); s1 = polygon_area_2(vec.begin(), vec.end(), m_D_Ttr.geom_traits()); vec.clear(); vec.push_back(p0); vec.push_back(p1); vec.push_back(p); s2 = polygon_area_2(vec.begin(), vec.end(), m_D_Ttr.geom_traits()); vec.clear(); s0 = s0 / s; s1 = s1 / s; s2 = s2 / s; Vector_2 v_0 = field_map[p0]; Vector_2 v_1 = field_map[p1]; Vector_2 v_2 = field_map[p2]; FT x = ((v_0.x()*s0)+(v_1.x()*s1)+(v_2.x()*s2)); FT y = ((v_0.y()*s0)+(v_1.y()*s1)+(v_2.y()*s2)); FT normal = sqrt((x)*(x) + (y)*(y)); if (normal != 0) { x = x / normal; y = y / normal; } Vector_2 v = Vector_2(x, y); return v; } template typename Triangular_field_2::FT Triangular_field_2::get_density_field(const Point_2 & p) const { return p.x(); } template typename Triangular_field_2::FT Triangular_field_2::get_integration_step(const Point_2 &) const { return 1.0; } template typename Triangular_field_2::FT Triangular_field_2::get_integration_step() const { return 1.0; } } //namespace CGAL #endif