12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
1 | |
Необходимо на экране нарисовать линию между двумя точками11.12.2013, 10:05. Показов 3095. Ответов 20
Метки нет (Все метки)
Столкнулся с проблемой. Необходимо на экране нарисовать линию между двумя точками. Допустим между точками 1130 пикселей что соответствует 750 дням. тогда выходит что на один день приходится ~ 1.506 пиксель. Но! их вроде как делить нельзя? ВОПРОС! как поступить в этой ситуации? как нарисовать линию, соответствующей 277 дням?
0
|
11.12.2013, 10:05 | |
Ответы с готовыми решениями:
20
Как в цикле нарисовать новую линию между двумя объектами Построить линию между двумя точками географических координат графически Найти наименьшее расстояние между точками и нарисовать линию Нарисовать линию точками |
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
|
|
11.12.2013, 12:56 | 2 |
округлить
1
|
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
11.12.2013, 20:43 | 3 |
а почему расстояние в пикселях меряете? Мне кажется графика не в пикселях меряется, а в чем то другом, не помню в чем. Вот в стандартных ед. измерения и считать нужно
0
|
12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
12.12.2013, 13:23 [ТС] | 4 |
0
|
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
|
|
12.12.2013, 13:30 | 5 |
ну дык. берем допустим 5000 дней приравниваем к 1000 пикселей. получаем, что 1 день равен 0.2 пикселя.
Естественно такой точности нам не добиться. тогда 5 дней - 1 писксель, верно? т.е. 5 дней это минимальная единица отсчета при таком масштабе шкалы. 2260 дней будут равны 2260*0.2=452 пикселя. и т. д. все зависит от масштаба. все равно точности до одного дня не добиться. иначе нужен масштаб 1:1 Вот поэтому и округление
1
|
12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
12.12.2013, 14:13 [ТС] | 6 |
Может можно как-то масштабировать картинку? Например создавать её и сохранять в PNG. А затем выводить на экран??
0
|
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
|
|
12.12.2013, 14:21 | 7 |
ну допустим. только смысл? картинка все равно будет масштабироваться. и визуально не будет никакой разницы. только геморроя побольше.
0
|
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
12.12.2013, 14:28 | 8 |
Зачем делать вычисления на основе картинки? Данные и их обработка должны быть отдельно, а визуализация - отдельно
0
|
dr_Morro
|
12.12.2013, 14:30
#9
|
0
|
12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
12.12.2013, 14:33 [ТС] | 10 |
Всё правильно! но суть в том что в итоге будут судить по протекающим процессам именно по этой картинке
Добавлено через 23 секунды не хотит народ смотреть на цифры
0
|
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
|
|
12.12.2013, 14:36 | 11 |
Ну дык пусть смотрят на картинку. Просто нет смысла каждый раз скидывать PNG, если её можно сгенерировать в реальном времени. Все равно визуально никто не будет рассматиривать всё попиксельно. Можно вывести шкалу или подписи + визуализацию. и линия будет показывать "шоп глаз видел", а циферки - "шоп моск понимал"...
0
|
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
12.12.2013, 14:37 | 12 |
MACTEP434, т.е. о двухлетнем периоде будут судить по картинке в 1000 пикселей? И делать выводы? Как-то это очень по-советски
0
|
12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
12.12.2013, 14:43 [ТС] | 13 |
2х летний период это было для примера. в основном 6-8 месяцев. просто вот у меня монитор с разрешением экрана в 1280 точке. у кого-то в 1024(хотя монитор может большее) у кого-то FULLHD. Попробуй ка подбери масштаб
Добавлено через 1 минуту не не не.. я рисую по средствам System.Drawing.Graphics Я имел ввиду что не сразу выводить на форму все линии.. а сначало автоматом собирать картинку в кэше, сохранять её в TEMP а потом в масштабе показывать на форме?
0
|
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
|
|
12.12.2013, 14:49 | 14 |
а не надо подбирать. пусть прога сама вычисляет.
Добавлено через 6 минут Пусть будет так. Не по теме: А то уже чат получается. и нас ща модераторы разугают...
0
|
12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
12.12.2013, 14:51 [ТС] | 15 |
так то оно так..
вот принцип моего вычисления: в проекте может быть несколько промежуточных точек 1) узнаём количество дней в проекте 2) узнаём доступное количество точек 3) вычисляем сколько точек приходиться на день 4) вычисляем кол-во точек от начальной точки проекта до следующей промежуточной и вот тут появляется маленький облом! допустим: на экране доступно 100 точек имеем 120 дней делим точки на дни получаем = 0,83 т.к пикселей не может быть дробно, в переменную записывается число 1 120 умножаем на 1 = 120 что выходит за пределы экрана.
0
|
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
|
|
12.12.2013, 14:53 | 16 |
если 120*0.83 = 99.6 <--- округлять уже конечный результат!
1
|
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
12.12.2013, 14:56 | 17 |
Не важно сколько точек на экране. Создавай битмап нужного размера, туда рисуй, а затем выводи на форму с масштабом
1
|
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|
13.12.2013, 13:36 | 19 |
Так конечно можно, но картинка от этого лучше не станет. Лучше всё-таки учитывать.
Можно же. Есть методы, принимающие в качестве аргумента Single. Всё само до int'ов округлится.
0
|
12 / 12 / 0
Регистрация: 22.02.2013
Сообщений: 162
|
|
14.12.2013, 07:03 [ТС] | 20 |
0
|
14.12.2013, 07:03 | |
14.12.2013, 07:03 | |
Помогаю со студенческими работами здесь
20
Разработать программу позволяющюю рисовать линию между точками Графика: Нарисовать линию в подпрограмме, но на экране ничего нет... Расстояние между двумя точками Расстояние между двумя точками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |