
    @jz                        d dl Zd dlmZ d dlmZ d dlZ	d dl
Z
 ej        dd            ej        d            ej        d           dej        vrg ej        _        ej        5   ej        d            ej        d	          5   ej        d
ddd          Z ej        ddddd          Z ej        d          \  ZZe5   ej        dd          Zddd           n# 1 swxY w Y   e5   ej        dd          Zddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   er"ej        j                            eed           erg ej        _        ddd           n# 1 swxY w Y   ej        j        rB ej        d           g Z eej        j                  D ]0\  Z Z!e                    e dz   e!d         e!d          dd           1 ej"        e           d gd gcZ#Z$ej        j        D ]Z! e
j%        e!d                   Z&e!d          e
j'        e&          z  Z(e!d          e
j)        e&          z  Z*e#                    e#d         e(z              e$                    e$d         e*z               ej        d             ej+        d!"          \  Z,Z-e-.                    d#           e-/                    e#e$d$d%dd&d'(            e0 e1e#                    D ]Z d)\  Z2Z3e d k    r2e#e          e#e dz
           k    rdnd*Z2e$e          e$e dz
           k    rdnd+Z3e-4                     e5e dz             e#e          e$e          fd,d!d-d.d/ e6d0d1d/d23          4           e-/                    d d d5d6d7d8d9:            e0 e1e#          dz
            D ]Z e#e          e#e dz            z   dz  Z7e$e          e$e dz            z   dz  Z8e#e dz            e#e          z
  Z9e$e dz            e$e          z
  Z:e-4                    d;e#e dz            e$e dz            fe#e          e$e          f e6d<d%d2d=>          ?           e-4                    d@dAdBdCdDd.dEdF e6d<dEdG          H	  	         e-4                    dIdJdKdCd7dLdFM           e-4                    dNdOdPdCd7dLdFdFQ           e-4                    dRdJdSdCd7dLdFdFQ           e-;                    dT           e-<                    ddUdVW           e-=                    dX           e->                    dY            eej        j                  D ]d\  Z Z!e#e          e#e dz            z   dz  Z7e$e          e$e dz            z   dz  Z8e-?                    e7e8e!d          ddZd[d. e6d\d1d]^          _           e ej        e,            ej@        d` eAe,          dadbc           n ejB        dd           de ZAdS )f    Nu   مهندس التوجيهcentered)
page_titlelayoutu+   🧭 مخطط التوجيه الهندسيuK   أدخل المسافات والدرجات (البوصلة) لكل نقطةpointsu   ➕ إضافة نقطة	add_pointu   المسافة (متر)g              ?z%.2f)	min_valuestepformatu   درجة البوصلة (0-360)g     v@z%.1f)r	   	max_valuer
   r      u   ➕ إضافةT)use_container_widthu   🗑️ مسح الكل)distbearingu    📋 النقاط المدخلة   r   r      °)#u   المسافة (م)u   درجة البوصلةu   🗺️ المخطط)   r   )figsizez#fafafaz-oz#1f77b4r      )color	linewidth
markersizezorder)r   r   g      g      zoffset points   boldz#d62728zcircle,pad=0.3whiteg      ?)boxstyle	facecolor	edgecolorlw)
textcoordsxytextfontsize
fontweightr   bboxsgreen
      u
   بداية)r   r   r   label z->g333333?)
arrowstyler   r"   alpha)xyr$   
arrowpropsN)r   r   )r   HzG?zaxes fraction   blackcenter)r.   r   r"   )r0   r$   xycoordsr%   r&   r   har1   S)r   r   )r   {Gzgray)r0   r$   r7   r%   r   r8   E)r   r   )r3   r   )r0   r$   r7   r%   r   r8   vaW)r:   r   equalg333333?z--)r/   	linestyleu   شرق → (متر)u   شمال → (متر)	   z#2ca02czround,pad=0.2gffffff?)r   r    r/   )r%   r   r&   r'   u"   💾 تحميل المخطط (PNG)zdiagram.pngz	image/png)data	file_namemimeuQ   👈 أضف نقاطاً من القائمة الجانبية لبدء الرسمc                     dd l }|                                }|                     |ddd           |                    d           |                                S )Nr   png   tight)r   dpibbox_inches)ioBytesIOsavefigseekread)figrK   bufs         /var/www/html/مهندس/app.pyfig_to_bytesrS   x   sO    III
**,,CKKEsK@@@HHQKKK88::    )C	streamlitstmatplotlib.pyplotpyplotpltmatplotlib.patchespatchesmpatchesnumpynpmathset_page_configtitlemarkdownsession_stater   sidebarheaderformnumber_inputdistancer   columnscol1col2form_submit_button	submittedclearappend	subheaderrB   	enumerateiptablexsysradiansradsindxcosdysubplotsrP   axset_facecolorplotrangelenoxoyannotatestrdictmidxmidydx_arrowdy_arrow
set_aspectgrid
set_xlabel
set_ylabeltextdownload_buttonrS   info rT   rR   <module>r      s             % % % % % %       9* M M M M 	6 7 7 7 Y Z Z Z 2### BZ % %BI'(((			 _ _"2?#<RU^deee!"/"Cs^cjmv|}}}RZ]]
d 	Z 	Z--.>TXYYYI	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	Z 	_ 	_)B)*CY]^^^E	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	_ 	__ _ _ _ _ _ _ _ _ _ _ _ _ _ _  O
&&W'M'MNNN %"$% % % % % % % % % % % % % % %"  VaBL3444D	"*122 r r1!A#ai_`aj_k\o\o\oppqqqqBHTNNN S1#FB$  dl1Y<((vY#&vY#&
		"R&2+
		"R&2+ BL'(((cl6***GCY GGBD	Q1QGOOO U33r77^^ 
 
Bq551AaC((dB1AaC((dB
C!HHr!uben&vF)/7i\_```	 	 	
 	
 	
 	
 GGAq#WA\GRRR U33r7719 Z Z11Q31$11Q31$ac7RU?ac7RU?
BBqsGR!W-r!uben#tt9TWXXX 	 	Z 	Z 	Z 	Z KKy?g(44w1EEE  G G G KKzO6h  8 8 8KKy?6h8  E E EKKzO6h8  E E E MM'GGDtG,,,MM'(((MM)*** 	"*122 S S111Q31$11Q31$
dq|///!9!T?gSQQQ 	 	S 	S 	S 	S BIcNNN B,\#	     BG_```    s~   '!E2?D)C&D)&C**D)-C*.D)3DD)DD)DD)E2)D-	-E20D-	15E22E69E6