All pages
Powered by GitBook
1 of 1

Loading...

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ списки

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ большС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΈ углубимся Π² Π½Π°ΡˆΡƒ ΠΊΡ€ΠΎΠ»ΠΈΡ‡ΡŒΡŽ Π½ΠΎΡ€Ρƒ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ объСмной, Ρ‡Π΅ΠΌ простой Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ список списков. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами Π² Dynamo, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с практичСски Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ количСством ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.

Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΌΠ°Ρ‚Ρ€Π΅ΡˆΠΊΡƒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ список ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит нСсколько элСмСнтов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ список ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ собствСнными свойствами ΠΈ рассматриваСтся ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠœΠ°Ρ‚Ρ€Π΅ΡˆΠΊΠΈ

Набор ΠΌΠ°Ρ‚Ρ€Π΅ΡˆΠ΅ΠΊ (фотография прСдоставлСна Zeta) являСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… списков. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ слой прСдставляСт список, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ список содСрТит элСмСнты. Π’ Dynamo ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² (ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… элСмСнты ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ списка).

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ списки слоТно ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π΅ΡΡ‚ΡŒ нСсколько ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ со списками, число ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΄Π²Π°.

БопоставлСниС ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ

БопоставлСниС β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самый слоТный аспСкт управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Dynamo, особСнно ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ слоТных иСрархичСских структурах, состоящих ΠΈΠ· списков. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΌΡ‹ рассмотрим случаи, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сопоставлСниС ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свСдСния ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡƒΠ·Π»Π°ΠΌΠΈ List.Map ΠΈ List.Combine ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π­Ρ‚ΠΈ ΡƒΠ·Π»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со слоТной структурой Π΄Π°Π½Π½Ρ‹Ρ… Π² послСднСм ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅. Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ списки. ΠžΡΠ½ΠΎΠ²Ρ‹

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ссылку Π½ΠΈΠΆΠ΅.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ. ΠžΡ‚ упраТнСния ΠΊ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΡŽ структура Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒΡΡ.

  1. НачнСм с Ρ„Π°ΠΉΠ»Π° SAT, располоТСнного Π² ΠΏΠ°ΠΏΠΊΠ΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ для упраТнСния. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° File Path.

  2. Π£Π·Π΅Π» Geometry.ImportFromSAT ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ Π² Dynamo ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π΅ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΡ… повСрхностСй.

Для простоты Π² этом ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ.

  1. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, Π·Π°Π΄Π°ΠΉΡ‚Π΅ индСкс 1. Для этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡƒΠ·Π΅Π» List.GetItemAtIndex.

  2. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π² области ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Geometry.ImportFromSAT.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π² сСтку Ρ‚ΠΎΡ‡Π΅ΠΊ.

1. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° Code Block Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΄Π²Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки ΠΊΠΎΠ΄Π°: 0..1..#10; 0..1..#5;.

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠ·Π΅Π» Surface.PointAtParameter, соСдинитС Π΄Π²Π° значСния Code Block с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Β«uΒ» ΠΈ v. Π—Π°Π΄Π°ΠΉΡ‚Π΅ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠŸΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π΅Π½ΠΈΠ΅ этого ΡƒΠ·Π»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

3. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ… отобраТаСтся Π² области ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Dynamo.

Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ· послСднСго шага для создания дСсяти ΠΊΡ€ΠΈΠ²Ρ‹Ρ… вдоль повСрхности.

  1. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ…, соСдинитС ΡƒΠ·Π΅Π» NurbsCurve.ByPoints с ΠΏΠΎΡ€Ρ‚ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΠ·Π»Π° Surface.PointAtParameter.

  2. Для получСния Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π² ΡƒΠ·Π»Π΅ List.GetItemAtIndex.

  1. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΠ·Π΅Π» List.Transpose позволяСт ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами столбцы ΠΈ строки Π² спискС списков.

  2. ΠŸΡ€ΠΈ соСдинСнии ΠΏΠΎΡ€Ρ‚Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΠ·Π»Π° List.Transpose с ΡƒΠ·Π»ΠΎΠΌ NurbsCurve.ByPoints Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡΡ‚ΡŒ ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, ΠΈΠ΄ΡƒΡ‰ΠΈΡ… Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ вдоль повСрхности.

  3. Для получСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π² ΡƒΠ·Π»Π΅ NurbsCurve.ByPoints Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅. 2D-списки. Для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

