LEGO dimmensjoner og geometri

Hei folkens,
Dette kan jo bli en interessant tråd for flere som liker å lage rare vinkler og snotter en del (SNOT = Studs Not On Top = bygger sideveis).

Her er en interessant side som tar for seg dimensjonene på en LEGO brikke og hullene på Technic brikker:
brickgun.com/Dimensions/Bric … uides.html

Jeg er ute etter løsningen på en spesifikk utfordring nå og klarer ikke å vri mattematikk-hodet i rett vinkel for å få dette til :confused: :
Sett at man tar en høøøy stabel med [part=3700]1x2 Technic Bricks med 1 hull[/part] (la oss si over 50 stk). Legger dem så med flatsida med hullet ned mot en baseplate. Da vil jo hullene i hver av disse Technic Brickene treffe overens med en stud i baseplata ved hver sjette brikke. Så langt så greit…

Men så ønsker jeg å vri denne stabelen med brikker i 45 grader. Ved hvilket intervall treffer disse brikkene nå en stud? Og hva om man blander inn plater her for å “justere” den Technic Bricken slik at den treffer, da er jo sannsynligheten for at den treffer med kortere avstand. Hvordan kan man regne ut dette??

Stud’ene på baseplata er fast og kan ikke justeres (jo jeg vet om jumperplates, men det fungerer ikke i mitt tilfelle. Jeg har belagt ett fortau på en baseplate med tiles. Så skal jeg SNOT-bygge en lang vegg som skal ligge 45 grader på rekkene med studs på baseplata. Tanken var å sette en 1x1 plate ved strategiske plasser som passer overens med hullet i en 1x2 technic brick ett eller annet sted langs veggen.

Eller hva med andre vinkler? Har en annen vegg hvor jeg skal gjøre det samme men der er vinkelen flatere.

Basert på de måleenhetene som var referert på en av de siste sidene i PDFen du linka til så kan man regne ut avstanden mellom hver stud diagonalt. Pythagoras’ læresetning om rettvinklet trekant hvor sidene er representert ved a, b og c gir følgende formel for å finne lengden på en side dersom man kjenner to av disse: a^2 + b^2 = c^2
Avstanden mellom to studs var i dette tilfellet 20, både i lengde og bredde (a og b).
Diagonalen (45 grader) blir da c. c = kvadratroten av 400 + 400 = 28,28427124…
Sett i forhold til høyden på en plate som i dette tilfellet er 8, så kan man lage en tabell hvor man ser når 8 og 28,28427124… går opp i hverandre. Siden diagonalen ikke er et helt tall vil vi ikke få det til å gå opp 100 % men Lego er jo til en viss grad tøyelig og man kan unngå å sette brikkene helt sammen for å lettere oppnå ønsket avstand mellom studs.
Tabellen blir ca slik:
Plate _____ Diagonal stud
8
16
24 ____ 28,28
32
40
48
56 ____ 56,56
64
72
80
88 ____ 84,85
96
104
112 ____ 113,14
120
128
136
144 ____ 141,42
152
160
168 ____ 169,70
176
184
192
200 ____ 197,99
Du vil etter hvert se at det treffer mer eller mindre bra, men aldri helt perfekt. Etter 60 plates (20 brikker) går det også ganske bra opp.
480 ____ 480,83

Uten at jeg har testet dette i praksis så vil jeg tro at man kan legge inn 7 plates avstand mellom hvert hull og få det til å fungere tilfredsstillende til ditt formål.

Ta en titt i kapittel 6 her:
joncraton.org/media/files/Unoffi … sGuide.pdf

Kanskje dette kan hjelpe deg på veien?

Den hjalp meg ikke noe, men var likevel en veldig interessant artikkel som passer til topic jeg hadde satt på tråden. PDF’en er herved lagret :slight_smile:

Jeg løste utfordringen på følgende måte:

  1. Brukte rett å slett ett tegneprogram (Gimp) og lastet inn ett bilde av en baseplate og brukte den som “bakgrunn” (lastet ned bildet fra Brickgun web-siden).
  2. La til ett nytt lag (layers) med en stabel med 1x2 Technic brikker (også lastet ned fra Brickgun) og satte gjennomsiktighet på dette laget til 50% slik at jeg kunne se bakgrunnen igjennom dette laget.
  3. Justerte inn laget slik at jeg så knottene i bakgrunnen igjennom hullene på Technic brikkene (trengte ikke skalere da de var i samme skala fra den websiden).
  4. Roterte laget 45 grader og flyttet dem slik at den i enden av stabelen traff på en stud.
  5. Deretter var det bare å telle knotter og se når de hullene kom overens med en stud i baseplata.

Fant ut at etter syv Technic brikker var hullene nesten overens, men var ett lite avvik. Men etter 13 Technic brikker var det omtrent ingen avvik.
Det vil si at 13 Technic brikker i stabel så traff jeg etter 11 stud vertikalt og 11 stud horisontalt på baseplata.

På den andre veggen hadde jeg en vegg som var 4 stud inn og 1 stud ned. Vinkelen blir da invers tangens = Vertikal kateter/Horisontal katerer = 1/4 som gir meg en vinkel på 14,0362 grader.
Laget så ett nytt lag i Gimp programmet og kopierte inn en ny stabel med 1x2 technic brikker og gjorde samme som den over bare at jeg roterte 14,03 grader. Men nå måtte jeg helt til 24 klosser før jeg traff på en stud som faktisk var en del off, men nærme nok til at kunne gjøre ett forsøk. Ser det var flere andre studs som var korrekt linje og kunne kanskje fått hullet i technic brikken justert inn til en stud ved å bruke noen plater i mellom technic brikkene. Men dette holdt for min del.

Det vil aldri gå nøyaktig opp, da du i praksis prøver å finne to heltall m og n slik at:

n6/5 = m√2

som ikke er mulig.
Med n = antall klosser (bare en av klossene som festes til platen teller med)
og m = antall studs til siden og opp (dvs. m = 7 → de to punktene er i hvert sitt hjørne av en 8x8 plate.)

Satte opp en tabell (med n og m fra 1 til 30) over avviket i et excel ark og fant to best passende kombinasjonene:

13 bricks og 11 studs (som du allerede fant) med avvik -0,04365 studs.
20 bricks og 17 studs med avvik 0,04163 studs.

Negativ vil si at klossene er lengre en platen og positiv det motsatte, med konsekvensene av det.

Håper det hjelper :slight_smile:

Jeg viste jo at det aldri ville gå helt 100% opp, men litt avvik tåles spesielt om avviket er lite. Så er det bare å finne frem til minste avvik i tabellen.

Rokreder: ser ut som du iallefall har matematikken på plass og klarte å forklare den på en vettug måte. Noe som gjør at man kan bruke denne metoden til å finne andre vinkler også.

Men hva når man begynner å blande inn plater i dette. Regnestykket over var vel for hele brikker stablet oppå hverandre, men man kan jo putte inn en plate her og få flere alternativer. Jeg så jo blant annet når jeg laget den tegningen at det var flere studs som var på rett rettning, men var usikker på om de ville ha truffet om man hadde lagt inn en plate eller to.

Endret det, og får noen fine resultater. Men det fikk meg til å innse et problem…

Hvis man har en lang vegg som skal ha en 45 graders vinkel men velger en kombinasjon som gir en kort vegg og gjentar denne mange ganger etter hverandre for å få hele lengden, vil også avviket øke hver gang.
Slik kan det være at fordel med større stykker med større avvik gjentatt færre ganger.
(Var det forståelig? :/)

Burde vært mulig å beregne en optimal kombinasjon, skal prøve på det.

Må du gjenta de samme elementene hver gang?

Ja, det var forståelig. Avviket vil akkumuleres jo lengre ut du kommer fra startpunktet. Så det er klart at selv om det passet greit etter 7 brikker så trenger det ikke å passe lengre etter 21 eller 28 brikker som da er 3* og 4* den 7 brikkeveggen fra startpunktet. Det var jo derfor jeg lurte på om plater kunne fikse dette da man har steg på 1/3 av en brikke for justering. Noe som skulle tilsi at man ved enkelte andre vinkler har større sannsynlighet for at du likevel vil finne ett sted langs veggen der technic-hullene ville gå opp.

Man må jo ikke det. Sånn sett kan man jo kombinere f.eks.

og få en vegg på 33 bricks som spenner 28x28 studs og som er festet til platen på 3 punkter. Avviket mellom ytterpunktene vil kun være -0,00202 mens den i midten vil ha avvikene nevnt over. Det er sannsynligvis innenfor, siden 0,04 studs kun er et avvik på 1/3 millimeter. (Tilsvarende er 0,002 studs 16 mikrometer.)

Legger vi til plates øker vi nøyaktigheten betraktelig. Eksempelvis har vi at 53 plates (17 klosser + 2 plates) vil spenne 15x15 med et avvik på 0,01320 studs, 0,1 millimeter, tilsvarende et gjennomsnittlig gap mellom klossene på 6 mikrometer. Denne passet såpass godt at LDD aksepterte det uten en eneste klage. Mer nøyaktig en dette tror jeg ikke vi trenger å gå.

Det burde være mulig å generalisere metoden for en hvilken som helst vinkel.

EDIT: Bygget akkurat det som er vist i bildet og det passer perfekt :slight_smile:

Rokreder: kan du ikke beskrive hvordan du kommer frem til disse tallene slik at andre også kan regne dette ut ved andre vinkler?

Det skulle vel være forholdsvis enkelt:
Kvadratet av hypotenusen er lik summen av kvadratet av hver av katetene.

Eller roten av ((knotter i den ene retningen opphøyd i andre) + (knotter i den andre retningen opphøyd i andre)) gir diagonalen i knotter. Gang med 2,5, og du får antall plater.

Eller fyll ett regneark med heltall i kolonne A og rad 1, og denne formelen i resten av cellene:
=ROT((B$1B$1)+($A2$A2))*2,5

Tallet før komma viser hvor mange plater du trenger (rund av opp), tallet etter komma hvor mye du bommer.

Husk at det er enkelt å få til halve plater, det er bare å bruke et odde antall brikker.

Herman har rett, men det er ikke helt slik jeg løste det.

Pythagoras teorem med α = 45° medfører at a = b slik at det forenkles til c = a√(2)

Vi prøver å finne en tilnærming av denne lengden c ved å stable plater. Om a og c er i studs (avstand fra sentrum av en stud til den neste) har en plate høyden 2/5 stud. en stabel av n plates har høyde n*2/5

Vi vil at disse to skal ha lik lengde med to heltall n og a.
n2/5 = a√2

Da dette ikke er mulig, skrev jeg om formelen slik at for hvert valg av a og n får vi et avvik:

a√2 - n2/5 = avvik

Vi ønsker at dette skal bli så nærme 0 som mulig.
Dette satte jeg inn i et excel dokument med tallverdier for c bortover og n nedover. Se bilde. Formelen i den markerte cellen er
=B$1ROT(2)-$A22/5

Så er det bare å finne celler som er har en verdi nærme 0. (Brukte også en funksjon som fargelegger cellene ut fra verdi for å gjøre dette lettere. Rødt: diagonalen står under spenn, Hvit: diagonalen passer godt, Grønt: diagonalen rekker ikke frem)
Leter i de hvite cellene etter verdier som er nærme 0 og helst på den grønne siden. (dvs. litt positive)

Burde være rimelig greit å sette inn et annet uttrykk for hypotenusen i trekanten for å finne det som passer for en annen vinkel.
Jeg skal gjøre regnearket litt mer fleksibelt nå slik at man kan oppgi vinkel/forhold mellom a og b og derav generere tabellen.

Her er excel dokumentet. Bruken burde være grei, fyll inn a og b i de hvite boksene og alt beregnes derav.
Bildet viser hva de andre tallene står for. (Skaler om det er vanskelig å se)

Fungerer ikke med jumperplates e.l, a og b må være heltall.

Si ifra om det er spørsmål/feil :slight_smile:

Hva er GCD? Greatest Common Divisor?
Finnes det noe tilsvarende på norsk versjon av MS Excel? (Har versjon MS Office Excel 2003).
Får en feilmelding på den GCD funksjonen.

Forsøk med SFF istedenfor GCD.

http://www.piuha.fi/excel-function-name-translation/index.php?page=norsk-english.html

Den heter SFF på norsk. (største felles faktor)
Merkelig at den oversatte det, siden min excel også er norsk og jeg brukte SFF og ikke GCD.

Se om det fikser problemet :slight_smile:

EDIT: Altså det LegoFjotten sa.

EDIT 2: “This formula requires that the Analysis ToolPak be installed, in Excel 2003 and earlier versions.”
Det virker som om denne funksjonen ikke fantes i Excel 2003.

Hotfix: Celle B2 og B4 settes til henholdsvis =A2 og =A4 [I steden for =A2/SFF(A2;A4;) og =A4/SFF(A2;A4;)]
Den vil nå ikke selv finne den minste trekanten som har denne vinkelen (minste gule punkt i figur). Oppgi derfor a = 1, b = 2 for å få samme resultat som a = 4, b = 8 ellers ville gitt.

Det hjalp å installere den Analysis Toolpack saken. For meg med MS Excel 2003 på Norsk gikk jeg inn i “Verktøy” - “Tillegg…” og så krysset jeg av for analyseverktøy. Restartet Excel og så fungerte det :slight_smile:

Takker Rokreder! Detta var knall!!

Morsomt å lese og følge med her :slight_smile: takk :slight_smile:

smarte folk her i BL :slight_smile: