OES_matrix_palette 机能描述

http://e3dg.blog.hexun.com/10527926_d.html

 

以前做了不少关于OES_matrix_palette 机能相关的程序,这两天由于工作的需要,在完善opengles 桌面版的模拟库, 其中一项就是OES_matrix_palette的实现。  
    OES_matrix_palette   这个机能 是 opengles v1.1的扩展机能。有些和 opengl 的 ARB_vertex_blend, GL_ARB_matrix_palette 机能相类似。
    OES_matrix_palette 机能是和 矩阵相关的,顾名思义 矩阵调色板,实际上和颜色不相干。可以这样理解,调色板放颜色的地方放着矩阵,调色板上有多少矩阵完全看底层显卡实现了。一般不会少于9个。
这些矩阵都是都是 4 X 4 的。
 
  好让我们来总体上了解一下 OES_matrix_palette。 在非OES_matrix_palette模式下,一个顶点v 的运动,取决于glMatrixMode(ModeView) 的 矩阵变换T, 当然还有GL_PROJECTION 投影矩阵,在这里先忽略投影矩阵。公式为 v = Tv,(就是矩阵T和顶点v相乘)。而  在OES_matrix_palette模式下,也就是glMatrixMode(GL_MATRIX_PALETTE_OES)模式下, 顶点v, 被数个矩阵同时影响,这些矩阵被glCurrentPaletteMatrixOES(i)设置,i 就是第i个矩阵,在glCurrentPaletteMatrixOES(i);之后调用的相应的矩阵转换直接影响当前的matrix pallette矩阵。每个矩阵对顶点v的影响占有比例各不相同,那就是权重(weight), 由glWeightPointerOES()设置。
解释:     假定最多影响顶点的matrix pallette矩阵是四个, 
              比如有4个矩阵         matrix[4];
              4个矩阵的权重值      weight[4] = {  0.2,0.3,0.15,0.35 };     它们的和为 1
              顶点  vo, ve;
              for(int i=0; i<4; i++){
              ve +=  matrix[i] X vo * weight[i];              先矩阵和顶点相乘,然后乘以权重,再求和。
             }
             最后得出的顶点 ve, 就是matrix pallette矩阵变换后的新顶点。
 
             
             以后我们接着说明 matrix pallette矩阵对 normal (法线)的作用。
             然后详细说明一下 那些 opengl|es 函数的使用,和参数的意义。

基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
输出一个简洁美观的相关系数矩阵(corrleation_matrix),通常会结合Python的数据可视化库如matplotlib和pandas。以下是步骤: 1. 首先,确保你有一个包含数据的DataFrame,例如`df`,并且你想计算其相关系数。 ```python import pandas as pd import numpy as np import seaborn as sns # 假设 df 是你的 DataFrame ``` 2. 计算相关系数矩阵: ```python correlation_matrix = df.corr() ``` 3. 使用seaborn库中的heatmap函数,因为它提供了一种美观的可视化方式: ```python import matplotlib.pyplot as plt import seaborn as sns # 设置颜色范围、字体大小等偏好设置 cmap = sns.diverging_palette(230, 20, as_cmap=True) # 温度渐变色地图 mask = np.triu(np.ones_like(correlation_matrix, dtype=bool)) # 显示上三角部分,避免重复 # 创建热力图 heatmap = sns.heatmap(correlation_matrix, mask=mask, cmap=cmap, annot=True, fmt=".2f", linewidths=.5, square=True) heatmap.set_title("Pearson Correlation Heatmap") ``` `fmt=".2f"`表示保留两位小数,`linewidths`控制线条粗细,`square=True`让表格变为正方形。 4. 添加颜色条(colorbar): ```python plt.colorbar(heatmap, shrink=0.8, label="Pearson Correlation") ``` 5. 调整标签和标题: ```python heatmap.set_xticklabels(heatmap.get_xticklabels(), rotation=45, ha="right") # 将x轴标签倾斜 heatmap.set_yticklabels(heatmap.get_yticklabels(), rotation=0) # y轴不旋转 ``` 6. 最后,显示结果: ```python plt.show() ``` 这样你就得到了一个简洁美观的相关系数矩阵图。记得检查`df`是否适合你的需求,并根据需要调整上述代码中的参数。如果你有特定的自定义需求,比如更改颜色方案、调整边缘等,可以查阅相应库的文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值