供给曲线范文

2023-09-18

供给曲线范文第1篇

xy=100sin(x*3.1415926/180)x,y

11.7452406141,1.74524061396078

23.4899496112,3.48994961074216

35.2335955353,5.23359553510047

46.9756472564,6.97564725561419

58.7155741265,8.71557412647174

610.452846156,10.4528461491113

712.186934137,12.1869341336634

813.917309868,13.9173098601476

915.643446249,15.643446239373

供给曲线范文第2篇

1.打开目标模板,点击ppt中的菜单-视图-母版-幻灯片母版,这个时候就会看到母版中的图片了;

2.选择你母版中的图片,按ctrl+c复制 ;

3.打开并新建一个ppt文档;

4.点击新建文档中的菜单-视图-母版-幻灯片母版;

5.按住ctrl+v粘贴,就可以把漂亮的ppt母版复制过来了;

6.删除你自己的那个母版,只留下粘贴过来的这个模板 ;

7.点击菜单-视图-普通

真个过程就完成了,这样你就成功的复制了一份你需要的模板,你就可以在新的ppt文档中添加你自己需要的内容了,是不是很简单啊?记住在遇到问题的时候要多思考,多实践。依据此步骤,你还可以选自己心仪的图片作为ppt的母版,可以衍生出更多的内容,多多学习吧。 母版的设计? 背景:

(1)一般可用photoshop先设计个背景,这个比较简单,或者直接从网上下载即可,其他的模式,按照自己意愿修改即可(关键是会用photoshop等图片编辑软件)

(2)将设计的图片插入到PPT中 视图→母板→幻灯片母板

设置背景:格式→背景→下拉箭头(填充效果) 1)渐变 2)纹理 3)图案 4)图片

供给曲线范文第3篇

“三去”是一场存量革命

“去产能、去库存、去杠杆、降成本、补短板”并非改革制度,不属于供给侧改革的范畴,而属于供给管理的范畴。因此,在推进供给侧改革的同时,还要做好供给管理。

2015年底召开的中央经济工作会议就2016年如何做好供给管理作了非常明确的部署,包括五个方面内容:一是“去产能”,即淘汰实体经济的落后产能;二是“去库存”,即减少房地产行业的库存;三是“去杠杆”,即降低政府和企业负债水平;四是“降成本”,即降低实体经济企业成本;五是“补短板”,即在一些被忽视或滞后领域增加有效供给。

“去产能、去库存、去杠杆”即“三去”是推进供给侧改革的重点和难点,是对过去多年形成的实体经济产能存量、房地产库存、债务存量的革命性调整。

供给侧“三去”是一项挑战性很大的工作。与培育增量相比,调整或去掉存量难度更大。因为存量涉及既得利益,去掉存量意味着一些既得利益的丧失;存量涉及“路径依赖”,调整或去掉存量意味着要摆脱既有路径;存量涉及观念和情感,调整或去掉存量意味着改变观念和摆脱对熟悉事物的依恋;存量涉及风险,调整或去掉存量意味着风险的暴露。推进“三去”说明我们敢于面对问题和解决问题。

“去产能”是重中之重

1.“去产能”刻不容缓。首先,本轮产能过剩具有程度重、持续时间长、行业多、腾挪空间小的特点。钢铁、煤炭、电解铝、水泥、玻璃、造船、冶金等行业的产能利用率只有70%左右,个别行业不到60%;截止2015年底,PPI已连续47个月负增长;产能过剩涉及行业不但存在于传统产业,还蔓延到风电设备等一些战略性新兴产业;与加入WTO前的产能过剩相比,本轮产能过剩遇到了发达国家复苏乏力、新兴经济体经济下行的夹击,寄希望于国外市场消化产能过剩的空间缩小,尽管通过“一带一路”战略可以解决部分问题,但可能难以达到以前的效果。

其次,落后产能已成为经济转型升级的巨大障碍。结构性产能过剩的大规模存在,不仅极大地浪费了资源能源,破坏了环境,恶化了资源配置,而且带来了巨大的债务负担,累积了经济泡沫和经济风险。更主要的是,这些落后产能挡住了新兴产业成长的通道,成为保持国民经济持续健康发展、打造中国经济“升级版”的“拦路虎”。

