Curbe Bezier

Laborator
7/10 (1 vot)
Conține 1 fișier: doc
Pagini : 7 în total
Cuvinte : 780
Mărime: 55.39KB (arhivat)
Publicat de: Cipriana Negoiță
Puncte necesare: 0

Extras din laborator

Scopul lucrării: De a studia primitivele grafice ce permit afisarea curbelor Bezier si afisarea acestor curbe cu ajutorul formulelor.

Sarcina lucrării: Sa scriem un program care deseneaza în zona client o curba Bezier cu ajutorul unei functii elaborate de catre noi.

Codul Sursă

// Lab_bezier_pers.cpp : Defines the entry point for the application.

//

#include "stdafx.h"

#include "Lab_bezier_pers.h"

#include "math.h"

#define MAX_LOADSTRING 100

static int cxClient,cyClient;

POINT p[4];

POINT p1[4];

POINT p2[4];

static TCHAR str[10];

// Global Variables:

HINSTANCE hInst; // current instance

TCHAR szTitle[MAX_LOADSTRING]; // The title bar text

TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name

// Forward declarations of functions included in this code module:

ATOM MyRegisterClass(HINSTANCE hInstance);

BOOL InitInstance(HINSTANCE, int);

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);

int APIENTRY _tWinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPTSTR lpCmdLine,

int nCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

// TODO: Place code here.

MSG msg;

HACCEL hAccelTable;

// Initialize global strings

LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);

LoadString(hInstance, IDC_LAB_BEZIER_PERS, szWindowClass, MAX_LOADSTRING);

MyRegisterClass(hInstance);

// Perform application initialization:

if (!InitInstance (hInstance, nCmdShow))

{

return FALSE;

}

hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_LAB_BEZIER_PERS));

// Main message loop:

while (GetMessage(&msg, NULL, 0, 0))

{

if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return (int) msg.wParam;

}

ATOM MyRegisterClass(HINSTANCE hInstance)

{

WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style = CS_HREDRAW | CS_VREDRAW;

wcex.lpfnWndProc = WndProc;

wcex.cbClsExtra = 0;

wcex.cbWndExtra = 0;

wcex.hInstance = hInstance;

wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_LAB_BEZIER_PERS));

wcex.hCursor = LoadCursor(NULL, IDC_ARROW);

wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

wcex.lpszMenuName = MAKEINTRESOURCE(IDC_LAB_BEZIER_PERS);

wcex.lpszClassName = szWindowClass;

wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassEx(&wcex);

}

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

{

HWND hWnd;

hInst = hInstance; // Store instance handle in our global variable

hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

if (!hWnd)

{

return FALSE;

}

ShowWindow(hWnd, nCmdShow);

UpdateWindow(hWnd);

return TRUE.

Preview document

Curbe Bezier - Pagina 1
Curbe Bezier - Pagina 2
Curbe Bezier - Pagina 3
Curbe Bezier - Pagina 4
Curbe Bezier - Pagina 5
Curbe Bezier - Pagina 6
Curbe Bezier - Pagina 7

Conținut arhivă zip

  • Curbe Bezier.doc

Alții au mai descărcat și

Mediul Turbo Prolog

- Mediul de programare Turbo Prolog. Meniul principal,Ferestrele Turbo Prologului, Lansarea/trasarea programului. - Clauze Turbo Prolog. Fapte,...

Limbajul Prolog

În Prolog se poate ajunge la soluţii prin inferenţă logică (deducţie logică) pornind de la ceva cunoscut în prealabil. Tipic, un program în...

Structura unui program prolog

Structura unui program VISUAL PROLOG Un program PROLOG conţine 4 secţiuni de bază: “clauses” “predicates” “domains” “goal” Secţiunea...

Unificare și Backtracking

Capitolul de faţă cuprinde 4 secţiuni mari. În prima secţiune se prezintă în detaliu ceea ce face Prolog atunci când încearcă să găsească o...

Laborator

1) Trei prieteni au obtinut primul, al doilea si respectiv al treilea loc intr-un concurs. Fiecare dintre ei au nume diferite, prefera un alt...

Aparatul de anestezie

Prin structura lor aparatele de anestezie asigura doua functii : - formarea amestecului anestezic - asigura administrarea amestecului anestezic...

Bazele Inteligenței Artificiale

Limbajul PROLOG. Lansare mediu PROLOG Pentru dezvoltarea programelor, vom folosi implementarea SWIPROLOG. Lansarea acestuia se face apăsând...

Sisteme Informatice pentru Asistarea Deciziei

Laborator 1 Enunţ: 1) Să se realizeze un program privind evidenţa studenţilor. Pentru aceasta se vor crea următoarele tabele: Studenti...

Te-ar putea interesa și

Suprafețe parametrice Bezier

SUPRAFETELE PARAMETRICE BEZIER Bezier a dezvoltat o reformulare privind curbele lui Ferguson folosindu-se de polinoamele lui Bernstein în anul...

Interpolarea Folosind Metoda celor Mai Mici Pătrate

INTERPOLARE FOLOSIND METODA CELOR MAI MICI PATRATE Interpolarea este un proces de definire a unei functii care are anumite valori în anumite...

Interpolarea grafică

Prefaţă Grafica pe calculator este un domeniu modern cu multiple aplicaţii practice în diverse domenii de activitate (medicină, artă, etc.), care...

Subiecte rezolvate grafică

Sub 1. 1.Ce se intelege prin proiectie axonometrica? R : Proiectia ortografica axonometrica este proiectia ortografica care reprezinta mai mult...

Sisteme de Prelucrare Grafică

Curs nr. 1 Evolutia graficii: Se pot distinge mai multe etape: - grafica simpla care sa fie printata; - modele sau obiecte care trebuiau...

Programul CorelDRAW

CorelDRAW! este unul dintre cele mai puternice programe de grafica vectoriala aflate la ora actuala pe piata. Ajuns la a saptea editie, el permite...

Analiza și Modelarea Sistemelor Informaționale

I. Scopul lucrării: 1. Studierea părţii teoretice şi verificarea cunoştinţelor în mediul instrumentului CASE “Rational Rose”. 2. Aprecierea...

Ai nevoie de altceva?