Страница 1 из 1

Нарисовать точки в 3D - ошибка floating-point

Добавлено: Чт фев 21, 2019 4:01 pm
serval
Пожалуйста, покажите мою ошибку.

restart;
with(plots);
a := 2:
b := 5:
v1 := <ab, -a-b, 1>:
v2 := <ab, 1, -a-b>:
v3 := <-a-b, ab, 1>:
v4 := <-a-b, 1, ab>:
v5 := <1, ab, -a-b>:
v6 := <1, -a-b, ab>:
pointplot3d(v1, v2, v3, v4, v5, v6, color = red, symbol = point);

Error, (in plots:-pointplot3d) points cannot be converted to floating-point values

Re: Нарисовать точки в 3D - ошибка floating-point

Добавлено: Чт фев 21, 2019 6:04 pm
Kitonum
Вы забыли поставить знак умножения между a и b . Для Maple ab это просто символ. Также v1, v2, v3, v4, v5, v6 должны быть окружены скобками (квадратными или фигурными). Ещё кое-что подправил:

restart;
with(plots):
a := 2:
b := 5:
v1 := <a*b, -a-b, 1>:
v2 := <a*b, 1, -a-b>:
v3 := <-a-b, a*b, 1>:
v4 := <-a-b, 1, a*b>:
v5 := <1, a*b, -a-b>:
v6 := <1, -a-b, a*b>:
pointplot3d([v1, v2, v3, v4, v5, v6], color = red, symbol=solidsphere, symbolsize=17);

Re: Нарисовать точки в 3D - ошибка floating-point

Добавлено: Пт фев 22, 2019 9:13 am
serval
Большое спасибо.
Глупая ошибка. А со скобками - странно, я скопировал из примера в хелпе. Наверное, тоже не обратил внимания.

Re: Нарисовать точки в 3D - ошибка floating-point

Добавлено: Сб фев 23, 2019 9:56 pm
Kitonum
Скобки не нужны, если заданы отдельно 3 вектора, скажем X - вектор из первых координат ваших точек, Y - вектор из вторых координат, Z - вектор из третьих координат (в вашем примере это будут шести-мерные векторы):

restart;
with(plots):
a := 2:
b := 5:
v1 := <a*b, -a-b, 1>:
v2 := <a*b, 1, -a-b>:
v3 := <-a-b, a*b, 1>:
v4 := <-a-b, 1, a*b>:
v5 := <1, a*b, -a-b>:
v6 := <1, -a-b, a*b>:
X:=<seq(v||i[1], i=1..6)>;
Y:=<seq(v||i[2], i=1..6)>;
Z:=<seq(v||i[3], i=1..6)>;
pointplot3d(X,Y,Z, color = red, symbol=solidsphere, symbolsize=17);

Re: Нарисовать точки в 3D - ошибка floating-point

Добавлено: Ср фев 27, 2019 12:33 pm
serval
А как нарисовать два набора точек разными цветами? Так не получается

restart;
with(plots):
a := 2:
b := 5:
v1 := <a*b, -a-b, 1>:
v2 := <a*b, 1, -a-b>:
v3 := <-a-b, a*b, 1>:
v4 := <-a-b, 1, a*b>:
v5 := <1, a*b, -a-b>:
v6 := <1, -a-b, a*b>:

w1 := <a*b+1, -a, b>:
w2 := <a*b+1, b, -a>:
w3 := <-a, a*b+1, b>:
w4 := <-a, b, a*b+1>:
w5 := <b, a*b+1, -a>:
w6 := <b, -a, a*b+1>:

o := <0, 0, 0>:

pointplot3d(([v1, v2, v3, v4, v5, v6, o], color = red), ([w1, w2, w3, w4, w5, w6], color = blue), symbol=solidsphere, symbolsize=17);

Re: Нарисовать точки в 3D - ошибка floating-point

Добавлено: Ср фев 27, 2019 2:56 pm
Kitonum
Если точки рисуются в разных стилях, то придётся задавать отдельными командами. Замените последнюю строку вашего кода следующим:
A:=pointplot3d([v1, v2, v3, v4, v5, v6, o], color = red, symbol=solidsphere, symbolsize=17):
B:=pointplot3d([w1, w2, w3, w4, w5, w6], color = blue, symbol=solidsphere, symbolsize=17):
display(A,B);

Re: Нарисовать точки в 3D - ошибка floating-point

Добавлено: Ср фев 27, 2019 3:36 pm
serval
Спасибо.