原创 計算幾何入門 1.2:凸包的構造——極點法和極邊法

一、極點(extreme point) 繼續考慮釘子與橡皮筋的例子。我們可以發現邊緣上的釘子是對範圍圈定“有貢獻”的,而範內部的的釘子對範圍圈定是“沒有貢獻的”。這只是直觀的結論,嚴謹考慮我們將其抽象爲極性與極點的概念。   簡單的數學前

原创 計算幾何入門 1.1:凸包的概念

一、什麼是計算幾何: 計算幾何學(computational geometry)發展於二十世紀七十年代末,是一個正在飛速發展的新型學科。作爲一個計算機算法類學科的分支,計算幾何討論更多的是計算而非幾何,幾何只是它的表現形式,核心還是算法。

原创 JSON總結

0. 背景 XML曾是web結構化數據傳輸的事實標準,然而業界一直不乏質疑XML的聲音,也發展出了一些替代方案,JSON就是最流行的一種。 JSON(JavaScript Object Notation,JavaScript對象表示法)是

原创 Electron 基礎教程-6.1 IPC模塊

Understanding the IPC Module 上章我們在爲應用添加上下文菜單時候簡單使用了進程間通信(inter-process communication,IPC)機制,本章我們將深入探索IPC模塊的原理。雖然IPC

原创 DOM總結1:DOM基礎

0. DOM簡介 任何一種技術都是有它存在的意義,DOM正是爲了方便操作HTML文檔而誕生的技術。在沒有DOM的時代,爲了操作HTML元素曾發展出了DHTML(動態HTML),後來由於微軟和Netscape的瀏覽器大戰而銷聲匿跡。DOM

原创 計算幾何入門 1.6:凸包的構造——Graham Scan算法

上文簡要分析出了凸包構造問題算法的下界:O(nlogn),在此就引入一種下界意義上最優的算法:Graham Scan算法。這種算法可以保證在最壞情況下時間複雜度也不超過nlogn。我們先大致瞭解一下算法的流程,然後通過一個例子深入算法的細

原创 Bullet安裝 與 Visual Studio開發環境配置

環境:Bullet3 Viusal Studio 2017 Windows10 工具:Cmake-3.16.3 0 準備 下載Bullet:https://github.com/bulletphysics/bullet3 下載Cm

原创 計算幾何入門 1.3:凸包的構造——增量構造法

極點法和極邊法的複雜度分別爲O(n^4)和O(n^3),當點集S的規模稍大時就難以適用了。爲了滿足實際需要必須尋找更高效的算法來構造凸包。 一、減治 在引入新算法之前首先來回顧一下經典的算法思想:減治(decrease and conqu

原创 計算幾何入門 1.5:凸包構造算法下界

從極點法的O(n^4)複雜度,到極邊法的O(n^3),再到增量構造法和Jarvis March的O(n^2),我們經歷了將特定問題算法不斷優化、降低複雜度的過程。那麼還有比O(n^2)更高效的算法嗎?凸包構造算法的下界是什麼?推廣到一般情

原创 Node.js 1-搭建簡單的web服務器

在Node環境下創建一個基本的web服務器,可以監聽客戶端的http請求,實現類似Nginx、Apache等服務器的功能。環境:windows 10,Node.js v8.2.1一、創建server.js文件例如在工作目錄下新建文件ser

原创 計算幾何入門 1.4:凸包的構造——Jarvis March算法

回顧凸包構造算法:極點法、極邊法和增量構造法,其複雜度分別爲O(n^4)、O(n^3)和O(n^2),效率經過優化已經大大提高了。接下來引入一種新的算法——Jarvis March,其複雜度也是O(n^2),但是相較於增量構造在最好情況下

原创 計算幾何入門 1.7:凸包的構造——分治法

Graham Scan算法說明了凸包構造問題的下界O(nlogn)是可以達到的。其實O(nlogn)的算法遠不止這一種,分治法就是一種能達到O(nlogn)複雜度的思想。在此引入運用分治思想的兩種算法來構造凸包。   一、歸併排序與分治思

原创 OSG筆記:NodeVisitor原理

模仿OSG的NodeVisitor機制實現簡易訪問者模式(Visitor Pattern) Node.h #pragma once #include <iostream> #include <vector> #include "N

原创 TensorFlow入門(3):反向傳播

環境:Ubuntu 16.04,Python 3,Tensoflow-gpu v1.9.0 ,CUDA 9.0 反向傳播 反向傳播即:訓練模型參數,在所有參數上使用梯度下降,使得模型在訓練數據上的損失函數最小。 神經網絡實現的第一步就

原创 TensorFlow入門(2):前向傳播

環境:Ubuntu 16.04,Python 3,Tensoflow-gpu v1.9.0 ,CUDA 9.0 1. 神經網絡實現步驟 準備數據集,提取特徵,作爲輸入餵給神經網絡(Neural Network,NN) 搭建NN結構,