Author: admin

数学美 之 判断线段相交的最简方法

如何判断两条直线是否相交? 这很容易。平面直线,无非就是两种关系:相交 或 平行。因此,只需判断它们是否平行即可。而直线平行,等价于它们的斜率相等,只需分别计算出它们的斜率,即可做出判断。 但倘若我把“直线”换成“线段”呢——如何判断两条线段是否相交? 这就有些难度了。和 直线 不同,线段 是有固定长度的,即使它们所属的两条直线相交,这两条线段也不一定相交。 也许你会说:分情况讨论不就行了嘛: 先计算两条线段的斜率,判断是否平行。若平行,则一定不相交。 若不平行,求出两条线段的直线方程,联立之,解出交点坐标。 运用定比分点公式,判断交点是否在两条线段上。 的确,从理论上这是一个可行的办法,这也是人们手动计算时普遍采用的方法。 然而,这个方法并不怎么适用于计算机。原因如下: 计算中出现了除法(斜率计算、定比分点),因此每次计算前都要判断除数是否为 0(或接近 0)。这很麻烦,严重干扰逻辑的表达。 浮点精度丢失带来的误差。人类计算时可以采用分数,但计算机不行。计算机在储存浮点数时会有精度丢失的现象。一旦算法的计算量大起来,误差会被急剧放大,影响结果准确性。 效率低下。浮点乘除会十分耗时,不适用于对实时性要求较高的生产环境(如 游戏)。 那么,有更好的方法? 当然有。 类型预定义 本文的算法将用 python 描述,主要用到两个数据类型: 1 2 3 4 5 6 7 8 9 10 11 12 13 # 点 class Point(object): def __init__(self, x, y): self.x, self.y = x, y # 向量…

Continue reading 数学美 之 判断线段相交的最简方法

MongoDB 基礎入門教學:MongoDB Shell 篇

這裡教大家如何透過 MongoDB shell(mongo)來使用 MongoDB 資料庫。 mongo 是一個用來操作 MongoDB 的互動式 JavaScript 介面,您可以使用它來查詢(query)或更新(update)資料庫中的資料,另外也可以進行一些資料庫的管理動作。   在使用 mongo 之前,請先安裝好 MongoDB 資料庫,安裝方式請參考: Windows:在 Windows 中安裝 MongoDB 資料庫 Ubuntu Linux:在 Ubuntu Linux 中安裝 MongoDB 資料庫 Mac OS X:在 Mac OS X 中安裝 MongoDB 資料庫 開始使用 mongo 當您安裝好 MongoDB 之後,可以執行 mongo 以 MongoDB Shell 來連線到 MongoDB: mongo 如果在 Windows 的命令提示字元中,執行的時候要加上 .exe 副檔名,必要時指定其路徑。 如果沒有加上任何參數,mongo 指令預設會連線到 localhost 的 27017 連接埠,如果要改變主機與連接埠,可以參考 mongo Shell Reference Page。 在 MongoDB Shell 環境中,都是以指令來進行操作的,操作的方式跟一般的…

Continue reading MongoDB 基礎入門教學:MongoDB Shell 篇

台北的士10款找數 司機驚訝香港落後

台灣大車隊比本港的士走得更前,現已接受10款流動支付服務。(台灣大車隊圖片) 相比香港,台北商戶較為支持流動支付。據記者觀察,除了夜市,台北市最大的士車隊接受的流動支付方式超過10款,當他們知道本港的士行業才剛剛起步時,受訪的5位台灣司機不約而同驚呼:「香港是先進城市,又靠近內地,比我們還落後?怎麼可能!」 記者實地測試「台灣大車隊」流動支付服務,發覺不算很方便,須先確認車費金額,然後在椅背的電子屏幕選取支付商,再用手機與司機的終端機作近場感應。如果過程順利,約30秒完成交易,但用戶必須「快手」;若不熟悉步驟而超時,近場通訊便會失效,須重複以上程序。 有司機表示,使用流動支付以來生意並無受惠,反而因交易需時,要多花精神找合適地點落客。 誤解有保安漏洞礙普及 對於本港有夜市商會自發推廣流動支付,智慧城市聯盟金融科技委員會主席陳家豪說「絕對是好事」,反映社會開始意識到它的重要性。 他指出,智慧城市的本義,就是以科技改善生活。自遠古用貝殼做貨幣開始,貨幣媒介一直進化,演變到手機錢包是必然進程。對於流動支付未在本港普及,他認為除了商戶抱着「少做少錯」的心態,港人亦普遍對新技術有嚴重誤解,「認定任何流動支付均存在嚴重保安漏洞,拒絕使用」。 陳家豪促請當局盡快做好教育工作,「政府在整體經濟發展問題上,必須肯定流動支付扮演的重要角色。」本港若成為全球電子支付清算中心,擁有大量交易數據,經濟必能再度起飛。

Continue reading 台北的士10款找數 司機驚訝香港落後

港人不知道的深圳

在新的「粵港澳大灣區」政策下,深圳在科技上有明顯優勢。(維基百科圖片) 除了羅湖城、東方棕泉、樂園路的大牌檔、按摩足浴、喝酒、嫖妓、黃貝嶺包二奶,深圳給你的印象是什麼? 本地人口三百萬、戶籍人口一千二百萬、合共有二千萬人,現在已成為全國創新中心,光孵化器就有五十家。 深圳變了,和過去印象完全不同,主要在於產業結構,以往多半是低層次Low Tech勞力密集行業,但現在卻圍繞着創新產業,包括AI人工智能、新能源、 新材料和電動車等,也就是李克強提倡的「雙創」,創新及創業。深圳的地位這幾年突飛猛進,變成和北上廣平起平坐,二○一六年GDP幾乎和廣州市相等,增長率百分之九,在四大城市中居首。受到深圳衝擊最大的是香港。在新的「粵港澳大灣區」政策下,深圳在科技上有明顯優勢,就像一個黑洞,會把香港整個吸過去。 說中國沒有顛覆性科技創新,是老話題了。相熟的市領導跟我說,香港人很可惜,完全錯失了過去十多年深圳新發展的機遇,只守着昨日的模式,以致遭到在「雙創」中淘汰。 沒有科技創新,企業自然就沒有行業標準話語權、定價權和全球市場遊戲規則的制定權,自然利潤就微薄。 創新是少數人的需求,大多數香港人沒有這個願望,也不允許,因為創新要求「另類」或「逆向思維」,這不是香港茶餐廳文化所鼓勵的。每一個香港政府官員都表示香港應擺脫房地產和金融,多引進科技人才。如果你是矽谷精英,為何要去香港?深圳或北京中關村都有生態圈,更有發展機會。 超級聯繫人?談何容易?其實許多外國公司一拜訪完北京,在中國的第二站就到深圳。

Continue reading 港人不知道的深圳

使用 Python 從 Gamil 自動寄發 Email

import smtplib from email.mime.text import MIMEText gmail_user = ‘amoshuangyc@gmail.com’ gmail_password = ‘—‘ # your gmail password msg = MIMEText(‘content’) msg[‘Subject’] = ‘Test’ msg[‘From’] = gmail_user msg[‘To’] = ‘xxx@gmail.com’ server = smtplib.SMTP_SSL(‘smtp.gmail.com’, 465) server.ehlo() server.login(gmail_user, gmail_password) server.send_message(msg) server.quit() print(‘Email sent!’) 注意事項 第一次寄信時,Google 會寄 email 警告寄信者「查看遭拒的登入嘗試」,開啟「低安全性應用程式」即可。 port 465 是 Google 訂定 的。 Gmail 有單天 500 封及單封 500…

Continue reading 使用 Python 從 Gamil 自動寄發 Email

黃艾比2018寫真月曆海報預購

商品資訊簡介 桌曆一本售價 NT $480元,海報一張NT $580元。海報以紙筒寄送! 運費皆為NT $100元,可合併商品。 ¥¥預購期間優惠組合 :一本桌曆加一張海報原價NT $1060元,現在只要NT 1000元 ¥¥預購期間優惠組合 :一本桌曆加五張海報原價NT $3380元,現在只要NT 2900元(再送隱藏版海報) 【桌曆】寬18CMX 高13CM,封面+內頁+封底共14張性感寫真 【黃艾比-A款海報產品 】高72cm x 寬50 cm 【黃艾比-B款海報產品 】高72cm x 寬50 cm 【黃艾比-C款海報產品 】高72cm x 寬50 cm 【黃艾比-D款海報產品 】高50cm x 寬72 cm 【黃艾比-E款海報產品 】高72cm x 寬50 cm 隱藏版海報,只送不賣。寬72cm x 高50 cm

Continue reading 黃艾比2018寫真月曆海報預購