- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 矢量点的栅格化
八方向栅格化1.求出直线顶点所在网格,利用点的栅格化方法2.比较直线横向和纵向跨越的网格数 1)如果横向跨度大,则按横向网格的列循环,求出横向网格列的中心线与直线的交点所在的网格单元 2)如果纵向跨度大,则按纵向网格的行循环,求出纵向网格列的中心线与直线的交点所在的网格单元 3)如果AB的斜率不存在,那么按行号循环,列号不变3.输出栅格数据点的栅格化设置原点p0(x0,y0),然后根据点的栅格化公式得出点对应的行和列。公式:I(行号)=(int)((xi-...
2020-11-27 16:14:53
3119
原创 用拉格朗日插值法,牛顿插值和分段线性插值计算近似值
一、题目:任选点集,用拉格朗日插值法,牛顿插值和分段线性插值计算近似值。二、思路:(1)点集(2)拉格朗日插值法根据拉格朗日插值公式,利用嵌套循环设计算法。此方法比较简单方便,但当插值点较多时,拉格朗日多项式的次数也会增多,这时候会与实际值产生较大偏差,并且拉格朗日插值法在计算中遇到增减插值点时操作较为繁琐。算法复杂度O(n^2)(3)牛顿插值法牛顿插值法实际上和拉格朗日插值法是同一种方法的两种变形,先利用循环算出插值公式中每一项对应的商差,然后再用循环添上系数。它适用于变化
2020-11-27 16:00:37
4998
原创 计算机图形学——绘制直线,圆以及椭圆整理
绘制直线:1.DDA算法x,y分别加上一个小增量e*Xi,e*YiXi=Xi+/-e*dx;Yi=Yi+/-e*dy;令e=1/(max(|dx|,|dy|));当0<=k<=1时max(dx,dy)=|dx|;Xi=Xi+/-1;Yi=Yi+/-k;当k>1时max(dx,dy)=|dy|;Xi=Xi+/-1/k;Yi=Yi+/-1;注意:在像素中没有半个像素点的,要进行四舍五入,加上0.5取整即可代码:void DD
2020-05-27 22:17:39
1477
1
原创 C++实现高斯坐标的正反算
高斯坐标的正算:坐标反算:代码://高斯坐标的正反算#include<iostream>#include<cmath>#define PI 3.1415using namespace std;//正算 x=3380330.773 y=320089.9761//B=30° 30′ L=114°20′void zhensuan(){ double d, f, m; cout << "输入B(°′″): "...
2020-05-24 15:56:24
10269
15
原创 c++——类与对象,静态成员变量,友元作业
题目:1)设计并定义一个Triangle类来描述三角形,使用Point类的对象来表示端点,在Triangle类中包括Point类的3个对象p1,p2,p3作为其数据成员,Triangle类具有计算三角形的周长和面积,计算过程在成员函数内实现。2)增加静态成员数据count和静态成员函数,用于统计当前的Point和Line对象的个数。3)将Triangle类设置成point的友元类,改写Triangle相关的成员函数。并计算p2为顶点的角度值(弧度)Point.h#pragma once
2020-05-20 19:10:52
547
1
原创 计算机图形学--棋盘的绘制
题目:在屏幕上绘制10*10棋盘,要求红白相间,棋盘格子大小为100个像素。思路:先设置一个函数用来表示棋盘上100个像素的格子,通过设置原点位置的函数(setOrig),然后利用两个循环并调用绘制格子的函数完成棋盘绘制。(我这里只绘制了红色格子,白色格子的地方为空。)代码:...
2020-05-20 16:00:33
1621
雅克比迭代法,高斯-赛德尔迭代法,SOR法,追赶法求解线性方程组
2020-11-27
利用高斯消元法,列主元法求解线性方程组
2020-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人