Вопрос по matlab – Как работать со значениями координат с плавающей точкой на изображении

4

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

  x=9.7 

  x'=floor(x)= 9  //the plot is now at 9 and not at 9.7 as desired, (this is 'shift')   

Но в тех случаях, когда мое требование состоит в том, чтобы нарисовать несколько фигур вequal distance Я сталкиваюсь с проблемой, так как смещение (из-за floor ();) не является одинаковым для каждой фигуры.
Это как шум квантования в цифровой связи.

Есть ли способ, которым я могу обойти эту проблему?

использовать сглаживание Spektre
Это неjust like quantization noise in digital communication этоquantization noise in digital communication, Любой подход к округлению числа f-p до целого будет представлять эту проблему, хотя умный (?) Выбор метода округления может минимизировать его влияние на вашу ситуацию. High Performance Mark

Ваш Ответ

1   ответ
3

Эта проблема на самом деле довольно распространенная в компьютерной графике.растеризации является проблемной областью, с которой вы сейчас боретесь. Вы можете найтиАлгоритм линии Брезенхема хорошее введение в тему.Вот хороший интерактивный сайт с несколькими различными алгоритмами растеризации

Надеюсь, это поможет!

Error: User Rate Limit ExceededGL_LINEAR vs GL_NEARESTError: User Rate Limit ExceededThis pageError: User Rate Limit ExceededManhattan distance.

Похожие вопросы