Другие языки программирования и технологии
Pascal. Даны координаты начала и конца отрезка. Определить координаты всех точек этого отрезка.
Например, (0; 0), (100;100).
Находишь уравнение прямой, на которой лежит этот отрезок y=k*x+b
if x1 <> x2 then
begin
k :=(y2-y1)/(x2-x1);
b :=y2-k*x2;
end;
все - уравнение у тебя есть. Берешь х от х1 до х2 с каким тебе надо шагом, подставляешь в уравнение и получаешь у.
if x1 <> x2 then
begin
k :=(y2-y1)/(x2-x1);
b :=y2-k*x2;
end;
все - уравнение у тебя есть. Берешь х от х1 до х2 с каким тебе надо шагом, подставляешь в уравнение и получаешь у.
Ну для твоего примера это очень просто: для каждой Х значение Y будет соответственным.
А в общем случае это довольно-таки обширный вопрос.
Т. к. нужно учитывать как конкретный компилятор строит отрезки.
Если хочешь написать свой построитель отрезков, то нужно сответствующую литературу почитать.
К примеру смотри вот здесь:
http://doors.infor.ru/allsrs/alg/paper/2dgraph.html
http://student.km.ru/ref_show_frame.asp?id=30069308FA7C4B0095829FB05C3997B3
Или в поисковике введи волшебное слово:
Брезенхэм
А в общем случае это довольно-таки обширный вопрос.
Т. к. нужно учитывать как конкретный компилятор строит отрезки.
Если хочешь написать свой построитель отрезков, то нужно сответствующую литературу почитать.
К примеру смотри вот здесь:
http://doors.infor.ru/allsrs/alg/paper/2dgraph.html
http://student.km.ru/ref_show_frame.asp?id=30069308FA7C4B0095829FB05C3997B3
Или в поисковике введи волшебное слово:
Брезенхэм
Если кто хорошо учил геометрию и математику вообще, то знает что отрезок имеет бесконечное число точек....
Отрезок имеет бесконечное значение точок.. .
согласен
||
\/
согласен
||
\/
Это же просто как два рубля я.. . напиши линейную функцию, вида: y: = xm, где m линейный коофициент. Ну или каретками разрули. Хотя нет - с дробными неочень коретками.. . Линейный коофициент вычисли так: большу большую разницу координат разбдели на меньшую, на пример в (0; 0), (100; 50) это будет разница по Иксу. Надеюсь, что функцию min-max для определения большего/меньшего числа из массива ты знаешь.. . остается только определить частоту определения точек, если необходимо отсчитывать по длинне отрезка, то тут тебе поможет школьное знание геометрии вообще и теоремы пифагора вчастности, а если по одно из осей - то и не заморачивайся и вуа-ля! Сам код не привожу, а то свсем расслабитесь...
Похожие вопросы
- Даны координаты 3-ёх вершин прямоугольника. Найти координаты 4-ой вершины.
- Pascal. Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются степенью двойки.
- Как по координатам трех точек треугольника определить - начало координат находится внутри него или за его пределами?
- программирование в pascal. Даны 3 числа. Определить сколько среди них нулей
- принадлежит ли точка X отрезку АВ на паскале
- С++ программирование функций. а плоскости заданы своими координатами n точек...
- Кратчайшее расстояние от точки до отрезка на плоскости (C++)
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Pascal. Дана строка, элементы - числа через пробел. Как отсечь числа, которые содержат '0'?
- Pascal. Дана строка, найти длину первого и последнего слова первого я нашел, а как второго не понимаю помогите
2) А если Abs(Y2-Y2) > Abs(X2-X1), то получится не сплошная линия, а пунктирная!