再次,去产能可为促进经济转型升级带来新的动力。去产能虽然会带来阵痛,但只要我们咬牙挺住,就可以除旧布新、凤凰涅槃、获得新生。去产能可以倒逼地方、行业、企业加快发展高附加值、符合产业转型升级方向的新产业,真正依靠技术进步、提升人力资本、推进信息化等来提升产业发展的质量和效益,从而为打造中国经济升级版提供强大动力。

2.产能过剩的主要原因。产能过剩有周期性产能过剩和结构性产能过剩两种。周期性产能过剩有些是正常的,因为市场经济具有周期波动的特点,会存在供给与需求信息不对称情况。某些企业由于判断失误、投入过多而出现产能过剩,其程度不会太重、范围不会太宽、持续时间不会太长。而结构性产能过剩则是由于体制和模式原因而产生的大范围、长时间的产能过剩,这种产能过剩危害更大,是我们要重点关注和解决的问题。本轮产能过剩部分表现为周期性产能过剩,但主要表现为结构性产能过剩。

结构性产能过剩的原因主要有两个方面:

一方面,与工业化阶段转换有关。2000年以来,中国工业化开始进入中期向后期过渡阶段,经济高速增长,尤其是房地产、重化工业等行业快速发展,诱使煤炭、钢铁、电解铝、水泥和平板玻璃等行业的企业按照产能的最高限来设计生产能力。但随着2008年国际经济危机的爆发,重化工业开始由资源能源密集型重化工业阶段前期进入到知识或技术密集型重化工业阶段后期,煤炭、钢铁、电解铝、水泥、玻璃等资源能源密集型重化工业发展的高峰期已过,于是这些行业的产能过剩问题日益凸显出来。

另一方面,与干部考核制度有关。长期以来,中国形成了以GDP为导向的干部考核制度,GDP、工业增加值、财政收入等指标的考核权重很高,于是很多地方政府热衷于追求对GDP贡献较大的产业发展。在政府主导经济体制下,即使部分行业开始出现产能过剩,也不会自动及时出清,而是会以种种办法维持产能过剩,以实现GDP 的高增长。

同时,2009年推出的四万亿投资和十一大产业振兴计划等经济刺激政策,虽然对保增长起到了积极作用,但对产能过剩则起到了推波助澜的作用,导致了一些本已过剩的行业出现进一步产能过剩。

3. 去产能关键是要处理好政府与市场的关系。去产能是一项复杂而艰巨的工作,需要处理好政府与市场的关系,需要同时发挥好政府和市场的作用。

去产能首先要发挥好市场在配置资源中的决定性作用。如前所述,造成产能过剩的一个重要原因是政府主导型经济体制和GDP导向干部考核制度。因此,去产能的根本出路在于深化市场化改革,让市场在资源配置中发挥决定性作用。首先,要让市场主体真正按照市场规律和市场需求组织生产;其次,要推动价格机制改革,实现生产要素价格的完全市场化,避免不合理的价格信号对产业发展带来错误诱导;三是引导政府切实转变职能,尊重市场规律,不强迫企业扩大生产规模。

但单纯靠市场去产能也存在缺陷:一是市场自我调节的周期太长;二是去产能带来的失业、债务、呆坏账等问题,仅靠市场无法解决。因此,在去产能过程中还要发挥好政府的作用,政府不能做“甩手掌柜”,而要在转变政府职能的前提下,做好如下几方面的工作:首先,要加快完善相关法律法规,使去产能有法可依、有章可循;其次,要加快制定和完善相关的行业标准,特别是技术标准和环保标准,通过提高标准引导企业主动淘汰落后产能;再次,要制定合理的财税、金融、土地政策,做好基本的社会保障工作;最后,要加强协调与管理,妥善处理好去产能中面临的各种复杂问题。

4. 去产能必须改革干部考核制度。导致产能过剩的一个重要原因是干部考核制度,因此去产能就必须改革GDP导向的干部考核制度。

产能过剩源于粗放的发展模式,而粗放的发展模式源于干部考核制度。如果不改变干部考核制度,发展模式就不可能改变,产能过剩就不能解决。政府的主要职责是提供产权保护、福利保障、环境保护等公共服务,为企业创造一个公平竞争的市场环境,因此对干部的考核应紧紧围绕公共服务展开,而不是主要围绕GDP增长展开。

改革干部考核制度,就要降低GDP、工业增加值、固定资产投资、财政收入等指标的考核权重,提高生态环境、资源节约和能源效率、民生类指标的考核权重。当然这项改革能否顺利推进,还有赖于政治体制改革的推进。

5. 以可控方式释放产能淘汰风险。在多年经济高速发展中,中国积累了落后产能过剩、资产价格泡沫、地方债务过多、银行不良资产率上升等经济风险。

在所有经济风险中,落后产能过剩尤为引人注目。淘汰落后产能会产生如下风险:首先,淘汰落后产能,如果没有其他接续产业跟上,会导致短期经济增长速度下滑。其次,在市场经济条件下,淘汰落后产能与形成新产能应是同步的,但在目前情况下,淘汰落后产能与形成新产能可能不同步,由此导致产业和产品可能出现断档。再次,地方财政收入出现下降。特别是对那些落后产能集中又缺乏现代接续产业的地区来说,淘汰落后产能,将大幅减少财政收入。再次,金融信贷风险增加,在淘汰落后产能过程中,部分企业会破产,部分生产线会被淘汰,由此引发企业资金链的风险,进而增加银行信贷风险。最后,淘汰落后产能,会淘汰部分企业,导致就业岗位减少,下岗人员增加。

针对以上淘汰落后产能过程中的风险,中央“十三五”规划建议按照“两害相权取其轻”的原则,提出“以可控方式和节奏主动释放风险”,这表明了中央以壮士断腕的决心,打破刚性兑付,退出和重组“僵尸企业”,同时做好社会政策托底工作,将风险控制在有限范围内的处置思路。

在实际操作中,如何以可控方式和节奏主动释放淘汰落后产能中的风险?一是加强统筹规划。淘汰落后产能涉及多个部门,各部门要加强统筹协调,制定科学的工作方案。针对不同行业进行分类处理,要把握好淘汰的节奏。二是加快培育接续产业。关键是加快开发具有自主知识产权的新技术和附加值较高、具有市场竞争力的新产品。三是深化“银政企”协作。建立淘汰落后产能的“银政企”合作机制,三方定期进行沟通与协调。四是加大财政和金融政策支持力度。建立财政专项资金,对相关企业进行扶持。制定财税、金融和土地等激励政策,鼓励企业主动淘汰落后产能。五是保障企业职工的权益。为下岗职工提供必要的经济补偿,提供最低生活保障。加大培训力度,提升下岗职工的再就业能力,妥善安置好下岗职工。

补短板:重点补好生态和农村贫困短板

2015年底的中央经济工作会议提到的“补短板”内容包括生态建设、精准扶贫、培育发展新产业、基础设施建设、人力资本投资、农村发展等。

1. 补好生态短板。中国生态环境短板的主要表现:一是大气、水、土壤等污染比较严重;二是资源能源的利用率比较低,能源结构不够合理,煤炭消费占整体能源消费的比例较高;三是生态退化较为严重,比如沙漠化、水土流失等。

建设生态文明的重点是从源头控制和减少资源能源消耗和环境污染排放,要做到这一点就必须提高全要素生产率,而提高全要素生产率正是供给侧改革的要义。

首先,推进针对主体的改革,推动生态文明建设。生态文明建设需要全社会各个主体的共同行动,需要调动各主体建设生态文明的积极性。一方面要制定激励政策,另一方面要推进各主体自身的改革,消除其浪费资源、破坏环境的制度根源。改革重点是国有企业改革和政府改革。对国有企业来说,要通过混合所有制改革、国有资产管理体制改革等,减少和抑制垄断,促进市场公平竞争,优化资源配置,减少资源消耗和浪费。对政府来说,要通过以“简政放权、放管结合、优化服务”等为重点的行政管理制度改革等,转变职能,精简机构和人员,强化公共服务,减少对市场的直接干预,降低企业成本,激发企业创新活力,提高政府效率,减少企业和政府对资源环境的依赖。

