Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2011, 00:14   #1
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию Координатная ось

Как поменять координатную ось чтоб она не была в левом верхнем углу, а была в левом нижнем углу!!! заранее спасибо
Medik07 вне форума Ответить с цитированием
Старый 20.02.2011, 11:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

1) нужно поконкретнее говорить, что Вы делаете, что не получается, приводите пример кода, нарисуйте (или опишите) что Вы хотите получить, тогда легче будет оказать Вам помощь.

2) если я правильно понял вопрос - то ответ - "Никак".
Просто рисуйте оси там, где хотите, и пересчитывайте Ваши координаты в тем, которые хотите отобразить.
Тогда центр осей можно поместить хоть в центр экрана, хоть в любой угол.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2011, 14:21   #3
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию

Хочу показать траекторию полета брошенного со скоростью и под определенным углом. (массой и воздухом пренебречь)

Цитата:
Graphics gr = this.CreateGraphics();
Pen pen = new Pen(Color.Black, 2);
Pen pen1 = new Pen(Color.Yellow, 2);
float x1=0, x2=0, y1=0, y2=0;
gr.DrawRectangle(pen1, x1, y1 , 4, 4);
v = Convert.ToDouble(textBox1.Text);
alfa = Convert.ToDouble(textBox2.Text);
double t;
t = (2 * v * Math.Abs(Math.Sin(alfa))) / 2;
for (double i = 1; i < t; i+=0.4)
{
if (x2<Width || y2<Height)
{
x2 = (int)(i * v * Math.Abs(Math.Cos(alfa)));
y2 = (int)((i * v * Math.Abs(Math.Sin(alfa))) - (9.8*i*i)/2);
gr.DrawRectangle(pen1, x2, y2, 4, 4);
gr.DrawLine(pen, x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
else break;


как видите получается все как в 1 примере, хочется чтоб было как на примере 2
Medik07 вне форума Ответить с цитированием
Старый 20.02.2011, 15:40   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Нужно выводить не координату y, а что-то вроде 100 - y (Вместо 100 нужно подставить y координату нижнего угла)
Код:
gr.DrawRectangle(pen1, x2, 100 - y2, 4, 4);
gr.DrawLine(pen, x1, 100 - y1, x2, 100 - y2);
pu4koff вне форума Ответить с цитированием
Старый 20.02.2011, 16:27   #5
Medik07
Пользователь
 
Регистрация: 22.09.2009
Сообщений: 23
По умолчанию

Вместо 100 поставил 560 (нижнюю границу)!!! Спасибо что помог!!!
Medik07 вне форума Ответить с цитированием
Старый 09.12.2016, 05:27   #6
Aurthurikus
Новичок
Джуниор
 
Регистрация: 09.12.2016
Сообщений: 1
Хорошо

Graghics Axis = pbx.CreateGraphics();
Axis.TranslateTransform(0, pbx.Height);
pbx-это ваш pictureBox.
Aurthurikus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Координатная плоскость korzunmaria Паскаль, Turbo Pascal, PascalABC.NET 1 23.04.2010 23:39
- Что есть вообще виртуальная операционка? - Для каких целей она нужна? Alex Cones Операционные системы общие вопросы 7 24.12.2009 22:54
Как ограничить ось у в TChart SeЯgey Помощь студентам 2 15.04.2008 17:16