Логика вычислений Partway в TikZ

Логика вычислений Partway в TikZ

Руководство PGF на стр. 66 описываетЧастичные расчеты.

введите описание изображения здесь

В этом примере, ($ (A)!.5!(B) $), .5 относится к 50%, верно? Точка, которая находится на 50% от точки A. В таком случае, почему нам требуется точка B в расчете. Мы всегда можем использовать первую точку для относительного позиционирования. Сравнение проводится с xcolorупаковкой, что неправильно (например orange!50!black, . Здесь цвет будет 50% оранжевого и 50% черного. Второй цвет является обязательным.) Это сравнение неправильно, и я хотел бы понять цель предоставления второй точки в расчете.

Во-вторых, расчет D также не убедителен:

введите описание изображения здесь

После вычисления X мы можем просто сказать: поместите точку D над X на расстоянии 6 точек. Это также должно быть эквивалентно:

($ (X) ! {sin(60)*2} ! 90:(B) $)верно?

Пожалуйста, проясните и помогите мне понять эту сложную концепцию.

решение1

Зачем нам нужен (B)расчет (X)?

Посмотрите на этот код

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate [label=left:$A$]  (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
\draw (A) -- (B);
\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($(A)!.5!(B)$) {}; % (1)
\coordinate[label=above:$C$] (C) at (1,2);
\draw (A) -- (C);
\node [fill=red,inner sep=1pt,label=left:$Y$] (Y) at ($(A)!.5!(C)$) {}; % (2)
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Если (B)бы были ненужными, (1) и (2) должны иметь тот же эффект, т. е. (X)и (Y)должны быть теми же. На самом деле, они не являются таковыми. Поэтому (B)необходимо.

Для получения дополнительной информации (B)обозначает конечную точку сегмента, на котором (X)отмечено.

Для второго кода

Посмотри на это

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate [label=left:$A$]  (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
\draw (A) -- (B);
\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($(A)!.5!(B)$) {};
\node [fill=red,inner sep=1pt,label=above:$D$] (D) at ($(X)!{sin(60)*2}!90:(B)$) {};
\coordinate[label=right:$C$] (C) at (1,-2);
\draw (A) -- (C);
\node [fill=red,inner sep=1pt,label=left:$Y$] (Y) at ($(A)!.5!(C)$) {};
\node [fill=red,inner sep=1pt,label=below:$E$] (E) at ($(Y)!{sin(60)*2}!90:(C)$) {};
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Опять же по той же причине, что и выше: (B)должно быть критически важным, в противном случае (D)и (E)должно быть тем же самым.

решение2

Целью руководств по TikZ является ознакомлениенаиболее полезные концепции иlibraryчтобы начать работу с TikZ. Инетчтобы дать наилучший способ построения фигур.

Первый вопрос: в таком случае, зачем нам нужна точка B в расчетах?

Потому что в планиметрии существует бесконечное множество точек, расположенных на одинаковом расстоянии от данной точки: это точки окружности.

Например, на рисунке ниже точки M и N расположены на расстоянии 2 см от центра окружности. Поэтому необходимо указать вторую точку B.

Скриншот

Второй вопрос: Пожалуйста, проясните и помогите мне понять эту сложную концепцию.

Этот отрывок иллюстрирует использование библиотеки calc. Для этого примера он использует геометрические отношения вравностороннийтреугольник, чтобы разместить точку D.

Лично я бы построил этот треугольник, используя полярные координаты, а затем вращая. Цель здесь не в том, чтобы сделать его максимально простым, а в том, чтобы представить основные концепции и библиотеки TikZ.

Скриншот

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{calc}
\begin{document}

\begin{tikzpicture}
\draw[rotate=10] (0,0)coordinate(A)--(2,0)coordinate(B)--(60:2)coordinate(D)--cycle;
\node[left] at (A){A};
\node[right] at (B){B};
\node [above] at (D) {D};
\end{tikzpicture}
\end{document} 

Переведено с помощью www.DeepL.com/Translator

решение3

В этом примере , ($ (A)!.5!(B) $)означает .550%, верно?

Правильно. Это просто еще одна нотация.

Точка, которая находится на расстоянии 50% от точки А. В таком случае, зачем нам нужна точка В в расчетах?

Неправильно. Если вы идете по пути из A в B, то 50% означают, что вы движетесь только на 50% по этому пути (начиная с точки A), сохраняя направление. Или еще проще: возьмите вектор (ba), масштабируйте его на 0,5 и добавьте к a. Тогда у вас будет новая координата.

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

Связанный контент