關於顏色

来源:http://www.cnblogs.com/huahuahu/archive/2017/01/14/guan-yu-yan-se.html
-Advertisement-
Play Games

光,電磁波和顏色光是一種電磁波,頻率被限定在較窄的範圍內。不同頻率(對應不同的波長)的電磁波(光)有不同的顏色。可見光的最長波長是780nm,對應紅色;最短波長是380nm,對應於紫色。太陽光可以發射可見範圍內所有頻率的波長,表現為白光。當白光遇到物體時,一些頻率的電磁波被反射,一些頻率的電磁波被吸... ...


  1. 光,電磁波和顏色
    光是一種電磁波,頻率被限定在較窄的範圍內。 不同頻率(對應不同的波長)的電磁波(光)有不同的顏色。可見光的最長波長是780nm,對應紅色;最短波長是380nm,對應於紫色。 太陽光可以發射可見範圍內所有頻率的波長,表現為白光。當白光遇到物體時,一些頻率的電磁波被反射,一些頻率的電磁波被吸收。反射光中電磁波的頻率決定了我們看到的顏色。
    反射光中能量最高的頻率叫做hue(色彩,色調),也叫作color。
  2. 顏色與心理效應
    當光照到我們的眼睛中時,除了顏色之外,眼睛還有其他的感覺。
    • brightness(亮度):光的總能量,也就是電磁波的總能量
    • purity或saturation(飽和度):描述光和單色的接近程度,可以理解為電磁波的在頻率範圍內的能量分佈。如果能量分佈在一個頻率上,那麼飽和度最高。 chromaticity(色度,色調)是purity和hue的綜合衡量,和亮度沒有關係。 saturation
      圖片鏈接
  3. color model
    任何可以用一些參數來表示顏色的數學模型叫做color model。
    沒有一個模型可以表示所有的顏色。所以我們用不同的顏色模型來描述不同的顏色特性。
    在一個color model中,我們選擇一些頻率的光作為基準,賦予這些頻率的光不同的能量,然後把這些光混合起來,得到不同的顏色。這些被選為基準的光叫做primary color,可以用基準光來表示的顏色範圍叫做color gamut
    如果我們選用RGB作為primary color,在不同頻率的光上,RGB的能量值如下。由於能量不能是負的,所以以RGB作為primary color,不能得到500nm附近的光。
  4. XYZ color model
    由於不存在三種顏色,它們的組合可以表示所有的顏色,所以就造出來三種不存在的顏色,可以用它們來表示所有的顏色。這三種想象中的顏色叫做XYZ顏色,這種模型叫做XYZ color model。 於是任意一個顏色可以用這三個顏色表示。歸一化以後,可以用兩種顏色來表示所有的顏色。白色所在的點叫做illuminant C
    • 確定color gamut
      給定3個顏色,在圖中就是三個點。根據這三個點做出的三角形及其內部的區域就是以這三個基準色為primary color的color gamut。 由於這個圖是曲線,沒有三個點可以覆蓋所有的顏色,因為沒有一個color model可以表示所有的顏色。
    • 確定互補色
      一個顏色C1和它的互補色C2一定和C點對稱。C1和C2到C的距離是產生白色需要的能量比值。
    • 確定hue和purity
      Determination-of-dominant-wavelength-and-purity-of-color-by-CIE-system.png 如圖,確定F點的hue,連接CF,找到和邊緣的交點G,G點代表的頻率即是dominant wavelength。 CF/CG可以表示purity。 -

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 此開源框架官網地址:https://github.com/astuetz/PagerSlidingTabStrip 可以理解為配合ViewPager使用的互動式頁面指示器控制項。 話不多說,先上效果圖: 為了演示其中的pstsIndicatorHeight與pstsUnderlineHeight 的區 ...
  • 前兩天群里有兄弟在吐槽,做遠程推送的時候:老闆要求APP桌面圖標的右上角顯示紅色未讀數字(數字角標)要精準,有多少未讀通知就顯示數字幾;但是後臺的弟兄在發送推送通知的時候,每次的角標是1,然後要移動端這邊自己去把這個未讀數字去累加,然後顯示在APP上;並且後臺非常固執的認為這個累加未讀消息數量是在移 ...
  • 開發小程式所需的基本技能 關於小程式的介紹和使用場景這裡不作介紹,這個系列的文章會一步一步地帶領大家快速地學習和掌握小程式的開發。 關於還沒有接觸過小程式的開發者來說,最關心的問題無非就是,開發小程式,我需要掌握哪些技能? 從我學習小程式的經驗中得出,開發小程式的基本要求: 如果你是一名已經工作1年 ...
  • 演示環境:Mac OSX10.12.2 Xcode8 先瞄一眼最終成果~ 1.JDK,DBMS(演示環境使用Mysql) 2.創建sonar資料庫和用戶 3. "下載sonar" 演示環境使用v6.1,下載後解壓到 /usr/local/sonar/ 4. "下載sonar runner" :演示環 ...
  • 目錄操作和文件管理 學習目標 1.理解單例 2.掌握NSFileManager類常用的文件管理操 3.掌握NSFileHandle類常用的文件數據操作 4.瞭解NSData類的常用操作 5.掌握Plist文件讀寫 —————————————————————— 通常程式在運行中或者程式結束之後,需要保 ...
  • 記憶體管理 對於這篇呢,其實現在都是ARC模式,正常狀態下基本不用我們去手動釋放記憶體,所以如果不是要面試呀、裝逼或者扎實功底的,就先別看了或者瞭解下即可,因為像面試時,有些面試官想看你的基礎時,就有些人會問,現在工作基本不會用到。 學習目標 1. 掌握記憶體管理的原理 2. 掌握手動記憶體管理 1.需要理 ...
  • 繼承、多態、類別 學習目標 1、繼承的含義 2、父類子類的別稱 3、欄位和消息的繼承 4、重寫和重寫消息的調用 5、多態 6、類別(Category) 1.需要理解的知識 面向對象的三個基本特征: 1、封裝 2、繼承 3、多態 1、繼承(單繼承): 父類(超類)和子類的關係。 繼承的兩個類,存在父子 ...
  • 一. MJRefresh的類解釋. 1.MJRefreshComponent 所有刷新控制項的基類別.(component: 成分,組件) 2.MJRefreshNormalHeader 預設的下拉刷新控制項 3.MJRefreshAutoNormalFooter 預設的上拉刷新控制項 下拉刷新控制項自適應 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...