<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Barış Yüksel &#187; Python</title>
	<atom:link href="http://www.brsyuksel.com/tag/python/feed" rel="self" type="application/rss+xml" />
	<link>http://www.brsyuksel.com</link>
	<description>"Hiç uğraşamam..."</description>
	<lastBuildDate>Wed, 28 Jul 2010 12:00:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Python:İki Nokta Arasındaki İlişki</title>
		<link>http://www.brsyuksel.com/python-iki-nokta-arasindaki-iliski.html</link>
		<comments>http://www.brsyuksel.com/python-iki-nokta-arasindaki-iliski.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 14:54:05 +0000</pubDate>
		<dc:creator>brsyuksel</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[mesafe]]></category>

		<guid isPermaLink="false">http://www.brsyuksel.com/?p=5</guid>
		<description><![CDATA[Geçenlerde kardeşim tarayıcı tabanlı bir oyun oynarken birşey dikkatimi çekti. Oyunda bulunduğunuz koordinatlara göre bir etki alanına sahip oluyorsunuz ve o etki alanının dışarısında bulunan kaynaklara müdahale edemiyorsunuz. Ben de vakit geçmesi için bu olayı python ile örnekledim. Yazdığım bu basit sınıf, düz mantık olarak, iki nokta arasındaki en yakın yolu, noktanın çemberin alanına dahil [...]]]></description>
			<content:encoded><![CDATA[<p>Geçenlerde kardeşim tarayıcı tabanlı bir oyun oynarken birşey dikkatimi çekti. Oyunda bulunduğunuz koordinatlara göre bir etki alanına sahip oluyorsunuz ve o etki alanının dışarısında bulunan kaynaklara müdahale edemiyorsunuz. Ben de vakit geçmesi için bu olayı python ile örnekledim. Yazdığım bu basit sınıf, düz mantık olarak, iki nokta arasındaki en yakın yolu, noktanın çemberin alanına dahil olup olmadığını ve 2 çemberin kesişip kesişmediği hakkında sonuç üretiyor. Mantık tahmin edebileceğiniz gibi çok basit: x ve y koordinatları arasındaki mutlak fark ve pisagor.</p>
<p><span id="more-5"></span></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">#!/usr/bin/python</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">#-*- coding:utf-8 -*-</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">from</span> <span class="kw3">math</span> <span class="kw1">import</span> sqrt</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">class</span> Mesafe:</div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>,mx,my,mr,qx,qy,qr<span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">try</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">mx</span> = <span class="kw2">int</span><span class="br0">&#40;</span>mx<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">my</span> = <span class="kw2">int</span><span class="br0">&#40;</span>my<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">qx</span> = <span class="kw2">int</span><span class="br0">&#40;</span>qx<span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">qy</span> = <span class="kw2">int</span><span class="br0">&#40;</span>qy<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">mr</span> = <span class="kw2">int</span><span class="br0">&#40;</span>mr<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">qr</span> = <span class="kw2">int</span><span class="br0">&#40;</span>qr<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">except</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;Hatalı işlem. Argümanları tam verin ve sayısal değerler kullanın&quot;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">def</span> __pisagor<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; fxk = <span class="kw2">pow</span><span class="br0">&#40;</span><span class="kw2">abs</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">mx</span>-<span class="kw2">self</span>.<span class="me1">qx</span><span class="br0">&#41;</span>,<span class="nu0">2</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; fyk = <span class="kw2">pow</span><span class="br0">&#40;</span><span class="kw2">abs</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">my</span>-<span class="kw2">self</span>.<span class="me1">qy</span><span class="br0">&#41;</span>,<span class="nu0">2</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> sqrt<span class="br0">&#40;</span>fxk+fyk<span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">def</span> EnYakinYol<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="kw2">self</span>.<span class="me1">mx</span> &lt;&gt; <span class="kw2">self</span>.<span class="me1">qx</span> <span class="kw1">and</span> <span class="kw2">self</span>.<span class="me1">my</span> &lt;&gt; <span class="kw2">self</span>.<span class="me1">qy</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">self</span>.__pisagor<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">elif</span> <span class="kw2">self</span>.<span class="me1">mx</span> == <span class="kw2">self</span>.<span class="me1">qx</span>:</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">abs</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">my</span>-<span class="kw2">self</span>.<span class="me1">qy</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">elif</span> <span class="kw2">self</span>.<span class="me1">my</span> == <span class="kw2">self</span>.<span class="me1">qy</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">abs</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">mx</span>-<span class="kw2">self</span>.<span class="me1">qx</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">def</span> EtkiAlani<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw1">try</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="kw2">self</span>.<span class="me1">mr</span> == <span class="nu0">0</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">raise</span> <span class="kw2">ValueError</span><span class="br0">&#40;</span><span class="st0">&quot;Yarıçap 0 olamaz&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">except</span> <span class="kw2">ValueError</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">raise</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw1">else</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">mr</span>-<span class="kw2">self</span>.__pisagor<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> &gt; <span class="nu0">0</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">True</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">else</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">False</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">def</span> CemberKesisme<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">try</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="kw2">self</span>.<span class="me1">mr</span> == <span class="nu0">0</span> <span class="kw1">or</span> <span class="kw2">self</span>.<span class="me1">qr</span> == <span class="nu0">0</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">raise</span> <span class="kw2">ValueError</span><span class="br0">&#40;</span><span class="st0">&quot;Yarıçap(lar) 0 olamaz&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw1">except</span> <span class="kw2">ValueError</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">raise</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">else</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="kw2">self</span>.__pisagor<span class="br0">&#40;</span><span class="br0">&#41;</span> &lt;= <span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">mr</span>+<span class="kw2">self</span>.<span class="me1">qr</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">True</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="kw1">else</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">False</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.brsyuksel.com/python-iki-nokta-arasindaki-iliski.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
