15,790,135 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Python questions
View PHP questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Artificial Intelligence
Artificial Intelligence
Neural Networks
Machine Learning
Deep Learning
ML.Net
Big Data
Data Science
Tensorflow
ChatGPT
Internet of Things
Internet of Things
Arduino
Edge Device
Raspberry-Pi
Wearables
IoT Edge
Industrial IoT
DevOps
DevOps
Agile
Automation
Continuous Build
Continuous Delivery
Continuous Deployment
Continuous Integration
Deployment
Git
Installation
Integration Testing
Load Testing
Quality Assurance
TFS
Unit Testing
Testing
Containers
Containers
Docker
Kubernetes
Virtual Machine
High Performance Computing
High Performance Computing
GPU
Parallel Processing
Parallelization
Vectorization
Hosted Services
Hosted Services
AWS
Cordova
ExtJS
Google Cloud
Microservices
PhoneGap
Serverless
Storage
Web Hosting
WordPress
Azure
Security
Security
Blockchain
Cryptography
Encryption
Identity
Identity Server
Web Development
Web Development
Blazor
CSS3
Flask
HTML5
Kestrel
LESS
Nginx
Node.js
React
SCSS
Spring
Vue.js
ASP.NET
CSS
Apache
HTML
IIS
XHTML
Mobile Apps
Mobile Apps
Flutter
Ionic
iOS
Nativescript
React Native
Xamarin
Windows Mobile
Android
Desktop Programming
Desktop Programming
Cocoa
Electron
QT
Universal Windows Platform
X11
Windows Forms
ATL
MFC
Swing
Win32
WTL
WPF
XAML
System
Database Development
Database Development
Data Visualization
Elasticsearch
Lucene
MariaDB
MongoDB
NoSQL
PostgreSQL
Redis
MySQL
SQL Server
Productivity Apps and Services
Productivity Apps and Services
LibreOffice
OpenOffice
Sharepoint
Team Communication Tools
Biztalk
Microsoft Office
SAP
Game Development
Game Development
Doom
Kinect
Playstation 4
Playstation 5
Unity
Unreal
XBox
Multimedia
Multimedia
Audio
Image Processing
Video
Audio Video
DirectX
GDI
GDI+
OpenGL
General Programming
General Programming
Algorithms
Compression
Computational Geometry
Emulation
Exceptions
File
Internet
Localization
Memory Management
Optimization
Parser
Performance
Regular Expressions
Sorting
State Machines
Architecture
Design / Graphics
Printing
String
Threads
Usability
Programming Languages
Programming Languages
ASM
Bash
Basic
COBOL
Dart
Go
Haskell
Kotlin
Lua
Pascal
R
Razor
Rust
Scala
Swift
Typescript
Objective C
Visual Basic
VBScript
C++
C#
F#
FORTRAN
Java
Javascript
Perl
Python
Ruby
SQL
PHP
PowerShell
XML
Articles by Eric Ouellet (Articles: 5, Tip/Tricks: 3)
Articles: 5, Tip/Tricks: 3
Articles
Technical Blogs
Tips and Tricks
Reference Articles
Projects
Average article rating: 4.95
Desktop Programming
WPF
First and Extremely fast Online 2D Convex Hull Algorithm in O(Log h) per point
28 Feb 2018 Updated:
28 Feb 2018
Rating: 5.00/5 Votes: 7 Popularity: 4.23
Licence: CPOL Views: 21,479
Bookmarked: 17
Downloaded: 140
Please
Sign up or sign in
to vote.
Ouellet Convex Hull is currently the only ‘Online’ Convex Hull in O(log h) per point, where 'Online' stands for dynamically add one point at a time. Based on our own test against many other algorithm implementations, including Chan and Voronoi/Delaunay, it appears to be the fastest one.
Fast and improved 2D Convex Hull algorithm and its implementation in O(n log h)
13 Oct 2017 Updated:
1 Mar 2018
Rating: 4.98/5 Votes: 45 Popularity: 8.24
Licence: CPOL Views: 84,875
Bookmarked: 57
Downloaded: 943
Please
Sign up or sign in
to vote.
Many improvements over a pretty new and unknown very fast 2D Convex Hull algorithm and much more.
General Programming
Algorithms
Permutations: Fast Implementations and a New Indexing Algorithm allowing Multithreading
3 Jul 2018 Updated:
11 Oct 2022
Rating: 5.00/5 Votes: 23 Popularity: 6.81
Licence: CPOL Views: 29,402
Bookmarked: 23
Downloaded: 373
Please
Sign up or sign in
to vote.
Fast implementations of permutation algorithms
Programming Languages
C#
A Convex Hull Algorithm and its implementation in O(n log h)
20 May 2014 Updated:
1 Mar 2018
Rating: 4.93/5 Votes: 60 Popularity: 8.72
Licence: CPOL Views: 181,256
Bookmarked: 123
Downloaded: 5,178
Please
Sign up or sign in
to vote.
A very fast Convex Hull algorithm and its implementation in O (n log h)
Asynchronous Multi-threaded ObservableCollection
18 Apr 2011 Updated:
9 May 2014
Rating: 4.85/5 Votes: 18 Popularity: 6.09
Licence: CPOL Views: 121,665
Bookmarked: 112
Downloaded: 4,417
Please
Sign up or sign in
to vote.
An implementation of of a multi-threaded ObservableCollection.
Average blogs rating:
No blogs have been submitted.
Average tips rating: 4.35
Desktop Programming
WPF
WPF - WrapPanel with Fill [Tip/Trick]
12 May 2015 Updated:
22 May 2015
Rating: 4.28/5 Votes: 12 Popularity: 4.28
Licence: CPOL Views: 27,525
Bookmarked: 14
Downloaded: 743
Please
Sign up or sign in
to vote.
A WPF WrapPanel that can fill empty space on any lines with any control(s)
Human perception of color tone per bit [Tip/Trick]
9 Mar 2018 Updated:
9 Mar 2018
Rating: 4.11/5 Votes: 4 Popularity: 2.47
Licence: CPOL Views: 6,800
Bookmarked: 2
Downloaded: 87
Please
Sign up or sign in
to vote.
Demonstrate that human perception is not really able to show the difference between 2 colors when there is only one bit change on a RBG monitor with 8 bit color per channel.
Programming Languages
C#
Random Color Generator [Tip/Trick]
13 Sep 2011 Updated:
17 Jun 2014
Rating: 4.67/5 Votes: 15 Popularity: 5.49
Licence: CPOL Views: 83,507
Bookmarked: 15
Downloaded: 0
Please
Sign up or sign in
to vote.
Average reference rating:
No reference articles have been posted.
Average project rating:
No projects have been posted.
Eric Ouellet
Software Developer
IREQ - Hydro-Quebec
Canada
Hi,
I'm a french Canadian software developer.
Work at Hydro-Quebec / IREQ.
Live in Sainte-Julie, Quebec, Canada (South shore of Montreal)
WebPage: http://www.ericouellet.com
GMail: ericouellet2
Salut!