用python绘制国际象棋棋盘每个格子边长40_函数纹理(国际象棋棋盘纹理&粗布纹理)MFC...

函数纹理(国际象棋棋盘纹理&粗布纹理)MFC实现

国际象棋棋盘纹理(效果图见最后)

//国际象棋纹理函数

//g(u, v) = a , 向下取整(8u)+向下取整(8v) 为 偶数

//g(u, v) = b ,向下取整(8u)+向下取整(8v) 为 奇数

void CChessGiagView::DrawChess(double a, double b, double step)

{

CDC * pDC = GetDC();

//自定义二维坐标系

CRect rect;

GetClientRect(&rect);

pDC->SetMapMode(MM_ANISOTROPIC);

pDC->SetWindowExt(rect.Width(), rect.Height());

pDC->SetViewportExt(rect.Width(), -rect.Height());

pDC->SetViewportOrg(rect.Width()/, rect.Height()/);

rect.OffsetRect(-rect.Width()/, -rect.Height()/);

pDC->TextOut(-, , "国际象棋棋盘纹理");

double u, v;

for(u=; u<=1.0; u+=step)

{

for(v=; v <= 1.0; v+=step)

{

if((int(floor(u*)) + int(floor(v*))) % == )//偶数颜色a

{

pDC->SetPixelV(Round(u*-), Round(v*-), RGB(a*, a*, a*));//u系数修改大小,减数调节显示位置

}

else//奇数颜色b

{

pDC->SetPixelV(Round(u*-), Round(v*-), RGB(b*, b*, b*));//u系数修改大小,减数调节显示位置

}

}

}

//输出相关参数

CString str_a, str_b;

str_a.Format("%.1f", a);

str_b.Format("%.1f", b);

pDC->TextOut(-, -, "a="+ str_a+", b="+str_b);

}

2. 粗布纹理 (效果图见最后)

//粗布纹理函数: f(u, v) = A((cos(pu) + cos(qv)))

//u, v=[0, 1]; A=[0, 1]随机变量; p, q频率系数

void CChessGiagView::DrawCloth(int p, int q)

{

CDC * pDC = GetDC();

//自定义二维坐标系

CRect rect;

GetClientRect(&rect);

pDC->SetMapMode(MM_ANISOTROPIC);

pDC->SetWindowExt(rect.Width(), rect.Height());

pDC->SetViewportExt(rect.Width(), -rect.Height());

pDC->SetViewportOrg(rect.Width()/, rect.Height()/);

rect.OffsetRect(-rect.Width()/, -rect.Height()/);

pDC->TextOut(, , "粗布纹理");

double u, v;

for(u=; u<=; u+=0.001)

{

for(v=; v<=1.0; v+=0.001)

{

double A = double(rand())/RAND_MAX; // A=[0, 1]

double f = A*((cos(p*u) + (cos(q*v)))); //颜色

pDC->SetPixelV(Round(u* + ), Round(v*-), RGB(f*, f*, f*));

}

}

//输出相关参数

CString str_p, str_q;

str_p.Format("%d", p);

str_q.Format("%d", q);

pDC->TextOut(, -, "p="+ str_p+", q="+str_q);

}

3. 效果

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xMDI3NzIyLzIwMTgxMS8xMDI3NzIyLTIwMTgxMTIyMjAwMzQzMjk1LTE2OTI4NjAwNjAuanBn.jpg

4. 补充说明:如果需要调节图像的颜色(示例仅为灰度图像), 那么就将RGB 的一个分量置为固定值,比如要红色的图像,就将R=255.

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xMDI3NzIyLzIwMTgxMS8xMDI3NzIyLTIwMTgxMTIyMjAxMzExNjI2LTk5ODY1NTIzMi5qcGc=.jpg

VC++ 6.0 编译通过,VC++ 永不过时!

python实现gabor滤波器提取纹理特征 提取指静脉纹理特征 指静脉切割代码

参考博客:https://blog.csdn.net/xue_wenyuan/article/details/51533953 https://blog.csdn.net/jinshengtao/ar ...

GUI(国际象棋棋盘)

package com.niit.javagui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridB ...

python3 turtle 画国际象棋棋盘

python3 turtle 画国际象棋棋盘 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan import turt ...

Python算法题(二)——国际象棋棋盘(排列组合问题,最小的K个数)

题目一(输出国际象棋棋盘)  分析: 用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.   主要代码: for i in range(8): for j in range(8 ...

国际象棋棋盘输出-PHP代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值