Affine transformation of circular arc in 3DAn efficient circular arc primitive for Graphics3DSimple 3D...
How can friction do no work in case of pure rolling?
Ultrafilters as a double dual
Why doesn't "adolescent" take any articles in "listen to adolescent agonising"?
What does "rhumatis" mean?
3.5% Interest Student Loan or use all of my savings on Tuition?
What is brightness?
How do we objectively assess if a dialogue sounds unnatural or cringy?
Calculate total length of edges in select Voronoi diagram
How spaceships determine each other's mass in space?
Are there other characters in the Star Wars universe who had damaged bodies and needed to wear an outfit like Darth Vader?
Can a Mimic (container form) actually hold loot?
Searching for a string that contains the file name
Who is at the mall?
Giving a talk in my old university, how prominently should I tell students my salary?
Can a Mexican citizen living in US under DACA drive to Canada?
Can you run a ground wire from stove directly to ground pole in the ground
An Undercover Army
Practical reasons to have both a large police force and bounty hunting network?
Is there a way to find out the age of climbing ropes?
Genitives like "axeos"
Drawing the Möbius band and the Klein bottle
A bug in Excel? Conditional formatting for marking duplicates also highlights unique value
Named nets not connected in Eagle board design
What does it mean when I add a new variable to my linear model and the R^2 stays the same?
Affine transformation of circular arc in 3D
An efficient circular arc primitive for Graphics3DSimple 3D graphicApplying non-Affine transforms to 2D polygons with texturesAnimation of a geometric transformationHow to draw a Circle in 3D on a sphereAdding a fading color to multiple lines in 3DLog transformation (in dimensions) of an imageCoordinate system transformation problem (about Euler angle)Affine Transform QuestionMathematica Module for Denavit-Hartenberg Parameters to Transformation Matrix
$begingroup$
Start with a quarter-circle of radius 1 centered at the origin and lying in the xz-plane:
arc = ParametricPlot3D[{Cos[t], 0, Sin[t]]}, {t, 0, π/2}]
I want to dilate this by a factor of 2 and shift the center to {3, 0, 0}
, then show the result graphically.
The following does not work:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}]
Graphics3D[GeometricTransformation[arc3D, shiftAndDilate3D]]
The error I get is that "Graphics3DBox is not a Graphics3D primitive or directive."
What am I doing wrong?
graphics3d geometric-transform
$endgroup$
add a comment |
$begingroup$
Start with a quarter-circle of radius 1 centered at the origin and lying in the xz-plane:
arc = ParametricPlot3D[{Cos[t], 0, Sin[t]]}, {t, 0, π/2}]
I want to dilate this by a factor of 2 and shift the center to {3, 0, 0}
, then show the result graphically.
The following does not work:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}]
Graphics3D[GeometricTransformation[arc3D, shiftAndDilate3D]]
The error I get is that "Graphics3DBox is not a Graphics3D primitive or directive."
What am I doing wrong?
graphics3d geometric-transform
$endgroup$
add a comment |
$begingroup$
Start with a quarter-circle of radius 1 centered at the origin and lying in the xz-plane:
arc = ParametricPlot3D[{Cos[t], 0, Sin[t]]}, {t, 0, π/2}]
I want to dilate this by a factor of 2 and shift the center to {3, 0, 0}
, then show the result graphically.
The following does not work:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}]
Graphics3D[GeometricTransformation[arc3D, shiftAndDilate3D]]
The error I get is that "Graphics3DBox is not a Graphics3D primitive or directive."
What am I doing wrong?
graphics3d geometric-transform
$endgroup$
Start with a quarter-circle of radius 1 centered at the origin and lying in the xz-plane:
arc = ParametricPlot3D[{Cos[t], 0, Sin[t]]}, {t, 0, π/2}]
I want to dilate this by a factor of 2 and shift the center to {3, 0, 0}
, then show the result graphically.
The following does not work:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}]
Graphics3D[GeometricTransformation[arc3D, shiftAndDilate3D]]
The error I get is that "Graphics3DBox is not a Graphics3D primitive or directive."
What am I doing wrong?
graphics3d geometric-transform
graphics3d geometric-transform
edited 5 hours ago
MarcoB
36.9k556113
36.9k556113
asked 5 hours ago
murraymurray
6,1981835
6,1981835
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
You could work with regions instead. Your arc:
arc = ParametricRegion[{Cos[t], 0, Sin[t]}, {{t, 0, [Pi]/2}}];
The transformed arc:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}];
new = TransformedRegion[arc, shiftAndDilate3D];
Visualization:
Show[
Region[arc, BaseStyle->Red],
Region[new, BaseStyle->Blue],
Axes->True
]
$endgroup$
$begingroup$
How should one know from the Mathematica documentation thatParametricRegion
is a "region" suitable for the 1st argument toTransformedRegion
? (The documentation involvingGeometricTransformatino
,Region
, etc., is sadly deficient. As withImage
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)
$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of theBaseStyle
option ofRegion
instead of the usualPlotStyle
option ofParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of aParametricRegion
expression with aRegion
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.
$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why doesParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereasParametricPlot3D
uses the parameter information as a list, then another list, etc.?
$endgroup$
– murray
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.
$endgroup$
– Carl Woll
1 hour ago
|
show 2 more comments
$begingroup$
You cannot apply those geometric transformations to the results of the plotting; instead, you should apply them to a Graphics
primitive, e.g. the Line
object generated by ParametricPlot
, which you can extract using e.g. Cases
:
arcLine =
First@Cases[ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}], _Line, All]
Graphics3D[{
Red, arcLine,
Blue, GeometricTransformation[arcLine, shiftAndDilate3D]
}]
In red in the plot above is your original curve, in blue the transformed one.
$endgroup$
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "Graphics
primitive", such as those discussed in this guide:Graphics
objects. I fixed it in the answer.
$endgroup$
– MarcoB
4 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, aParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- theHead
of these objects doesn't tell you that they are "graphics objects"!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
Use arc3D[[1]]
(which contains all the graphics primitives and their styles) as the first argument of GeometricTransformation
:
arc3D = ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}]
Show[arc3D,
Graphics3D[GeometricTransformation[arc3D[[1]], shiftAndDilate3D] /. l_Line :> {Orange, l}],
PlotRange -> All]
$endgroup$
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
@murray, forgot a comma beforePlotRange
(fixed now).
$endgroup$
– kglr
4 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "387"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192809%2faffine-transformation-of-circular-arc-in-3d%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
You could work with regions instead. Your arc:
arc = ParametricRegion[{Cos[t], 0, Sin[t]}, {{t, 0, [Pi]/2}}];
The transformed arc:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}];
new = TransformedRegion[arc, shiftAndDilate3D];
Visualization:
Show[
Region[arc, BaseStyle->Red],
Region[new, BaseStyle->Blue],
Axes->True
]
$endgroup$
$begingroup$
How should one know from the Mathematica documentation thatParametricRegion
is a "region" suitable for the 1st argument toTransformedRegion
? (The documentation involvingGeometricTransformatino
,Region
, etc., is sadly deficient. As withImage
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)
$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of theBaseStyle
option ofRegion
instead of the usualPlotStyle
option ofParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of aParametricRegion
expression with aRegion
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.
$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why doesParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereasParametricPlot3D
uses the parameter information as a list, then another list, etc.?
$endgroup$
– murray
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.
$endgroup$
– Carl Woll
1 hour ago
|
show 2 more comments
$begingroup$
You could work with regions instead. Your arc:
arc = ParametricRegion[{Cos[t], 0, Sin[t]}, {{t, 0, [Pi]/2}}];
The transformed arc:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}];
new = TransformedRegion[arc, shiftAndDilate3D];
Visualization:
Show[
Region[arc, BaseStyle->Red],
Region[new, BaseStyle->Blue],
Axes->True
]
$endgroup$
$begingroup$
How should one know from the Mathematica documentation thatParametricRegion
is a "region" suitable for the 1st argument toTransformedRegion
? (The documentation involvingGeometricTransformatino
,Region
, etc., is sadly deficient. As withImage
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)
$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of theBaseStyle
option ofRegion
instead of the usualPlotStyle
option ofParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of aParametricRegion
expression with aRegion
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.
$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why doesParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereasParametricPlot3D
uses the parameter information as a list, then another list, etc.?
$endgroup$
– murray
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.
$endgroup$
– Carl Woll
1 hour ago
|
show 2 more comments
$begingroup$
You could work with regions instead. Your arc:
arc = ParametricRegion[{Cos[t], 0, Sin[t]}, {{t, 0, [Pi]/2}}];
The transformed arc:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}];
new = TransformedRegion[arc, shiftAndDilate3D];
Visualization:
Show[
Region[arc, BaseStyle->Red],
Region[new, BaseStyle->Blue],
Axes->True
]
$endgroup$
You could work with regions instead. Your arc:
arc = ParametricRegion[{Cos[t], 0, Sin[t]}, {{t, 0, [Pi]/2}}];
The transformed arc:
shiftAndDilate3D = AffineTransform[{2 IdentityMatrix[3], {3, 0, 0}}];
new = TransformedRegion[arc, shiftAndDilate3D];
Visualization:
Show[
Region[arc, BaseStyle->Red],
Region[new, BaseStyle->Blue],
Axes->True
]
answered 5 hours ago
Carl WollCarl Woll
69.4k393179
69.4k393179
$begingroup$
How should one know from the Mathematica documentation thatParametricRegion
is a "region" suitable for the 1st argument toTransformedRegion
? (The documentation involvingGeometricTransformatino
,Region
, etc., is sadly deficient. As withImage
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)
$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of theBaseStyle
option ofRegion
instead of the usualPlotStyle
option ofParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of aParametricRegion
expression with aRegion
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.
$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why doesParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereasParametricPlot3D
uses the parameter information as a list, then another list, etc.?
$endgroup$
– murray
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.
$endgroup$
– Carl Woll
1 hour ago
|
show 2 more comments
$begingroup$
How should one know from the Mathematica documentation thatParametricRegion
is a "region" suitable for the 1st argument toTransformedRegion
? (The documentation involvingGeometricTransformatino
,Region
, etc., is sadly deficient. As withImage
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)
$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of theBaseStyle
option ofRegion
instead of the usualPlotStyle
option ofParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of aParametricRegion
expression with aRegion
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.
$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why doesParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereasParametricPlot3D
uses the parameter information as a list, then another list, etc.?
$endgroup$
– murray
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.
$endgroup$
– Carl Woll
1 hour ago
$begingroup$
How should one know from the Mathematica documentation that
ParametricRegion
is a "region" suitable for the 1st argument to TransformedRegion
? (The documentation involving GeometricTransformatino
, Region
, etc., is sadly deficient. As with Image
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)$endgroup$
– murray
2 hours ago
$begingroup$
How should one know from the Mathematica documentation that
ParametricRegion
is a "region" suitable for the 1st argument to TransformedRegion
? (The documentation involving GeometricTransformatino
, Region
, etc., is sadly deficient. As with Image
, these things seem to have been thrown into Mathematica without sufficient exposition, or perhaps even without sufficient coherence for the various kinds of things, on the one hand, and sufficient distinctions among them, on the other hand.)$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
On the one hand, I like this answer better than the others because it is more direct. On the other hand, it uses yet a different type of object, namely, a "region".
$endgroup$
– murray
2 hours ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of the
BaseStyle
option of Region
instead of the usual PlotStyle
option of ParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of a ParametricRegion
expression with a Region
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.$endgroup$
– murray
1 hour ago
$begingroup$
But I'm annoyed by the different method to style the resulting graphics display, namely, through use of the
BaseStyle
option of Region
instead of the usual PlotStyle
option of ParametricPlot3D
and so many other graphics and graphics 3D functions. Moreover, why should it be necessary to wrap the result of a ParametricRegion
expression with a Region
? Either there's something fundamental here I don't understand, or else a whole slew of graphics-like or geometric-like constructs have been thrown into recent versions of Mathematica without sufficient rationalization of the whole domain.$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why does
ParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereas ParametricPlot3D
uses the parameter information as a list, then another list, etc.?$endgroup$
– murray
1 hour ago
$begingroup$
Further rant: Why does
ParametricRegion
take as 2nd argument a list of lists (of parameters and their extent), whereas ParametricPlot3D
uses the parameter information as a list, then another list, etc.?$endgroup$
– murray
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,
ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.$endgroup$
– Carl Woll
1 hour ago
$begingroup$
@murray Lots of questions. For a brief overview of regions, see reference.wolfram.com/language/guide/GeometricComputation. Basically, a region is a computable object. Region is a function that displays the object (similar to RegionPlot). Show converts a region object to a Graphics/Graphics3D object. ParametricRegion has a different syntax because it supports arguments without bounds, e.g.,
ParametricRegion[{Cos[t], 0, Sin[t]}, t]
.$endgroup$
– Carl Woll
1 hour ago
|
show 2 more comments
$begingroup$
You cannot apply those geometric transformations to the results of the plotting; instead, you should apply them to a Graphics
primitive, e.g. the Line
object generated by ParametricPlot
, which you can extract using e.g. Cases
:
arcLine =
First@Cases[ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}], _Line, All]
Graphics3D[{
Red, arcLine,
Blue, GeometricTransformation[arcLine, shiftAndDilate3D]
}]
In red in the plot above is your original curve, in blue the transformed one.
$endgroup$
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "Graphics
primitive", such as those discussed in this guide:Graphics
objects. I fixed it in the answer.
$endgroup$
– MarcoB
4 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, aParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- theHead
of these objects doesn't tell you that they are "graphics objects"!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
You cannot apply those geometric transformations to the results of the plotting; instead, you should apply them to a Graphics
primitive, e.g. the Line
object generated by ParametricPlot
, which you can extract using e.g. Cases
:
arcLine =
First@Cases[ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}], _Line, All]
Graphics3D[{
Red, arcLine,
Blue, GeometricTransformation[arcLine, shiftAndDilate3D]
}]
In red in the plot above is your original curve, in blue the transformed one.
$endgroup$
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "Graphics
primitive", such as those discussed in this guide:Graphics
objects. I fixed it in the answer.
$endgroup$
– MarcoB
4 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, aParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- theHead
of these objects doesn't tell you that they are "graphics objects"!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
You cannot apply those geometric transformations to the results of the plotting; instead, you should apply them to a Graphics
primitive, e.g. the Line
object generated by ParametricPlot
, which you can extract using e.g. Cases
:
arcLine =
First@Cases[ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}], _Line, All]
Graphics3D[{
Red, arcLine,
Blue, GeometricTransformation[arcLine, shiftAndDilate3D]
}]
In red in the plot above is your original curve, in blue the transformed one.
$endgroup$
You cannot apply those geometric transformations to the results of the plotting; instead, you should apply them to a Graphics
primitive, e.g. the Line
object generated by ParametricPlot
, which you can extract using e.g. Cases
:
arcLine =
First@Cases[ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}], _Line, All]
Graphics3D[{
Red, arcLine,
Blue, GeometricTransformation[arcLine, shiftAndDilate3D]
}]
In red in the plot above is your original curve, in blue the transformed one.
edited 4 hours ago
answered 5 hours ago
MarcoBMarcoB
36.9k556113
36.9k556113
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "Graphics
primitive", such as those discussed in this guide:Graphics
objects. I fixed it in the answer.
$endgroup$
– MarcoB
4 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, aParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- theHead
of these objects doesn't tell you that they are "graphics objects"!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "Graphics
primitive", such as those discussed in this guide:Graphics
objects. I fixed it in the answer.
$endgroup$
– MarcoB
4 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, aParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- theHead
of these objects doesn't tell you that they are "graphics objects"!
$endgroup$
– murray
2 hours ago
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
Where in the documentation does it explain what is, and what is not, a "geometric object"?
$endgroup$
– murray
5 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "
Graphics
primitive", such as those discussed in this guide: Graphics
objects. I fixed it in the answer.$endgroup$
– MarcoB
4 hours ago
$begingroup$
@murray I was being loose with words there. I really meant a "
Graphics
primitive", such as those discussed in this guide: Graphics
objects. I fixed it in the answer.$endgroup$
– MarcoB
4 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, a
ParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- the Head
of these objects doesn't tell you that they are "graphics objects"!$endgroup$
– murray
2 hours ago
$begingroup$
Alas, the doc page guide/GraphicsObjects does not fully identify or clarify what is, and what is not, a "graphics object". For example, given the answer by Carl Woll to my question, a
ParametricRegion
seems to qualify as such an object, yet is not listed on that guide page. So the documentation list of graphics objects doesn't specify what they are, and certainly -- and this is perhaps a real design defect -- the Head
of these objects doesn't tell you that they are "graphics objects"!$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
Use arc3D[[1]]
(which contains all the graphics primitives and their styles) as the first argument of GeometricTransformation
:
arc3D = ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}]
Show[arc3D,
Graphics3D[GeometricTransformation[arc3D[[1]], shiftAndDilate3D] /. l_Line :> {Orange, l}],
PlotRange -> All]
$endgroup$
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
@murray, forgot a comma beforePlotRange
(fixed now).
$endgroup$
– kglr
4 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
Use arc3D[[1]]
(which contains all the graphics primitives and their styles) as the first argument of GeometricTransformation
:
arc3D = ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}]
Show[arc3D,
Graphics3D[GeometricTransformation[arc3D[[1]], shiftAndDilate3D] /. l_Line :> {Orange, l}],
PlotRange -> All]
$endgroup$
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
@murray, forgot a comma beforePlotRange
(fixed now).
$endgroup$
– kglr
4 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
Use arc3D[[1]]
(which contains all the graphics primitives and their styles) as the first argument of GeometricTransformation
:
arc3D = ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}]
Show[arc3D,
Graphics3D[GeometricTransformation[arc3D[[1]], shiftAndDilate3D] /. l_Line :> {Orange, l}],
PlotRange -> All]
$endgroup$
Use arc3D[[1]]
(which contains all the graphics primitives and their styles) as the first argument of GeometricTransformation
:
arc3D = ParametricPlot3D[{Cos[t], 0, Sin[t]}, {t, 0, π/2}]
Show[arc3D,
Graphics3D[GeometricTransformation[arc3D[[1]], shiftAndDilate3D] /. l_Line :> {Orange, l}],
PlotRange -> All]
edited 4 hours ago
answered 5 hours ago
kglrkglr
187k10203421
187k10203421
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
@murray, forgot a comma beforePlotRange
(fixed now).
$endgroup$
– kglr
4 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
add a comment |
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
@murray, forgot a comma beforePlotRange
(fixed now).
$endgroup$
– kglr
4 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
I cannot reproduce that. Rather, I get an error message: "An improperly formatted option was encountered while reading a Graphics3DBox. The left-hand side of the option was not a symbol or string."
$endgroup$
– murray
4 hours ago
$begingroup$
@murray, forgot a comma before
PlotRange
(fixed now).$endgroup$
– kglr
4 hours ago
$begingroup$
@murray, forgot a comma before
PlotRange
(fixed now).$endgroup$
– kglr
4 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
$begingroup$
Sorry, I should have caught that!
$endgroup$
– murray
2 hours ago
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192809%2faffine-transformation-of-circular-arc-in-3d%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown