2016-10-24 2 views
1

Ниже я пытаюсь построить палку в 3-х измерениях. Я хотел бы отметить каждую из точек в порядке p1, p2, p3 ... p6 или даже просто 1, 2, 3, ... 6. Как мне это сделать?Как добавить метки точек в мой сюжет?

`

P1 = {0.300775, 1.301248, -0.702434} 
P2 = {-0.976281, -0.910795 , 0.701983} 
P3 = {0.976171, -0.910795, -0.702076} 
P4 = {-0.300495 , 1.300967, 0.702620} 
P5 = {-1.276451, -0.390204, -0.702474} 
P6 = {1.276282, -0.390420 , 0.702381} 
Knot = {P1, P2, P3, P4, P5, P6, P1} 
Show[ 
Graphics3D[Line[Knot]], 
Graphics3D[Point[Knot]], 
Axes -> True, 
AxesLabel -> {x, y, z}] 

`

Вот картина выхода:

Trefoil Knot with sticks

ответ

2
Show[Graphics3D[Line[Knot]], 
Graphics3D[ 
    MapIndexed[Text[Style["P" <> ToString[#2[[1]]], Medium, Red], #,{-1,-1}] &, 
    Knot[[;;-2]]]], Graphics3D[Point[Knot]], Axes -> True, 
AxesLabel -> {x, y, z}] 

enter image description here

К сожалению, его трудно получить текст в 3d, чтобы на самом деле хорошо выглядеть.

Вот эта карта без стиля, чтобы сделать ее немного легче понять.

MapIndexed[Text["P" <> ToString[ #2[[1]] ], #] & 
+0

Это выглядит достаточно хорошо для моих целей. Спасибо, ты можешь просто объяснить мне, что и как? – EgoKilla

+1

это * чистая функция * синтаксис: https://reference.wolfram.com/language/tutorial/PureFunctions.html. – agentp

Смежные вопросы