УслоТним Π·Π°Π΄Π°Ρ‡Ρƒ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ дСйствиС с ΠΊΡ€ΠΈΠ²Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ. НапримСр, Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ эти ΠΊΡ€ΠΈΠ²Ρ‹Π΅ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΠΎΡ„Ρ‚ΠΈΠ½Π³ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ По сути, Π»ΠΎΠ³ΠΈΠΊΠ° остаСтся ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ, Π½ΠΎ Π·Π°Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со структурой Π΄Π°Π½Π½Ρ‹Ρ….

  1. НачнСм с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ Π²Π°ΠΌ ΠΏΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΡŽ. Π˜Π·ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° List.GetItemAtIndex.

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠ·Π΅Π» Surface.Offset, Π·Π°Π΄Π°ΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 10, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ.

  1. Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡƒΠ·Π΅Π» Code Block с двумя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ строками ΠΊΠΎΠ΄Π°: 0..1..#10; 0..1..#5;.

  2. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° этого ΡƒΠ·Π»Π° с двумя ΡƒΠ·Π»Π°ΠΌΠΈ Surface.PointAtParameter ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠŸΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Один ΠΈΠ· этих ΡƒΠ·Π»ΠΎΠ² соСдинСн с исходной ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” с ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ смСщСния.

  1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр этих повСрхностСй.

  2. Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ, соСдинитС ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° с двумя ΡƒΠ·Π»Π°ΠΌΠΈ NurbsCurve.ByPoints. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΡ€ΠΈΠ²Ρ‹Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²ΡƒΠΌ повСрхностям.

  1. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° List.Create ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π² ΠΎΠ΄ΠΈΠ½ список списков.

  2. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° списка с Π΄Π΅ΡΡΡ‚ΡŒΡŽ элСмСнтами, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставляСт собой связанный Π½Π°Π±ΠΎΡ€ NURBS-ΠΊΡ€ΠΈΠ²Ρ‹Ρ….

  3. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° Surface.ByLoft ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС этой структуры Π΄Π°Π½Π½Ρ‹Ρ…. Π£Π·Π΅Π» выполняСт Π»ΠΎΡ„Ρ‚ΠΈΠ½Π³ для всСх ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ спискС.

  1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр ΡƒΠ·Π»Π° Surface.ByLoft Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС.

  2. Как Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΡƒΠ·Π΅Π» List.Transpose позволяСт ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами столбцы ΠΈ строки Π² спискС списков. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ использования этого ΡƒΠ·Π»Π° Π΄Π²Π° списка ΠΈΠ· дСсяти ΠΊΡ€ΠΈΠ²Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Π΄Π΅ΡΡΡ‚ΡŒ списков ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΡ€ΠΈΠ²Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ каТдая NURBS-кривая связана с сосСднСй ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ повСрхности.

  3. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° Surface.ByLoft ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π΅Π±Π΅Ρ€Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.

Π”Π°Π»Π΅Π΅ дСмонстрируСтся Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ процСсс получСния этого Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

  1. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Surface.ByLoft Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹.

  2. ВмСсто ΡƒΠ·Π»Π° List.Transpose ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ·Π΅Π» List.Combine. Он выполняСт Ρ€ΠΎΠ»ΡŒ Β«ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π°Β» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка.

  3. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ List.Create Π² качСствС Β«ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π°Β» для создания списка ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списках.

  1. ВСрнСмся Π½Π° нСсколько шагов Π½Π°Π·Π°Π΄. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π² Ρ€Π΅Π±Π΅Ρ€Π½ΠΎΠΉ конструкции, ΡƒΠ·Π΅Π» List.Transpose слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎ соСдинСния с ΡƒΠ·Π»ΠΎΠΌ NurbsCurve.ByPoints. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ столбцы ΠΈ строки ΠΏΠΎΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅. Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ списки

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ этом ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠ±Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ повСрхности, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…. По сути, Π²Π°ΠΌ прСдстоит Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС дСйствиС, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Ρ‚ΠΎΠΉ ΠΆΠ΅ самой Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½Π΅Π΅.

ВСрнСмся ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ.

  1. Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ·Π΅Π» Surface.Offset, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния, Ρ€Π°Π²Π½ΠΎΠ΅ 10.

  2. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»Π° смСщСния ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ созданию Π΄Π²ΡƒΡ… повСрхностСй.

  1. Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡƒΠ·Π΅Π» Code Block с двумя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ строками ΠΊΠΎΠ΄Π°: 0..1..#20; 0..1..#20;.

  2. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° этого ΡƒΠ·Π»Π° с двумя ΡƒΠ·Π»Π°ΠΌΠΈ Surface.PointAtParameter ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«ΠŸΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π΅Π½ΠΈΠ΅Β» ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Один ΠΈΠ· этих ΡƒΠ·Π»ΠΎΠ² соСдинСн с исходными повСрхностями, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” с повСрхностями смСщСния.

  1. Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ, соСдинитС ΠΏΠΎΡ€Ρ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° с двумя ΡƒΠ·Π»Π°ΠΌΠΈ NurbsCurve.ByPoints.

  2. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠ·Π»Π° NurbsCurve.ByPoints ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой список, состоящий ΠΈΠ· Π΄Π²ΡƒΡ… списков, Ρ‡Ρ‚ΠΎ являСтся Π±ΠΎΠ»Π΅Π΅ слоТной структурой, Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ. Π”Π°Π½Π½Ρ‹Π΅ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ повСрхности, поэтому Π² структуру Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.

  3. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ структура Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡƒΠ·Π»Π΅ Surface.PointAtParameter стала Π±ΠΎΠ»Π΅Π΅ слоТной. Π’ Π½Π΅ΠΌ прСдставлСн список, состоящий ΠΈΠ· списков списков.

  1. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… повСрхностСй.

  2. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° List.Create ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ NURBS-ΠΊΡ€ΠΈΠ²Ρ‹Π΅ Π² ΠΎΠ΄Π½Ρƒ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список, состоящий ΠΈΠ· списков списков.

  3. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΡƒΠ·Π»Π° Surface.ByLoft ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ исходных повСрхностСй, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² собствСнном спискС Π² соотвСтствии с исходной структурой Π΄Π°Π½Π½Ρ‹Ρ….

  1. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ ΠΌΡ‹ использовали ΡƒΠ·Π΅Π» List.Transpose для создания Ρ€Π΅Π±Π΅Ρ€Π½ΠΎΠΉ конструкции. Π’ этом случаС данная функция Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ списками, Π½ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ списком, поэтому пСрСстановка столбцов ΠΈ строк Π½Π΅ сработаСт. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎ ΡƒΠ·Π΅Π» List.Transpose Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ пСрСстановку ΠΌΠ΅ΠΆΠ΄Ρƒ списками с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ списками, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ NURBS-ΠΊΡ€ΠΈΠ²Ρ‹Π΅ Π² списках Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½ΠΈΠΆΠ΅.

  1. Π’ этом случаС List.Combine являСтся Π±ΠΎΠ»Π΅Π΅ подходящим инструмСнтом. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΎΠ»Π΅Π΅ слоТными структурами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΠ·Π»Ρ‹ List.Map ΠΈ List.Combine.

  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ List.Create Π² качСствС Β«ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π°Β», создайтС структуру Π΄Π°Π½Π½Ρ‹Ρ…, которая Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для Π²Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ.

  1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… всС Π΅Ρ‰Π΅ трСбуСтся пСрСнСсти Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ·Π΅Π» List.Map. Π•Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΡƒΠ·Π»Ρƒ List.Combine, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ список Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Π΄Π²Π° ΠΈΠ»ΠΈ большС.

  2. К ΡƒΠ·Π»Ρƒ List.Map Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° функция List.Transpose, которая мСняСт мСстами столбцы ΠΈ строки Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков Π² Π³Π»Π°Π²Π½ΠΎΠΌ спискС.

  1. НаконСц, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π»ΠΎΡ„Ρ‚ΠΈΠ½Π³ ΠΌΠ΅ΠΆΠ΄Ρƒ NURBS-ΠΊΡ€ΠΈΠ²Ρ‹ΠΌΠΈ с использованиСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π±Π΅Ρ€Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.

  1. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ·Π»Π° Surface.Thicken с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

  1. Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, поэтому Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΠ·Π΅Π» Surface.ByLoft ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π² качСствС Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΡƒΠ·Π»Π° NurbsCurve.ByPoints ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ шага.

  2. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ экран, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр этих ΡƒΠ·Π»ΠΎΠ². Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΡƒΠ·Π΅Π» ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ снимитС Ρ„Π»Π°ΠΆΠΎΠΊ Β«ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  1. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… повСрхностСй.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π΅Ρ‡Ρ‚ΠΎ, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° слСгка нСустойчивоС крСсло-ΠΊΠ°Ρ‡Π°Π»ΠΊΡƒ. Π—Π°Ρ‚ΠΎ сколько Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΡˆΠ»ΠΎ Π½Π° Π΅Π³ΠΎ созданиС!

НаконСц, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΡ€ΠΎΠ·Π΄ΠΎΠΊ. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΡƒΠΆΠ΅ использовали Ρ€Π°Π½Π΅Π΅.

  1. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ·Π΅Π» List.Map с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ List.Transpose, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ NURBS-ΠΊΡ€ΠΈΠ²Ρ‹Ρ….

  1. Если трСбуСтся ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ количСство ΠΊΠ°Π½Π°Π²ΠΎΠΊ, Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠ·Π»Π° Code Block ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: 0..1..#20; 0..1..#30;.

Если пСрвая вСрсия крСсла-ΠΊΠ°Ρ‡Π°Π»ΠΊΠΈ Π±Ρ‹Π»Π° ΠΎΠ±Ρ‚Π΅ΠΊΠ°Π΅ΠΌΠΎΠΉ, Ρ‚ΠΎ вторая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° колСсо Π²Π½Π΅Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΈΠΊΠ°.

Π”ΠΎΠ±Π°Π²ΠΈΠ² ΡƒΠ·Π΅Π» Surface.ByLoft, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Π΅ ΠΆΠ΅ повСрхности, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΡƒΠ·Π΅Π» Transpose являСтся Π±ΠΎΠ»Π΅Π΅ простым Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ слоТной структурой Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ·Π΅Π» List.Combine.

33KB
n-Dimensional-Lists.zip
archive
Open
Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