⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 art.cpp

📁 C++ Builder 6 编程实例教程-北京希望电子出版社出版
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "Art.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Image1->Visible=false;
Form1->Image2->Visible=false;
//设置图象控件都处于不可见状态
Form1->Image1->Transparent=true;
Form1->Image2->Transparent=true;
//设置图象的背景色为透明
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    float x1[120];
    float y1[120];
    float x2[120];
    float y2[120];
    float pi;
    int n;
    int r;
    float a;
    int i;
    float t;
    float x;
    float y;
    int k;
    //变量定义
Form1->Image1->Visible=true;
Form1->Image2->Visible=false;
//设置控件可见性
pi=3.1415926;
n=50;
r=280;
i=0;
a=0;
//变量赋值
for (i=1;i<120;i++)
    {
    x1[i]=r*cos(a);
    y1[i]=(-1)*r*sin(a)/2;
    a=a+pi/60;
    }
r=100;
i=0;
a=0;
for (i=0;i<=120;i++)
    {
    t=(r*(1+1/2*sin(12*a)))*(1/2+1/2*sin(4*a));
    x2[i]=t*cos(a);
    y2[i]=(-1)*t*sin(a)/2;
    a=a+pi/60;
    }
for (k=0;k<=n;k++)
    {
    for(i=0;i<=120;i++)
        {
        x=(x2[i]-x1[i])/n*k+x1[i];
        y=(y2[i]-y1[i])/n*k+y1[i];
        x=x+300;
        y=y+150;
        if (i==0)
           {
           Form1->Image1->Canvas->MoveTo((x/2),(y));
           }
        Form1->Image1->Canvas->LineTo((x*1.1/2),(y));
        }
     }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    float t,x0,y0;
    float r;
    int n,j,i;
    float x[50];
    float y[50];
    //变量定义
Form1->Image2->Visible=true;
Form1->Image1->Visible=false;
//设置控件可见性
n=25;
//设置分段数
t=6.28318/n;
r=130;
//设置半径
x0= 180;
y0= 150;
//设置图案的中心点
for (i=0;i<=n;i++)
    {
    x[i]=r*cos(i*t)+x0;
    y[i]=r*sin(i*t)+y0;
    //通过循环求出"金刚石" 图案的坐标点
    }
for (i=0;i<=n;i++)
    {
     for(j=i+1;j<=n-1;j++)
        {
           Form1->Image2->Canvas->MoveTo((x[i]),(y[i]));
           Form1->Image2->Canvas->LineTo((x[j]),(y[j]));
           //连线
         }
     }
}




 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -