Я сделал свой собственный плоттер с функцией java, который работает достаточно хорошо. Все, что вам нужно сделать, это выполнить итерацию с помощью (пикселей) панели и рассчитать значение y. Затем нарисуйте его полилинией на экране, и все.Масштабный коэффициент функции плоттер
Но вот моя проблема: существует коэффициент масштабирования между количеством пикселей и значением, которое я хочу построить. Например, я нахожусь на итерации 304 (итерируя по значению панели сюжета). Теперь я вычисляю соответствующее значение для этой позиции пикселя (304) по правилу три. Это дает мне 1.45436. Затем я вычисляю грех на основе этого значения. Это трансцендентное число. Затем я снова использую правило дерева, чтобы определить, для какого y-пикселя это значение соответствует. Для этого мне нужно округлить, потому что пиксель является целым числом. И есть потеря данных. Эта потеря данных может дать мне следующий результат:
Это выглядит не очень хорошо. Если я играю с изменением размера окна, иногда получаю ровный результат.
Как исправить эту проблему? На самом деле я никогда не видел таких графиков в любом другом плоттере.
В вашем коде определенно что-то не так. Возможно, вы делаете часть математики с целыми числами, которые должны быть плавающей точкой. Если вы не отправляете код, вы никогда не получите ответ. – Gene
Вы слишком задумываетесь об этом? На самом деле вы не работаете на пикселях. Когда я увеличиваю свой сюжет, я вижу, что красная линия сглажена, что имеет смысл, потому что вы не нарисовали пиксели, а полилинию. Но это сглаживание приводит меня к предположению, что координаты точек могут быть числами с плавающей запятой. Что произойдет, если вы не закончите? –
Округление было ошибкой. Передача плавающих значений в полилинию отлично работает. – Sam