Concise way to draw this pyramidRestricted accumulation of valuesElegant way to handle columns operationsBreaking down a 3D model into patchesLooking for a way to insert multiple elements into multiple positions simultaneously in a listConcise way to generate multiset listsSeek a quick way to bring standard order back to original after ComplementMore elegant wayHow to Fold (FoldList) this in a more compact (efficient) way?Nearest numbers in the listBest way to draw personalized bloch sphere on mathematica
How to remove multiple elements from Set/Map AND knowing which ones were removed?
100-doors puzzle
Sakkāya-Ditthi and Self-View
Arcane Tradition and Cost Efficiency: Learn spells on level-up, or learn them from scrolls/spellbooks?
Can I appeal credit ding if ex-wife is responsible for paying mortgage?
Is there a term for someone whose preferred policies are a mix of Left and Right?
Can Dive Down protect a creature against Pacifism?
How did Avada Kedavra get its name?
Will users know a CardView is clickable
Why can't we feel the Earth's revolution?
Should I move out from my current apartment before the contract ends to save more money?
Can artificial satellite positions affect tides?
Idiom for 'person who gets violent when drunk"
How did the European Union reach the figure of 3% as a maximum allowed deficit?
Does anyone recognize these rockets, and their location?
At zero velocity, is this object neither speeding up nor slowing down?
How to address players struggling with simple controls?
What is the difference between state-based effects and effects on the stack?
Are there any rules for identifying what spell an opponent is casting?
Having some issue with notation in a Hilbert space
The title "Mord mit Aussicht" explained
Threading data on TimeSeries
How to ask if I can mow my neighbor's lawn
Should I email my professor to clear up a (possibly very irrelevant) awkward misunderstanding?
Concise way to draw this pyramid
Restricted accumulation of valuesElegant way to handle columns operationsBreaking down a 3D model into patchesLooking for a way to insert multiple elements into multiple positions simultaneously in a listConcise way to generate multiset listsSeek a quick way to bring standard order back to original after ComplementMore elegant wayHow to Fold (FoldList) this in a more compact (efficient) way?Nearest numbers in the listBest way to draw personalized bloch sphere on mathematica
$begingroup$
I wrote the following to draw a pyramid, this approach uses functions TranslationTransform
and Tuples
, is there a way to do the same thing more concise? Maybe Table
, Nest
, ArrayPad
is useful.
cubes =
c1 = Cuboid[],
TranslationTransform[##, -1][c1] & @@@ Tuples[-1, 1/2, 2],
TranslationTransform[##, -2][c1] & @@@ Tuples[-1, 0, 1, 2],
TranslationTransform[##, -3][c1] & @@@ Tuples[-3, -1, 1, 3/2, 2],
TranslationTransform[##, -4][c1] & @@@ Tuples[-2, -1, 0, 1, 2, 2]
;
Graphics3D[cubes]
Thank you all.
list-manipulation graphics3d code-review
$endgroup$
add a comment |
$begingroup$
I wrote the following to draw a pyramid, this approach uses functions TranslationTransform
and Tuples
, is there a way to do the same thing more concise? Maybe Table
, Nest
, ArrayPad
is useful.
cubes =
c1 = Cuboid[],
TranslationTransform[##, -1][c1] & @@@ Tuples[-1, 1/2, 2],
TranslationTransform[##, -2][c1] & @@@ Tuples[-1, 0, 1, 2],
TranslationTransform[##, -3][c1] & @@@ Tuples[-3, -1, 1, 3/2, 2],
TranslationTransform[##, -4][c1] & @@@ Tuples[-2, -1, 0, 1, 2, 2]
;
Graphics3D[cubes]
Thank you all.
list-manipulation graphics3d code-review
$endgroup$
$begingroup$
Please don't include the answer in your question -- post it as an answer, instead.
$endgroup$
– David Richerby
May 30 at 18:21
$begingroup$
@DavidRicherby All right.
$endgroup$
– mathe
May 31 at 2:22
add a comment |
$begingroup$
I wrote the following to draw a pyramid, this approach uses functions TranslationTransform
and Tuples
, is there a way to do the same thing more concise? Maybe Table
, Nest
, ArrayPad
is useful.
cubes =
c1 = Cuboid[],
TranslationTransform[##, -1][c1] & @@@ Tuples[-1, 1/2, 2],
TranslationTransform[##, -2][c1] & @@@ Tuples[-1, 0, 1, 2],
TranslationTransform[##, -3][c1] & @@@ Tuples[-3, -1, 1, 3/2, 2],
TranslationTransform[##, -4][c1] & @@@ Tuples[-2, -1, 0, 1, 2, 2]
;
Graphics3D[cubes]
Thank you all.
list-manipulation graphics3d code-review
$endgroup$
I wrote the following to draw a pyramid, this approach uses functions TranslationTransform
and Tuples
, is there a way to do the same thing more concise? Maybe Table
, Nest
, ArrayPad
is useful.
cubes =
c1 = Cuboid[],
TranslationTransform[##, -1][c1] & @@@ Tuples[-1, 1/2, 2],
TranslationTransform[##, -2][c1] & @@@ Tuples[-1, 0, 1, 2],
TranslationTransform[##, -3][c1] & @@@ Tuples[-3, -1, 1, 3/2, 2],
TranslationTransform[##, -4][c1] & @@@ Tuples[-2, -1, 0, 1, 2, 2]
;
Graphics3D[cubes]
Thank you all.
list-manipulation graphics3d code-review
list-manipulation graphics3d code-review
edited May 31 at 2:12
mathe
asked May 30 at 9:41
mathemathe
2,80411846
2,80411846
$begingroup$
Please don't include the answer in your question -- post it as an answer, instead.
$endgroup$
– David Richerby
May 30 at 18:21
$begingroup$
@DavidRicherby All right.
$endgroup$
– mathe
May 31 at 2:22
add a comment |
$begingroup$
Please don't include the answer in your question -- post it as an answer, instead.
$endgroup$
– David Richerby
May 30 at 18:21
$begingroup$
@DavidRicherby All right.
$endgroup$
– mathe
May 31 at 2:22
$begingroup$
Please don't include the answer in your question -- post it as an answer, instead.
$endgroup$
– David Richerby
May 30 at 18:21
$begingroup$
Please don't include the answer in your question -- post it as an answer, instead.
$endgroup$
– David Richerby
May 30 at 18:21
$begingroup$
@DavidRicherby All right.
$endgroup$
– mathe
May 31 at 2:22
$begingroup$
@DavidRicherby All right.
$endgroup$
– mathe
May 31 at 2:22
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
n = 5;
Graphics3D[Table[Cuboid[#[[1]], #[[2]], -i] & /@ Tuples[Range[-i/2, i/2], 2],
i, 0, n - 1]]
A more concise version (thanks: Vitaliy Kaurov):
Graphics3D[Table[Cuboid[#, #2, -i] & @@@ Tuples[Range[-i/2, i/2], 2], i, 0, n - 1]]
$endgroup$
2
$begingroup$
NIce +1 ! For code-golf i'd pack this asGraphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.
$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
add a comment |
$begingroup$
Inspired by @kglr, now I got another simpler way
Graphics3D[Table[Cuboid[x,y,-z],z,0,4,y,-z/2,z/2,x,-z/2,z/2]]
or
Graphics3D[Table[Cuboid[x-z/2,y-z/2,-z],z,5,y,z,x,z]]
$endgroup$
add a comment |
$begingroup$
Not concise
n = 7;
Standardize[GraphEmbedding@GridGraph@#, Mean, 1&] & /@ Array[#,#&, n] //
Cuboid /@ Join@@MapIndexed[Append[#1, - First@#2 +.5]&, #, 2] & // Graphics3D
but fun to play with:
n = 20;
Standardize[ #(CycleGraph@#~GraphEmbedding~"CircularEmbedding"), Mean, 1&] & /@ Array[#&, n] //
Ball /@ Join@@MapIndexed[Append[#1, - 1.5 First@#2 +.5]&, #, 2] & // Graphics3D
$endgroup$
add a comment |
Your Answer
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%2f199380%2fconcise-way-to-draw-this-pyramid%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$
n = 5;
Graphics3D[Table[Cuboid[#[[1]], #[[2]], -i] & /@ Tuples[Range[-i/2, i/2], 2],
i, 0, n - 1]]
A more concise version (thanks: Vitaliy Kaurov):
Graphics3D[Table[Cuboid[#, #2, -i] & @@@ Tuples[Range[-i/2, i/2], 2], i, 0, n - 1]]
$endgroup$
2
$begingroup$
NIce +1 ! For code-golf i'd pack this asGraphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.
$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
add a comment |
$begingroup$
n = 5;
Graphics3D[Table[Cuboid[#[[1]], #[[2]], -i] & /@ Tuples[Range[-i/2, i/2], 2],
i, 0, n - 1]]
A more concise version (thanks: Vitaliy Kaurov):
Graphics3D[Table[Cuboid[#, #2, -i] & @@@ Tuples[Range[-i/2, i/2], 2], i, 0, n - 1]]
$endgroup$
2
$begingroup$
NIce +1 ! For code-golf i'd pack this asGraphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.
$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
add a comment |
$begingroup$
n = 5;
Graphics3D[Table[Cuboid[#[[1]], #[[2]], -i] & /@ Tuples[Range[-i/2, i/2], 2],
i, 0, n - 1]]
A more concise version (thanks: Vitaliy Kaurov):
Graphics3D[Table[Cuboid[#, #2, -i] & @@@ Tuples[Range[-i/2, i/2], 2], i, 0, n - 1]]
$endgroup$
n = 5;
Graphics3D[Table[Cuboid[#[[1]], #[[2]], -i] & /@ Tuples[Range[-i/2, i/2], 2],
i, 0, n - 1]]
A more concise version (thanks: Vitaliy Kaurov):
Graphics3D[Table[Cuboid[#, #2, -i] & @@@ Tuples[Range[-i/2, i/2], 2], i, 0, n - 1]]
edited May 30 at 11:57
answered May 30 at 9:53
kglrkglr
198k10223449
198k10223449
2
$begingroup$
NIce +1 ! For code-golf i'd pack this asGraphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.
$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
add a comment |
2
$begingroup$
NIce +1 ! For code-golf i'd pack this asGraphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.
$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
2
2
$begingroup$
NIce +1 ! For code-golf i'd pack this as
Graphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
NIce +1 ! For code-golf i'd pack this as
Graphics3D[Table[Cuboid[#1,#2,-i]&@@@Tuples[Range[-i,i]/2,2], i,0,4]]
;-) I deleted my answer, it was essentially the same.$endgroup$
– Vitaliy Kaurov
May 30 at 10:21
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
$begingroup$
Thank you @Vitaliy. Updated with you suggestion.
$endgroup$
– kglr
May 30 at 11:02
add a comment |
$begingroup$
Inspired by @kglr, now I got another simpler way
Graphics3D[Table[Cuboid[x,y,-z],z,0,4,y,-z/2,z/2,x,-z/2,z/2]]
or
Graphics3D[Table[Cuboid[x-z/2,y-z/2,-z],z,5,y,z,x,z]]
$endgroup$
add a comment |
$begingroup$
Inspired by @kglr, now I got another simpler way
Graphics3D[Table[Cuboid[x,y,-z],z,0,4,y,-z/2,z/2,x,-z/2,z/2]]
or
Graphics3D[Table[Cuboid[x-z/2,y-z/2,-z],z,5,y,z,x,z]]
$endgroup$
add a comment |
$begingroup$
Inspired by @kglr, now I got another simpler way
Graphics3D[Table[Cuboid[x,y,-z],z,0,4,y,-z/2,z/2,x,-z/2,z/2]]
or
Graphics3D[Table[Cuboid[x-z/2,y-z/2,-z],z,5,y,z,x,z]]
$endgroup$
Inspired by @kglr, now I got another simpler way
Graphics3D[Table[Cuboid[x,y,-z],z,0,4,y,-z/2,z/2,x,-z/2,z/2]]
or
Graphics3D[Table[Cuboid[x-z/2,y-z/2,-z],z,5,y,z,x,z]]
answered May 31 at 2:14
mathemathe
2,80411846
2,80411846
add a comment |
add a comment |
$begingroup$
Not concise
n = 7;
Standardize[GraphEmbedding@GridGraph@#, Mean, 1&] & /@ Array[#,#&, n] //
Cuboid /@ Join@@MapIndexed[Append[#1, - First@#2 +.5]&, #, 2] & // Graphics3D
but fun to play with:
n = 20;
Standardize[ #(CycleGraph@#~GraphEmbedding~"CircularEmbedding"), Mean, 1&] & /@ Array[#&, n] //
Ball /@ Join@@MapIndexed[Append[#1, - 1.5 First@#2 +.5]&, #, 2] & // Graphics3D
$endgroup$
add a comment |
$begingroup$
Not concise
n = 7;
Standardize[GraphEmbedding@GridGraph@#, Mean, 1&] & /@ Array[#,#&, n] //
Cuboid /@ Join@@MapIndexed[Append[#1, - First@#2 +.5]&, #, 2] & // Graphics3D
but fun to play with:
n = 20;
Standardize[ #(CycleGraph@#~GraphEmbedding~"CircularEmbedding"), Mean, 1&] & /@ Array[#&, n] //
Ball /@ Join@@MapIndexed[Append[#1, - 1.5 First@#2 +.5]&, #, 2] & // Graphics3D
$endgroup$
add a comment |
$begingroup$
Not concise
n = 7;
Standardize[GraphEmbedding@GridGraph@#, Mean, 1&] & /@ Array[#,#&, n] //
Cuboid /@ Join@@MapIndexed[Append[#1, - First@#2 +.5]&, #, 2] & // Graphics3D
but fun to play with:
n = 20;
Standardize[ #(CycleGraph@#~GraphEmbedding~"CircularEmbedding"), Mean, 1&] & /@ Array[#&, n] //
Ball /@ Join@@MapIndexed[Append[#1, - 1.5 First@#2 +.5]&, #, 2] & // Graphics3D
$endgroup$
Not concise
n = 7;
Standardize[GraphEmbedding@GridGraph@#, Mean, 1&] & /@ Array[#,#&, n] //
Cuboid /@ Join@@MapIndexed[Append[#1, - First@#2 +.5]&, #, 2] & // Graphics3D
but fun to play with:
n = 20;
Standardize[ #(CycleGraph@#~GraphEmbedding~"CircularEmbedding"), Mean, 1&] & /@ Array[#&, n] //
Ball /@ Join@@MapIndexed[Append[#1, - 1.5 First@#2 +.5]&, #, 2] & // Graphics3D
answered May 30 at 20:55
FortsaintFortsaint
850711
850711
add a comment |
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%2f199380%2fconcise-way-to-draw-this-pyramid%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
$begingroup$
Please don't include the answer in your question -- post it as an answer, instead.
$endgroup$
– David Richerby
May 30 at 18:21
$begingroup$
@DavidRicherby All right.
$endgroup$
– mathe
May 31 at 2:22