其次,推进生产要素改革,推动生态文明建设。重点推进如下针对要素有效投入和要素升级的改革,特别是符合供给侧改革要义的促进要素升级方面的改革:通过推进科技制度改革,优化科技资源配置,提高经济对科技的依赖性,减少经济对资源环境的依赖性,促进绿色低碳技术的进步和绿色低碳产业的发展;通过推进教育人才制度改革,不断提高全民素质,增加人力资本,提高劳动生产率,降低资源能源消耗率;通过金融制度改革,减少货币超发,优化资金配置,降低企业融资成本,发展绿色金融;通过土地制度改革,抑制土地财政,优化土地资源配置,提高土地利用效率;通过资源产权制度改革,明确资源保护主体和责任,避免“公地悲剧”,减少资源消耗和浪费;通过环境制度改革,明确环境治理和生态建设主体和责任,划定生态红线,推进生态环境产品交易,遏制环境污染恶化趋势。

再次,推进针对结构的改革,推动生态文明建设。供给侧改革的要义是提高效率,而提高效率的“三大发动机”中有结构优化这一发动机。结构优化是指新型工业化、新型城镇化、区域经济一体化和国际化等。阻碍结构优化的制度很多,如户籍制度、城乡差别福利保障制度、城乡不统一土地制度、行政区划制度等。因此,必须加快推进户籍制度改革,消除人口自由流动的障碍,推进农民市民化,使更多农民分享现代城市文明;加快推进城乡差别福利保障制度改革,尽快形成城乡统一的养老、医疗卫生、低保、公共服务等制度;加快推进土地制度改革,建设城乡统一的建设用地市场,保障农民土地权益,优化土地资源配置;推进行政区划制度改革,如推进省直管县、大镇改革等,减少管理层级,实现责权利对称。通过这些针对结构的改革,以促进结构优化,提高效率,减少资源消耗和环境污染。

2. 补好农村贫困短板。农村是中国二元社会结构中的短板,农村贫困则是短板中的短板。根据“十三五”规划,2020年中国要全面建成小康社会,就必须实现全部脱贫。现仅剩下6年时间,平均每年要减贫1170万,平均每月要减贫100万,时间非常紧迫,任务非常艰巨。

农村贫困人口脱贫是全面建成小康社会最艰巨的任务。必须充分发挥政治优势和制度优势,坚决打赢脱贫攻坚战,实施脱贫攻坚工程,实施精准扶贫、精准脱贫,分类扶持贫困家庭,探索对贫困人口实行资产收益扶持制度,实行脱贫工作责任制。

7017万贫困人口要一个一个地解决,只有这样才能全面建成小康社会。全面脱贫要多途径开展:第一,产业脱贫,即通过发展农村产业,解决贫困人口的就业问题,使其中的3000万人脱贫;第二,转移就业脱贫,即将贫困农村的富余劳动力转移到更为发达的地区就业,使其中的 1000万人脱贫;第三,异地搬迁脱贫,即将那些区位条件差、交通落后、生态环境恶劣的贫困农村居民整体搬迁移民到经济条件较好的地区,使其中的1000万人脱贫;第四,社保政策兜底脱贫,即通过社会福利保障等措施,使其余2000万贫困人口全部脱贫。

(作者为国务院发展研究中心资源与环境政策研究所副所长、研究员)

供给曲线范文第4篇

1. 教学目标

[1]了解曲线上的点与方程的解之间的一一对应关系 [2]初步领会“曲线的方程”与“方程的曲线”的涵义 [3]强化“形”与“数”一致并相互转化的思想

2. 教学重点/难点

教学重点:理解“曲线的方程”与“方程的曲线”的涵义 教学难点:利用定义验证曲线是方程的曲线,方程式曲线的方程

3. 教学用具

多媒体设备

4. 标签

教学过程

教学过程设计

1 复习引入

【师】在本节课之前,我们研究过直线的各种方程,建立了二元一次方程与直线的对应关系:在平面直角坐标系中,任何一条直线都可以用一个二元一次方程表示,同时任何一个二元一次方程也表示着一条直线,请思考下面问题: 【板演/PPT】

思考1 直线y=x上任一点M到两坐标轴距离相等吗?

思考2 到两坐标轴距离相等的点都在直线y=x上,对吗?

思考3 到两坐标轴距离相等的点的轨迹方程是什么?为什么? 【生】学生思考交流 2 新知介绍

