0 / 0 / 0
Регистрация: 23.08.2009
Сообщений: 4
1

Рисование ломаной и кривой

15.12.2009, 23:56. Показов 4041. Ответов 5
Метки нет (Все метки)

Народ, помогите плиз!!как нарисовать ломаную и кривую(рисовать должен пользователь)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2009, 23:56
Ответы с готовыми решениями:

Рисование ломаной
Как можно на канве (TImage) указать, например несколько точек и соединить их отрезками. Нужно,...

Рисование ломаной линии
Доброе время суток. Реализовал построение ломаной линии, но рисование начинается от начала...

Рисование на экране ломаной линии между точками
Помогите составить программу рисования на экране ломаной линии между точками, в которых...

MFC Рисование ломаной по даблклику
При даблклике в окне появляется ломаная(координаты из массива). Перемещение мыши с зажатой левой...

5
говнокодер
1263 / 287 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
16.12.2009, 11:10 2
ломаную нарисовать несложно:
C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
    if (!Shift.Contains(ssLeft))
        return;
Canvas->LineTo(X,Y);
}
а вот с кривой как быть.... стоит подумать об использовании Arc(x1,y1,x2,y2,x3,y3,x4,y4) -рисует дугу. параметры x1,y1,x2,y2 задают эллипс частью которого является дуга, параметры x3,y3,x4,y4 - начальную и конечную точки дуги.
1
0 / 0 / 0
Регистрация: 23.08.2009
Сообщений: 4
16.12.2009, 17:19  [ТС] 3
я знаю что нужно использовать Arc, вот только не пойму как.....
0
говнокодер
1263 / 287 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
16.12.2009, 17:30 4
кого рода должна быть кривая?

Цитата Сообщение от Angieskiss Посмотреть сообщение
я знаю что нужно использовать Arc, вот только не пойму как...
как как... надо вычислять x1,y1,x2,y2,x3,y3,x4,y4 если нам известны координаты клика мыши X,Y.
0
0 / 0 / 0
Регистрация: 23.08.2009
Сообщений: 4
16.12.2009, 19:03  [ТС] 5
Цитата Сообщение от sh4d°_°ff Посмотреть сообщение
кого рода должна быть кривая?
даже не знаю......

Добавлено через 2 минуты

думаю что-то вроде такого

Добавлено через 5 минут
да мне в пинципе любая кривая подойдет, лишь бы углы были закругленные и использовался Arc
0
говнокодер
1263 / 287 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
16.12.2009, 20:44 6
Цитата Сообщение от Angieskiss Посмотреть сообщение
думаю что-то вроде такого
вроде чего?
Цитата Сообщение от Angieskiss Посмотреть сообщение
да мне в пинципе любая кривая подойдет, лишь бы углы были закругленные и использовался Arc
простейшее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int a, xa, ya, xb, yb, xc, yc, x1, y1, x2, y2;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
xa=0;
ya=0;
xb=0;
yb=0;
xc=0;
yc=0;
x1=0;
y1=0;
x2=0;
y2=0;
a=0;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
if(a==1)
{
flag=true;
xa=X;
ya=Y;
Canvas->Ellipse(X,Y,X+2,Y+2);
}
else if(a==2)
{
xb=X;
yb=Y;
flag2=true;
Canvas->Ellipse(X,Y,X+2,Y+2);
}
else if(a==3)
{
Canvas->Ellipse(X,Y,X+2,Y+2);
xc=X;
yc=Y;
x1=xa;
y1=yc;
x2=xb;
y2=2*ya-yc;
Canvas->Arc(x1,y1,x2,y2,xb,yb,xa,ya);
a=0;
}
a++ ;
}
//---------------------------------------------------------------------------
тут правда много всяких "но"... но все же лучше чем ничего... думаю основная идея понятна, там уже можно заточить как угодно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2009, 20:44
Помогаю со студенческими работами здесь

Рисование кривой по клику мыши
Лабораторная работа. Требуется написать приложение MFC, чтобы по клику мыши рисовалась непрерывная...

MFC рисование кривой линии
Добрый вечер.Скажите как корректно нарисовать ломанную в MDI?Рисовать отрезки и устанавливать...

Рисование прямой и кривой линии, используя левую кнопку мыши
кто может помочь с программой на с++ для рисовании прямой и кривой линии используя левую кнопку...

Генерация ломаной кривой по списку прямых
Задача в том, чтобы из списка прямых отрезков отбить проекцию на одну, постоянную, из сторон...

Cоставить программу построения на экране ломаной кривой
Помогите составить программу построения на экране ломаной, длины звеньев которой образует...

Рисование ломаной линии.
Рисуется ломаная линия. Фиксирование первых и очередных узлов осуществляется нажатием клавиши...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru