早教吧作业答案频道 -->数学-->
用MFC做了一个椭圆时钟程序,指针为什么会随着椭圆形状而边走改变?比如画秒针时用了语句:pDC->LineTo(CenterX+(int)((double)CenterX*4/5*sin(radius)),CenterY-(int)((double)CenterY*4/5*cos(radius)));我知道因为我
题目详情
用MFC做了一个椭圆时钟程序,指针为什么会随着椭圆形状而边走改变?
比如画秒针时用了语句:pDC->LineTo(CenterX+(int)((double)CenterX*4/5*sin(radius)),CenterY-(int)((double)CenterY*4/5*cos(radius))); 我知道因为我是以客户区大小尺寸作为比例画出指针,客户区变的话椭圆大小也会随之改变.但是理论上当我不改变客户区大小时,CenterX*4/5和CenterY*4/5可以说是定值,就如同我试验时把它们设为100,秒针就转动时长度不变为100,但事实上它们却是随着椭圆的形状在变化.
此外,椭圆钟的刻度和圆形钟的刻度那个角度变化是一样的么,我发现单位角度(如画钟点时)radius=(double)i*2*3.14/12.0 这样写在圆形时钟和椭圆时钟里都是能很好的分布显示的,但就是有点想不通.
我是先画的椭圆钟面再画钟点,如下:
radius = (double)i*2*pi/12.0;//计算钟点放置的位置
x = CenterX - (size.cx/2) + (int)((double)(CenterX - 20)*sin(radius));
y = CenterY - (size.cy/2) - (int)((double)(CenterY - 20)*cos(radius));
//绘制钟点
pDC->TextOut(x,y,str);
比如画秒针时用了语句:pDC->LineTo(CenterX+(int)((double)CenterX*4/5*sin(radius)),CenterY-(int)((double)CenterY*4/5*cos(radius))); 我知道因为我是以客户区大小尺寸作为比例画出指针,客户区变的话椭圆大小也会随之改变.但是理论上当我不改变客户区大小时,CenterX*4/5和CenterY*4/5可以说是定值,就如同我试验时把它们设为100,秒针就转动时长度不变为100,但事实上它们却是随着椭圆的形状在变化.
此外,椭圆钟的刻度和圆形钟的刻度那个角度变化是一样的么,我发现单位角度(如画钟点时)radius=(double)i*2*3.14/12.0 这样写在圆形时钟和椭圆时钟里都是能很好的分布显示的,但就是有点想不通.
我是先画的椭圆钟面再画钟点,如下:
radius = (double)i*2*pi/12.0;//计算钟点放置的位置
x = CenterX - (size.cx/2) + (int)((double)(CenterX - 20)*sin(radius));
y = CenterY - (size.cy/2) - (int)((double)(CenterY - 20)*cos(radius));
//绘制钟点
pDC->TextOut(x,y,str);
▼优质解答
答案和解析
因为CenterX和CenterY不相等.
如果指针需要定长,那么应该先计算一个固定长度,比如x、y取比较小的值然后乘以4/5,将这个值赋给secLength.然后x和y轴坐标都用这个secLength来计算秒针LineTo坐标就ok了.
如果指针需要定长,那么应该先计算一个固定长度,比如x、y取比较小的值然后乘以4/5,将这个值赋给secLength.然后x和y轴坐标都用这个secLength来计算秒针LineTo坐标就ok了.
看了 用MFC做了一个椭圆时钟程序...的网友还看了以下:
重力的方向可利用如图所示的装置来研究:随着β的改变,悬线OA与竖直方向的夹角将(选填:“改变“或“ 2020-05-15 …
改变基元反应方程式的各项系数,速率方程会改变吗?用速率常数推平衡常数,如何解释平衡常数随系数改变? 2020-05-23 …
改革开放以来,随着综改革开放以来,随着综合国力的不断增强,我国在国际事务中发挥着越来越重要的作用. 2020-06-21 …
温度会随气压的改变而改变吗?注意啊:是温度会不会随气压改变,不是气压会不会随温度改变.…… 2020-07-22 …
英语翻译改革?变革?一定还是变革,不然就让人以为美国也学中国改革开放了?当然了,这两个词是不一样的 2020-07-27 …
55511必须用+—×÷如何得24?55511=24中间必须用加减乘除顺序可以随便改括号可以随便用解 2020-11-03 …
8个随意修改病句,写出病因,再修改;5个随意比喻句,5个随意拟人句 2020-12-06 …
g值随经度改变吗?g值为什麽随纬度改变?他随经度改变吗?为什麽? 2021-01-08 …
下列说法正确的是()A.水的离子积常数KW随温度改变而改变,随外加酸碱浓度改变而改变B.一元弱酸的电 2021-01-22 …
伴随状态,同义句子改写Theboywentintotheclassroom,followedbyaw 2021-02-12 …