[1]结合具体实例,引入曲线方程和方程曲线概念 【师】:引导学生发言总结 【板演/PPT】 答 y=±x. 理由:在直角坐标系中,到两坐标轴距离相等的点M的坐标(x0,y0)满足y0=x0或y0=-x0,即(x0,y0)是方程y=±x的解;

反之,如果(x0,y0)是方程y=x或y=-x的解,那么以(x0,y0)为坐标的点到两坐标轴距离相等. 【师】思考下面问题:

思考4 曲线C上的点的坐标都是方程f(x,y)=0的解,能否说f(x,y)=0是曲线C的方程?

思考5 判断下列命题是否正确.

(1)以坐标原点为圆心,半径为r的圆的方程是y=(2)过点A(2,0)平行于y轴的直线l的方程为|x|=2. 【生】思考总结 【板演/PPT】

解 (1)不正确.设(x0,y0)是方程y=x02+y02=r2.两边开平方取算术平方根,得

的解,则y0=

,即

;

=r即点(x0,y0)到原点的距离等于r,点(x0,y0)是这个圆上的点.因此满足以方程的解为坐标的点都是曲线上的点.但是,以原点为圆心、半径为r的圆上的一点如点在圆上,却不是y=

的解,这就不满足曲线上的点的坐标都

,是方程的解.所以,以原点为圆心,半径为r的圆的方程不是y=而应是y=±

. (2)①、直线上的点的坐标都满足方程︱x︱=2

②、满足方程︱x︱=2的点不一定在直线上 结论:过A(2,0)平行于y轴的直线的方程不是︱x︱=2 【师】引导学生交流思想总结曲线方程的概念 【板演/PPT】

曲线的方程、方程的曲线

一般地,在直角坐标系中,如果某曲线C(看作点的集合或适合某种条件的点的轨迹)上的点与一个二元方程f(x,y)=0的实数解建立了如下的关系: (1)曲线上点的坐标都是这个方程的解;

(2)以这个方程的解为坐标的点都是曲线上的点.

那么,这个方程叫做曲线的方程;这条曲线叫做方程的曲线. 【师】 引导学生深入理解定义,从充要条件来理解这个定义 【板演/PPT】

定义中的两个条件是判定一个方程是否为所定曲线的方程,一条曲线是否为所定方程的曲线的依据,缺一不可. 从逻辑知识来看:

第一个条件表示f(x,y)=0是曲线C的方程的必要条件,

第二个条件表示f(x,y)=0是曲线C的方程的充分条件.因此,在判断或证明f(x,y)=0为曲线C的方程时,必须注意两个条件同时成立. 【板演/PPT】 从集合角度理解为:

定义的实质是平面曲线的点集{M|p(M)}和方程f(x,y)=0的解集{(x,y)|f(x,y)=0}之间的一一对应关系.

由曲线和方程的这一对应关系,既可以通过方程研究曲线的性质,又可以求曲线的方程 [2]概念应用

【师】下面我们看屏幕上的例题 【板演/PPT】 例1:若命题“曲线C上的点的坐标都是方程f(x,y)=0的解”是正确的,则下列命题为真命题的是( ).

A.不是曲线C上的点的坐标,一定不满足方程f(x,y)=0 B.坐标满足方程f(x,y)=0的点均在曲线C上 C.曲线C是方程f(x,y)=0的曲线

D.不是方程f(x,y)=0的解,一定不是曲线C上的点. 【师】从定义入手,考虑充要条件 【生】思考回答 【板书/PPT】

解析 ∵题设命题只说明“曲线C上的点的坐标都是方程f(x,y)=0的解”,并未指出“以方程f(x,y)=0的解为坐标的点都是曲线C上的点”,

∴A,B,C都是假命题,如曲线C:平面直角坐标系

一、三象限角平分线上的点,与方程f(x,y)=x2-y2=0,满足题设条件,但却不满足选项A,B,C的结论,根据逆否命题是原命题的等价命题知,D是正确的. 【师】规律方法

(1)判断方程是否是曲线的方程,要从两个方面着手,一是检验点的坐标是否适合方程,二是检验以方程的解为坐标的点是否在曲线上.从而建立方程的解与曲线上点的坐标的一一对应关系.

(2)定义中的两个条件是判定一个方程是否为指定曲线的方程,一条曲线是否为所给定方程的曲线的准则,缺一不可.因此,在证明f(x,y)=0为曲线C的方程时,必须证明两个条件同时成立.

【师】为了深刻的理解方程与曲线,我们来看下列一个问题 【板书/PPT】

[例2] 下列方程表示如图所示的直线,对吗?为什么?不对请改正.

【生】分析各个方程所表示的曲线是否与图中图象符合 【板书/PPT】 解:不对,应为y=x 【师】引导学生反思总结 【板书/PPT】 反思与感悟

判断方程表示什么曲线,必要时要对方程适当变形,变形过程中一定要注意与原方程等价,否则变形后的方程表示的曲线就不是原方程的曲线. 【板书/PPT】

【师】引导学生思考 【板书/PPT】

方法点拨 (1)判断点是否在某个方程表示的曲线上,就是检验该点的坐标是否是方程的解,是否适合方程.若适合方程,就说明点在曲线上;若不适合,就说明点不在曲线上.

解:带入验证知P点在此方程所表示的曲线上,Q点不在。 【板书/PPT】 (2)若点在此方程表示的曲线上,求m的值. 解:将点带入方程后解方程得:

迁移训练(12分) 若曲线y2=xy+2x+k通过点(a,-a),a∈R,求k的取值范围.

【师】引导学生思考

【板书/PPT】

[3] 新知应用

【师】为了深刻的理解本节内容,我们来看下列一个问题 【板书/PPT】

1. 曲线C的方程为y=x (1≤x≤5),则下列四点中在曲线C上的是()

A.(0,0) B.(1,5)

C.(4,4)

C.(4,2) 2.已知坐标满足方程f(x,y)=0的点都在曲线C上,那么() A.曲线C上的点的坐标都适合方程f(x,y)=0 B.凡坐标不适合f(x,y)=0的点都不在C上 C.不在C上的点的坐标必不适合f(x,y)=0 D.不在C上的点的坐标有些适合f(x,y)=0,有些不适合f(x,y)=0 3.下列四个图形中,图形下面的方程是图形中曲线的方程的是

【师】 能否根据引例中的检验方式进行相关分析 4.方程y=3x-2 (x≥1)表示的曲线为()

A.一条直线

B.一条射线

C.一条线段

D.不能确定 5.方程x2+xy=x表示的曲线是()

A.一个点

B.一条直线 C.两条直线

D.一个点和一条直线 6.“点M在曲线y2=4x上”是“点M的坐标满足方程y=-2

”的()

A.充分不必要条件 B.必要不充分条件 C.充要条件 D.既不充分又不必要条件 7.请说出下列方程表示什么曲线?

答案:CCDBCB

课堂小结

1.曲线的方程和方程的曲线必须满足两个条件: ①曲线上点的坐标都是方程的解, ②以方程的解为坐标的点都在曲线上. 2.点(x0,y0)在曲线C上的充要条件是点(x0,y0)适合曲线C的方程. 3.曲线和方程质检一一对应的确立,进一步把“曲

线”与“方程”统一了起来,在此基础

上,我们就可以更多地用代数的方法研究几何问题.

供给曲线范文第5篇

②溶解度曲线上的每一个点表示溶质在某一温度下的溶解度。此时,溶液必定是饱和溶液。

③两条曲线的交叉点表示两种物质在该温度下具有相同的溶解度。在该温度下,这两种物质的饱和溶液中溶质的质量分数相等。

④在溶解度曲线的下方的点,表示该温度下的溶液是该物质的不饱和溶液。

⑤在溶解度曲线上方的点,表示该温度下的溶液是该物质的过饱和溶液,也就是说,在溶液中存在未溶解的溶质。

查看更多本站专题

百科词条:初三化学 化学知识点 溶解度

相关推荐

备考2012:溶液、溶解度、溶质知识初中化学溶液知识点汇总大全初三化学人教版溶解度练习题及答案初三化学:溶液、溶解度知识点梳理名师总结中考化学《溶液》三大考点全面初三化学物质的奥秘知识点和各类题型大初中化学基础知识总结:物质的溶解性中考化学考点分析:饱和溶液、溶解度初三化学人教版溶解度基础练习题及答案初三化学走进化学世界知识点和各类题型

分享到:

qq空间新浪微博百度搜藏人人网

供给曲线范文第6篇

1操作系统:Windows XP 、Windows7 2.编程语言:C++ 3.程序实现环境:Visual C++ 6.0

二、算法思想

三、使用说明

程序界面如下图:

用户可以在编辑框中输入4个控制点的坐标,也可以通过在绘图区内直接通过鼠标的单击指定4个控制点的位置,输入4个控制端点后,单击“画Bezier曲线”按钮即可绘制Bezier曲线。

四、实验结果

五、程序代码(关键代码)

void CMFC_BezierCurve2Dlg::OnLButtonDown(UINT nFlags, CPoint point) { if(pointOrd==1)

//原点(490,270) {

m_p1_x = point.xpoint.y; } if(pointOrd==2) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p1_x, 270-m_p1_y);

pDC->LineTo(point.x, point.y);

m_p2_x = point.xpoint.y; } if(pointOrd==3) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p2_x, 270-m_p2_y);

pDC->LineTo(point.x, point.y);

m_p3_x = point.xpoint.y; } if(pointOrd==4) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p3_x, 270-m_p3_y);

pDC->LineTo(point.x, point.y);

m_p4_x = point.xpoint.y; } pointOrd++; UpdateData(FALSE);

CDialog::OnLButtonDown(nFlags, point); }

voidGetCnk (int n, int *c) { inti,k; for(k=0; k<=n; k++) {

c[k]=1;

for(i=n; i>=k+1; i--) c[k]=c[k]*i;

for(i=n-k; i>=2; i--) c[k]=c[k]/i; } }

void CMFC_BezierCurve2Dlg::GetPointPos(intControlN, double t, int *c) { int k, n=ControlN-1; double Bernstein; Pt.x=0.0; Pt.y=0.0; for(k=0; k

Bernstein=c[k]*pow(t,k)*pow(1-t,n-k);

Pt.x += ControlP[0][k].x * Bernstein;

Pt.y += ControlP[0][k].y * Bernstein; } }

void CMFC_BezierCurve2Dlg::OnButtonDrawBeziercurve() { UpdateData(); pointOrd=1; CDC *pDC=GetDC(); ControlP[0][0].x=m_p1_x;ControlP[0][0].y=m_p1_y; ControlP[0][1].x=m_p2_x;ControlP[0][1].y=m_p2_y; ControlP[0][2].x=m_p3_x;ControlP[0][2].y=m_p3_y; ControlP[0][3].x=m_p4_x;ControlP[0][3].y=m_p4_y;

pDC->MoveTo(490+m_p1_x, 270-m_p1_y); pDC->LineTo(490+m_p2_x, 270-m_p2_y); pDC->LineTo(490+m_p3_x, 270-m_p3_y); pDC->LineTo(490+m_p4_x, 270-m_p4_y);

int *C, i; intControlN=4, m=500; C=new int[ControlN]; GetCnk (ControlN-1, C); for(i=0; i<=m; i++) { GetPointPos(ControlN, (double)i/(double)m, C); pDC->SetPixel(490+Pt.x, 270-Pt.y, 255); } }

两段Bezier曲线的拼接实验报告

一、程序实现环境

1操作系统:Windows XP 、Windows7 2.编程语言:C++ 3.程序实现环境:Visual C++ 6.0

二、算法思想

三、使用说明

程序界面如下图:

用户可以在编辑框中输入4个控制点的坐标,也可以通过在绘图区内直接通过鼠标的单击指定4个控制点的位置,输入4个控制端点后,单击“画Bezier曲线”按钮即可绘制Bezier曲线。

分别绘制完两段Bezier曲线后,单击拼接即可实现两段曲线的拼接。

四、实验结果

五、程序代码(关键代码)

void CMFC_BezierCurve2Dlg::OnLButtonDown(UINT nFlags, CPoint point) { if(pointOrd==1)

//原点(490,270) {

m_p1_x = point.xpoint.y; } if(pointOrd==2) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p1_x, 270-m_p1_y);

pDC->LineTo(point.x, point.y);

m_p2_x = point.xpoint.y; } if(pointOrd==3) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p2_x, 270-m_p2_y);

pDC->LineTo(point.x, point.y);

m_p3_x = point.xpoint.y; } if(pointOrd==4) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p3_x, 270-m_p3_y);

pDC->LineTo(point.x, point.y);

m_p4_x = point.xpoint.y; }

pointOrd++; UpdateData(FALSE);

CDialog::OnLButtonDown(nFlags, point); }

voidGetCnk (int n, int *c) { inti,k; for(k=0; k<=n; k++) {

c[k]=1;

for(i=n; i>=k+1; i--) c[k]=c[k]*i;

for(i=n-k; i>=2; i--) c[k]=c[k]/i; } }

void CMFC_BezierCurve2Dlg::GetPointPos(intControlN, double t, int *c) { int k, n=ControlN-1; double Bernstein; Pt.x=0.0; Pt.y=0.0; for(k=0; k

Bernstein=c[k]*pow(t,k)*pow(1-t,n-k);

Pt.x += ControlP[pointGroup][k].x * Bernstein;

Pt.y += ControlP[pointGroup][k].y * Bernstein; } }

void CMFC_BezierCurve2Dlg::BezierCurve() { CDC *pDC=GetDC(); pDC->MoveTo(490 + ControlP[pointGroup][0].x, 270ControlP[pointGroup][1].y); pDC->LineTo(490 + ControlP[pointGroup][2].x, 270ControlP[pointGroup][3].y);

int *C, i; intControlN=4, m=500; C=new int[ControlN]; GetCnk (ControlN-1, C); for(i=0; i<=m; i++) {

GetPointPos(ControlN, (double)i/(double)m, C);

pDC->SetPixel(490+Pt.x, 270-Pt.y, 255); } }

void CMFC_BezierCurve2Dlg::OnButtonDrawBeziercurve() { UpdateData(); pointOrd=1;

ControlP[pointGroup][0].x=m_p1_x; ControlP[pointGroup][0].y=m_p1_y; ControlP[pointGroup][1].x=m_p2_x; ControlP[pointGroup][1].y=m_p2_y; ControlP[pointGroup][2].x=m_p3_x; ControlP[pointGroup][2].y=m_p3_y; ControlP[pointGroup][3].x=m_p4_x; ControlP[pointGroup][3].y=m_p4_y;

BezierCurve(); pointGroup++; }

void CMFC_BezierCurve2Dlg::OnButtonMatch() { pointGroup--;

double dx, dy; double k1, k2, s, s1, s2; int i; CPoint temp; dx = ControlP[pointGroup][0].xControlP[pointGroup-1][3].y; for(i=0; i<4; i++) {

ControlP[pointGroup][i].x -= dx;

ControlP[pointGroup][i].y -= dy; }

k1=1.0*(ControlP[pointGroup-1][3].y-ControlP[pointGroup-1][2].y)/(ControlP[pointGroup-1][3].x-ControlP[pointGroup-1][2].x); k2=1.0*(ControlP[pointGroup][1].y-ControlP[pointGroup][0].y)/(ControlP[pointGroup][1].x-ControlP[pointGroup][0].x); if( k1>0 ) {

if (ControlP[pointGroup-1][2].x

s1 = atan(k1);

else

s1 = PI + atan(k1); } else if ( k1<0 ) {

if (ControlP[pointGroup-1][2].x

s1 = 2*PI + atan(k1);

else

s1 = PI + atan(k1); }

if( k2>0 ) {

if (ControlP[pointGroup][0].x

s2 = atan(k2);

else

s2 = PI + atan(k2); } else if ( k2<0 ) {

if (ControlP[pointGroup][0].x

s2 = 2*PI + atan(k2);

else

s2 = PI + atan(k2); } s = s1(ControlP[pointGroup][i].y-ControlP[pointGroup-1][3].y) * sin(s) + ControlP[pointGroup-1][3].x;

temp.y = (ControlP[pointGroup][i].x-ControlP[pointGroup-1][3].x) * sin(s) + (ControlP[pointGroup][i].y-ControlP[pointGroup-1][3].y) * cos(s) + ControlP[pointGroup-1][3].y;

ControlP[pointGroup][i].x = temp.x;

ControlP[pointGroup][i].y = temp.y; }

上一篇:字母音标范文下一篇:工程管理的未来展望范文