猫史档案馆


整活:优化作品

用户:一个破名七个字一个破名七个字查看:1 回复:3 评论:1 创建时间:2023-06-28T12:38:04


大家进入猫站两个月以上的用户可以看一眼自己之前写的代码awa

把那些代码尽可能地优化一下,然后在帖子下面说说有什么感想awa


回复

上一页1 页 / 共 1下一页
一个破名七个字一个破名七个字

要是优化着优化着把自己的作品优化崩了我可不负责()

点赞1


评论


一个破名七个字一个破名七个字

py、c语言和js的就别尝试了,风险太大。kt的可以大胆一点,出事情了我担着。

点赞1


评论


无人在意的传说无人在意的传说


#include <conio.h>
#include <math.h>

const double PI = 3.1415926536;

// 定义一个结构体 Point,存储点的坐标
struct Point
{
double x;
double y;
};

// 直线的旋转(p1 是定点)
Point Rotate(Point p1, Point p2, double angle)
{
Point r;
r.x = p1.x + (p2.x - p1.x) * cos(angle) + (p2.y - p1.y) * sin(angle);
r.y = p1.y + (p2.y - p1.y) * cos(angle) - (p2.x - p1.x) * sin(angle);
return r;
}

// 直线的缩放(p1 是定点)
Point Zoom(Point p1, Point p2, double ratio)
{
Point r;
r.x = p1.x + (p2.x - p1.x) * ratio;
r.y = p1.y + (p2.y - p1.y) * ratio;
return r;
}

// 画出正方形
void Draw(Point p1, Point p2)
{
Point p11 = Rotate(p1, p2, 90 * PI / 180);
Point p22 = Rotate(p2, p1, 270 * PI / 180);

POINT pts[] = { { int(p1.x + 0.5), int(p1.y + 0.5) }, // +0.5 是为了四舍五入
{ int(p2.x + 0.5), int(p2.y + 0.5) },
{ int(p22.x + 0.5), int(p22.y + 0.5) },
{ int(p11.x + 0.5), int(p11.y + 0.5) } };

static int color_H = 270;
setfillcolor(HSVtoRGB(float(color_H), 1, 1)); // 设置正方形的填充颜色
setlinecolor(HSVtoRGB(float((color_H + 80) % 360), 0.5, 0.5)); // 设置正方形的边框颜色
color_H = (color_H + 1) % 360;
fillpolygon(pts, 4); // 填充正方形颜色

if (((p22.x - p11.x) * (p22.x - p11.x) + (p22.y - p11.y) * (p22.y - p11.y)) > 3 * 3 ) // 正方形的边长 >3 时递归
{
double a = 60 * PI / 180; // 60 度形式
// double a = 45 * PI / 180; // 45 度形式
Point p = Rotate(p11, p22, a);
p = Zoom(p11, p, cos(a));

Draw(p, p22);
Draw(p11, p);
}
}

// 主函数
int main()
{
initgraph(喵0, 480); // 初始化窗口
setbkcolor(0xfecaeb); // 设置背景颜色
cleardevice();

Point p1 = { 290, 400 };
Point p2 = { 350, 400 };
Draw(p1, p2);

_getch();
closegraph(); // 关闭窗口
return 0;
}

会改图形化勾股树吗

点赞0


评论