色彩运算的标准策略

计算机中一般情况下都是使用RGB颜色模型,精度因平台与渲染状态不同而异,应用层开发人员一般不考虑其中分量各占多少二进制位,所以就出现了两种类似配比的表示方法:一种范围是0~255,另一种范围是0~1.专业的图形工作站颜色数据是64位的,而大多数非图形工作站都是32位颜色数据,而这32位中有8位表示的是alpha通道的值,真正的RGB颜色数据仅仅是24位.色彩(一般用c表示)和向量(一般用v表示)一样可以加减乘,色彩运算很容易使色彩分量的一个或多个超出运算范围,简单的截断某一个分量将导致色彩错乱,比如c(1,2,1),其中c的分量介于0~1闭区间,c其实是c`(0.5,1,0.5)的一个更亮的表示,c(1,2,1)使用简单的截断策略后c``(1,1,1)就变成了纯白,于是造成了色彩错乱.更好的策略是以最大色彩值为基准进行规格化,c`(0.5,1,0.5)就是通过除以2为基准进行规格化.

时间: 2024-10-11 23:48:36

色彩运算的标准策略的相关文章

asp.net实现运算+代码封装+策略模式

设计界面: 测试界面: 代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///Class2 的摘要说明 /// </summary> public interface ITaxStragety { int Calcul(int a, int b); } class Class2 : ITaxStragety { public

第二章 策略模式

策略模式封装了变化. 标准策略模式: /** * Created by hero on 16-3-29. */ public abstract class CashSuper { public abstract double acceptCash(double money); } /** * Created by hero on 16-3-29. */ public class CashNormal extends CashSuper{ @Override public double accep

3.3 SELinux策略语言

3.3.1 本地SELinux策略语言编译器 为内核构建一个策略文件最基本的方法就是从源策略文件中使用checkpolicy程序编译他.这个以很多步骤构建的源程序,被命名为"policy.conf".CheckPolicy检查源策略文件在语法和语义上的正确性,并把结果以一定的形式(被乘坐二进制策略文件)写到文件中,该文件是能够被内核策略加载器(load_policy)读取的.被CheckPolicy所支持的语言语法是被SELinux所支持的本地的,原生的语言.你可以将checkpoli

SQL进阶系列之7用SQL进行集合运算

写在前面 集合论是SQL语言的根基,因为这种特性,SQL也被称为面向集合语言 导入篇:集合运算的几个注意事项 注意事项1:SQL能操作具有重复行的集合(multiset.bag),可以通过可选项ALL来支持 SQL的集合运算符提供了允许重复和不允许重复两种用法,UNION和INTERSECT结果里不会出现重复的行,UNION ALL则会保留重复行:ALL的作用和SELECT子句中的DISTINCT相反.ALL有助于优化查询性能,这是因为使用ALL后不再进行排序 注意事项2:集合运算符存在优先级

读书笔记 effective c++ Item 35 考虑虚函数的替代者

1. 突破思维——不要将思维限定在面向对象方法上 你正在制作一个视频游戏,你正在为游戏中的人物设计一个类继承体系.你的游戏处在农耕时代,人类很容易受伤或者说健康度降低.因此你决定为其提供一个成员函数,healthValue,返回一个整型值来表明一个人物的健康度.因为不同的人物会用不同的方式来计算健康度,将healthValue声明为虚函数看上去是一个比较明显的设计方式: 1 class GameCharacter { 2 public: 3 4 virtual int healthValue()

3DMAX 的重要知识和插件介绍

四大渲染器的基本介绍 四大渲染器的基本介绍 Mental Ray(简称MR) Mental Ray是早期出现的两个重量级的渲染器之一(另外一个是Renderman),为德国Mental Images公司的产品.在刚推出的时候,集成在著名的3D动画软件Softima-ge3D中,作为其内置的渲染引擎.正是凭借着Mental Ray高效的速度和质量,Softima-ge3D一直在好莱钨电影制作中作为首选的软件. 相对于另外一个高质量的渲染器Renderman来说,Mental Ray的渲染效果几乎不

NumPy基础:数组和失量计算

NumPy : Numerical Python,是高性能科学计算和数据分析的基础包. 部分功能: ndarray:一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组: 用于对整组数据进行快速运算的标准数学函数(无需编写循环): 用于读写磁盘数据的工具以及用于操作内存映射文件的工具: 线性代数.随机数生成以及傅里叶变换功能: 用于集成C.C++.Fortran等语言编写的代码工具: 大部分数据分析应用关注的功能: 用于

【学习】基础知识:数组和矢量计量【Numpy】

Numpy是高性能科学计算和数据分析的基础包.功能如下: ndarray 一个具有矢量算法运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环) 用于读写磁盘数据的工具以及用于操作内存映射文件的工具. 线性代数.随机数生成以及傅里叶变换功能 用于集成由C\C++\Fortran等语言编写的代码的工具 numpy本身并没有提供多么高级的数据分析功能,理解numpy数组以及面向数组的计算将有助于更加高效地使用诸如pandas之类的工具 关注的功能集中在

利用python进行数据分析--(阅读笔记一)

以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分代码组成:少量需要占用大部分执行时间的代码,以及大量不经常执行的“粘合剂代码”. cython已经成为python领域中创建编译型扩展以及对接c/c++代码的一大途径. 3.在那些要求延迟性非常小的应用程序中(例如高频交易系统),为了尽最大可能地优化性能,耗费时间使用诸如C++这样更低级.更低生产率的语言进行